NIM PC Cross Platform SDK
载入中...
搜索中...
未找到
nim_chatroom::ChatRoom类 参考

聊天室 更多...

#include <nim_chatroom_cpp.h>

Public 类型

typedef std::function< void(const std::function< void()> &)> SDKClosure
 
typedef std::function< void(int64_t room_id, const NIMChatRoomEnterStep step, int error_code, const ChatRoomInfo &info, const ChatRoomMemberInfo &my_info)> EnterCallback
 登录回调, 如果错误码为kResRoomLocalNeedRequestAgain,聊天室重连机制结束,则需要向IM服务器重新请求进入该聊天室权限
 
typedef std::function< void(int64_t room_id, int error_code, NIMChatRoomExitReason exit_reason)> ExitCallback
 登出、被踢回调
 
typedef std::function< void(int64_t room_id, int error_code, const NIMChatRoomExitReasonInfo &exit_info)> ExitCallback_2
 登出、被踢回调
 
typedef std::function< void(int64_t room_id, int error_code, const ChatRoomMessage &result)> SendMsgAckCallback
 发送消息回执
 
typedef std::function< void(int64_t room_id, const ChatRoomMessage &result)> ReceiveMsgCallback
 接收消息回调
 
typedef std::function< void(int64_t room_id, const std::list< ChatRoomMessage > &result)> ReceiveMsgsCallback
 接收批量消息回调
 
typedef std::function< void(int64_t room_id, const ChatRoomNotification &notification)> NotificationCallback
 通知回调
 
typedef std::function< void(int64_t room_id, int error_code, const std::list< ChatRoomMemberInfo > &infos)> GetMembersCallback
 在线查询成员列表回调
 
typedef std::function< void(int64_t room_id, int error_code, uint64_t)> GetMembersCountByTagCallback
 在线查询成员列表回调
 
typedef std::function< void(int64_t room_id, int error_code, const std::list< ChatRoomMessage > &msgs)> GetMsgHistoryCallback
 在线查询消息历史回调
 
typedef std::function< void(int64_t room_id, int error_code, const ChatRoomMemberInfo &info)> SetMemberAttributeCallback
 设置成员身份标识回调
 
typedef std::function< void(int64_t room_id, int error_code, const ChatRoomInfo &info)> GetChatRoomInfoCallback
 获取当前聊天室信息回调
 
typedef std::function< void(int64_t room_id, int error_code)> KickMemberCallback
 踢掉指定成员回调
 
typedef std::function< void(int64_t room_id, const NIMChatRoomLinkCondition condition)> LinkConditionCallback
 服务连接情况回调
 
typedef std::function< void(int64_t room_id, const std::string &new_tag)> TagsChangedCallback
 自己的聊天室 tags 信息变更回调
 
typedef std::function< void(std::string &token)> CustomTokenCallback
 获取自定义token回调
 
typedef std::function< void(const std::string &appkey, const std::string &account, std::string &token)> RequestTokenCallback
 获取自定义token回调
 
typedef std::function< void(const std::string &appkey, const std::string &account, std::string &token)> RequestExtensionCallback
 登录时请求第三方鉴权扩展信息回调
 
typedef SetMemberAttributeCallback TempMuteMemberCallback
 临时禁言/解禁回调
 
typedef KickMemberCallback UpdateRoomInfoCallback
 更新聊天室信息回调
 
typedef KickMemberCallback UpdateMyRoomRoleCallback
 更新我的信息回调
 
typedef KickMemberCallback UpdateLocationCallback
 更新聊天室中用户的位置信息回调
 
typedef KickMemberCallback UpdateTagsCallback
 更新聊天室标签回调
 
typedef KickMemberCallback QueueOfferCallback
 新加(更新)麦序队列元素回调
 
typedef std::function< void(int64_t room_id, int error_code, const ChatRoomQueueElement &element)> QueuePollCallback
 取出麦序队列元素回调
 
typedef std::function< void(int64_t room_id, int error_code, const ChatRoomQueue &queue)> QueueListCallback
 排序列出麦序队列所有元素回调
 
typedef KickMemberCallback QueueDropCallback
 删除麦序队列元素回调
 
typedef QueuePollCallback QueueHeaderCallback
 查看麦序队列头元素回调
 
typedef std::function< void(int rescode, const RobotInfos &infos)> RobotQueryCallback
 获取机器人信息事件通知回调模板
 
typedef std::function< void(int64_t room_id, int error_code, const std::list< std::string > &not_in_queue)> QueueBatchUpdateCallback
 队列批量更新回调
 
typedef std::function< void(const std::string &text)> SDKLogCallback
 SDK系统日志回调模板
 

静态 Public 成员函数

static void RegEnterCb (const EnterCallback &cb, const std::string &json_extension="")
 
static void RegExitCb (const ExitCallback &cb, const std::string &json_extension="")
 
static void RegExitCb_2 (const ExitCallback_2 &cb, const std::string &json_extension="")
 
static void RegSendMsgAckCb (const SendMsgAckCallback &cb, const std::string &json_extension="")
 
static void RegReceiveMsgCb (const ReceiveMsgCallback &cb, const std::string &json_extension="")
 
static void RegReceiveMsgsCb (const ReceiveMsgsCallback &cb, const std::string &json_extension="")
 
static void RegNotificationCb (const NotificationCallback &cb, const std::string &json_extension="")
 
static void RegLinkConditionCb (const LinkConditionCallback &cb, const std::string &json_extension="")
 
static void RegTagsChangedCb (const TagsChangedCallback &cb, const std::string &json_extension="")
 
static void RegCustomTokenCb (const CustomTokenCallback &cb, const std::string &json_extension="")
 
static void RegRequestLoginTokenCb (const RequestTokenCallback &cb, const std::string &json_extension="")
 
static void RegRequestLoginExtensionCb (const RequestExtensionCallback &cb, const std::string &json_extension="")
 
static void RegSDKLogCallback (const SDKLogCallback &callback)
 
static bool Init (const std::string &app_install_dir, const std::string &json_extension="")
 
static void Cleanup (const std::string &json_extension="")
 
static bool IndependentEnter (const int64_t room_id, const ChatRoomIndependentEnterInfo &info)
 
static bool IndependentEnter2 (const int64_t room_id, const ChatRoomIndependentEnterInfo &info, const NIMChatRoomConfigGetter config_getter)
 
static bool AnonymousEnter (const int64_t room_id, const ChatRoomAnoymityEnterInfo &anonymity_info, const ChatRoomEnterInfo &info, const std::string &json_extension="")
 
static bool AnonymousEnter2 (const int64_t room_id, const ChatRoomAnoymityEnterInfo &anonymity_info, const ChatRoomEnterInfo &info, const NIMChatRoomConfigGetter config_getter)
 
static bool Enter (const int64_t room_id, const std::string &request_login_data, const ChatRoomEnterInfo &info=ChatRoomEnterInfo(), const std::string &json_extension="")
 
static void Exit (const int64_t room_id, const std::string &json_extension="")
 
static NIMChatRoomLoginState GetLoginState (const int64_t room_id, const std::string &json_extension="")
 
static void SetMsgsBatchReport (bool set_batch, const std::string &json_extension="")
 
static void SendMsg (const int64_t room_id, const std::string &json_msg, const std::string &json_extension="")
 
static void SendMsg (const int64_t room_id, const ChatRoomMessage &message, const std::string &json_extension="")
 
static std::string CreateRoomMessage (const NIMChatRoomMsgType msg_type, const std::string &client_msg_id, const std::string &attach, const std::string &msg_body, const ChatRoomMessageSetting &msg_setting, int64_t timetag=0, int32_t msg_sub_type=0, const std::string &target_tags="")
 
static void GetMembersOnlineAsync (const int64_t room_id, const ChatRoomGetMembersParameters &parameters, const GetMembersCallback &callback, const std::string &json_extension="")
 
static void GetMembersByTagOnlineAsync (const int64_t room_id, const ChatRoomGetMembersByTagParameters &parameters, const GetMembersCallback &callback, const std::string &json_extension="")
 根据 tag 异步查询聊天室成员列表
 
static void GetMembersCountByTagOnlineAsync (const int64_t room_id, const std::string &target_tag, const GetMembersCountByTagCallback &callback, const std::string &json_extension)
 获取聊天室内指定 tag 的成员数量
 
static void GetMessageHistoryOnlineAsync (const int64_t room_id, const ChatRoomGetMsgHistoryParameters &parameters, const GetMsgHistoryCallback &callback, const std::string &json_extension="")
 
static void GetMessageHistoryByTagsOnlineAsync (const int64_t room_id, const ChatRoomGetMsgHistoryByTagsParameters &parameters, const GetMsgHistoryCallback &callback, const std::string &json_extension="")
 根据消息关联的标签查询历史消息
 
static void SetMemberAttributeOnlineAsync (const int64_t room_id, const ChatRoomSetMemberAttributeParameters &parameters, const SetMemberAttributeCallback &callback, const std::string &json_extension="")
 
static void GetInfoAsync (const int64_t room_id, const GetChatRoomInfoCallback &callback, const std::string &json_extension="")
 
static void GetMemberInfoByIDsAsync (const int64_t room_id, const std::list< std::string > &ids, const GetMembersCallback &callback, const std::string &json_extension="")
 
static void KickMemberAsync (const int64_t room_id, const std::string &id, const std::string &notify_ext, const KickMemberCallback &callback, const std::string &json_extension="")
 
static void SetProxy (NIMChatRoomProxyType type, const std::string &host, int port, const std::string &user, const std::string &password)
 
static void TempMuteMemberAsync (const int64_t room_id, const std::string &accid, const int64_t duration, bool need_notify, const std::string &notify_ext, const TempMuteMemberCallback &callback, const std::string &json_extension="")
 
static void TempMuteMemberByTagAsync (const int64_t room_id, const std::string &target_tag, const int64_t duration, bool need_notify, const std::string &notify_ext, const TempMuteMemberCallback &callback, const std::string &notify_tags="", const std::string &json_extension="")
 
static void UpdateRoomInfoAsync (const int64_t room_id, const ChatRoomInfo &info, bool need_notify, const std::string &notify_ext, const UpdateRoomInfoCallback &callback, const std::string &json_extension="")
 
static void UpdateMyRoomRoleAsync (const int64_t room_id, const ChatRoomMemberInfo &info, bool need_notify, const std::string &notify_ext, const UpdateMyRoomRoleCallback &callback, const std::string &json_extension="")
 
static void QueueOfferAsync (const int64_t room_id, const ChatRoomQueueElement &element, const QueueOfferCallback &callback, const std::string &json_extension="{\"transient\":true}")
 
static void QueueOfferAsyncEx (const int64_t room_id, const ChatRoomQueueElement &element, const ChatRoomQueueOfferOption &option, const QueueOfferCallback &callback)
 
static void QueuePollAsync (const int64_t room_id, const std::string &element_key, const QueuePollCallback &callback, const std::string &json_extension="")
 
static void QueueListAsync (const int64_t room_id, const QueueListCallback &callback, const std::string &json_extension="")
 
static void QueueHeaderAsync (const int64_t room_id, const QueueHeaderCallback &callback, const std::string &json_extension="")
 
static void QueueDropAsync (const int64_t room_id, const QueueDropCallback &callback, const std::string &json_extension="")
 
static void UnregChatroomCb ()
 
static RobotInfos QueryAllRobotInfosBlock (const int64_t room_id, const std::string &json_extension="")
 
static RobotInfo QueryRobotInfoByAccidBlock (const int64_t room_id, const std::string &accid, const std::string &json_extension="")
 
static void GetRobotInfoAsync (const int64_t room_id, const int64_t timetag, const RobotQueryCallback &callback, const std::string &json_extension="")
 
static void QueueBatchUpdateAsync (const int64_t room_id, const ChatRoomBatchMembers &batch_elements, bool need_notify, const std::string &notify_ext, const QueueBatchUpdateCallback &callback, const std::string &json_extension="")
 
static bool UpdateLocation (const int64_t room_id, NIMChatRoomLocation location, const UpdateLocationCallback &callback, const std::string &json_extension="")
 
static bool UpdateTags (const int64_t room_id, ChatRoomUpdateTagsInfo tags_info, const UpdateTagsCallback &callback, const std::string &json_extension="")
 

详细描述

聊天室

成员类型定义说明

◆ CustomTokenCallback

typedef std::function<void(std::string& token)> nim_chatroom::ChatRoom::CustomTokenCallback

获取自定义token回调

◆ EnterCallback

typedef std::function< void(int64_t room_id, const NIMChatRoomEnterStep step, int error_code, const ChatRoomInfo& info, const ChatRoomMemberInfo& my_info)> nim_chatroom::ChatRoom::EnterCallback

登录回调, 如果错误码为kResRoomLocalNeedRequestAgain,聊天室重连机制结束,则需要向IM服务器重新请求进入该聊天室权限

◆ ExitCallback

typedef std::function<void(int64_t room_id, int error_code, NIMChatRoomExitReason exit_reason)> nim_chatroom::ChatRoom::ExitCallback

登出、被踢回调

◆ ExitCallback_2

typedef std::function<void(int64_t room_id, int error_code, const NIMChatRoomExitReasonInfo& exit_info)> nim_chatroom::ChatRoom::ExitCallback_2

登出、被踢回调

◆ GetChatRoomInfoCallback

typedef std::function<void(int64_t room_id, int error_code, const ChatRoomInfo& info)> nim_chatroom::ChatRoom::GetChatRoomInfoCallback

获取当前聊天室信息回调

◆ GetMembersCallback

typedef std::function<void(int64_t room_id, int error_code, const std::list<ChatRoomMemberInfo>& infos)> nim_chatroom::ChatRoom::GetMembersCallback

在线查询成员列表回调

◆ GetMembersCountByTagCallback

typedef std::function<void(int64_t room_id, int error_code, uint64_t)> nim_chatroom::ChatRoom::GetMembersCountByTagCallback

在线查询成员列表回调

◆ GetMsgHistoryCallback

typedef std::function<void(int64_t room_id, int error_code, const std::list<ChatRoomMessage>& msgs)> nim_chatroom::ChatRoom::GetMsgHistoryCallback

在线查询消息历史回调

◆ KickMemberCallback

typedef std::function<void(int64_t room_id, int error_code)> nim_chatroom::ChatRoom::KickMemberCallback

踢掉指定成员回调

◆ LinkConditionCallback

typedef std::function<void(int64_t room_id, const NIMChatRoomLinkCondition condition)> nim_chatroom::ChatRoom::LinkConditionCallback

服务连接情况回调

◆ NotificationCallback

typedef std::function<void(int64_t room_id, const ChatRoomNotification& notification)> nim_chatroom::ChatRoom::NotificationCallback

通知回调

◆ QueueBatchUpdateCallback

typedef std::function<void(int64_t room_id, int error_code, const std::list<std::string>& not_in_queue)> nim_chatroom::ChatRoom::QueueBatchUpdateCallback

队列批量更新回调

◆ QueueDropCallback

删除麦序队列元素回调

◆ QueueHeaderCallback

查看麦序队列头元素回调

◆ QueueListCallback

typedef std::function<void(int64_t room_id, int error_code, const ChatRoomQueue& queue)> nim_chatroom::ChatRoom::QueueListCallback

排序列出麦序队列所有元素回调

◆ QueueOfferCallback

新加(更新)麦序队列元素回调

◆ QueuePollCallback

typedef std::function<void(int64_t room_id, int error_code, const ChatRoomQueueElement& element)> nim_chatroom::ChatRoom::QueuePollCallback

取出麦序队列元素回调

◆ ReceiveMsgCallback

typedef std::function<void(int64_t room_id, const ChatRoomMessage& result)> nim_chatroom::ChatRoom::ReceiveMsgCallback

接收消息回调

◆ ReceiveMsgsCallback

typedef std::function<void(int64_t room_id, const std::list<ChatRoomMessage>& result)> nim_chatroom::ChatRoom::ReceiveMsgsCallback

接收批量消息回调

◆ RequestExtensionCallback

typedef std::function<void(const std::string& appkey, const std::string& account, std::string& token)> nim_chatroom::ChatRoom::RequestExtensionCallback

登录时请求第三方鉴权扩展信息回调

◆ RequestTokenCallback

typedef std::function<void(const std::string& appkey, const std::string& account, std::string& token)> nim_chatroom::ChatRoom::RequestTokenCallback

获取自定义token回调

◆ RobotQueryCallback

typedef std::function<void(int rescode, const RobotInfos& infos)> nim_chatroom::ChatRoom::RobotQueryCallback

获取机器人信息事件通知回调模板

◆ SDKClosure

typedef std::function<void(const std::function<void()>&)> nim_chatroom::ChatRoom::SDKClosure

◆ SDKLogCallback

typedef std::function<void(const std::string& text)> nim_chatroom::ChatRoom::SDKLogCallback

SDK系统日志回调模板

◆ SendMsgAckCallback

typedef std::function<void(int64_t room_id, int error_code, const ChatRoomMessage& result)> nim_chatroom::ChatRoom::SendMsgAckCallback

发送消息回执

◆ SetMemberAttributeCallback

typedef std::function<void(int64_t room_id, int error_code, const ChatRoomMemberInfo& info)> nim_chatroom::ChatRoom::SetMemberAttributeCallback

设置成员身份标识回调

◆ TagsChangedCallback

typedef std::function<void(int64_t room_id, const std::string& new_tag)> nim_chatroom::ChatRoom::TagsChangedCallback

自己的聊天室 tags 信息变更回调

◆ TempMuteMemberCallback

◆ UpdateLocationCallback

更新聊天室中用户的位置信息回调

◆ UpdateMyRoomRoleCallback

◆ UpdateRoomInfoCallback

◆ UpdateTagsCallback

成员函数说明

◆ AnonymousEnter()

bool nim_chatroom::ChatRoom::AnonymousEnter ( const int64_t  room_id,
const ChatRoomAnoymityEnterInfo anonymity_info,
const ChatRoomEnterInfo info,
const std::string &  json_extension = "" 
)
static

聊天室匿名进入

参数
[in]room_id聊天室ID
[in]anonymity_info匿名登录相关信息
[in]info聊天室进入信息
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
bool 进入信息是否正确,返回失败则不会触发进入回调

◆ AnonymousEnter2()

bool nim_chatroom::ChatRoom::AnonymousEnter2 ( const int64_t  room_id,
const ChatRoomAnoymityEnterInfo anonymity_info,
const ChatRoomEnterInfo info,
const NIMChatRoomConfigGetter  config_getter 
)
static

聊天室匿名进入

参数
[in]room_id聊天室ID
[in]anonymity_info匿名登录相关信息
[in]info聊天室进入信息
[in]config_getter聊天室配置对象
返回
bool 进入信息是否正确,返回失败则不会触发进入回调

◆ Cleanup()

void nim_chatroom::ChatRoom::Cleanup ( const std::string &  json_extension = "")
static

聊天室模块清理(SDK卸载前调用一次)

参数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ CreateRoomMessage()

std::string nim_chatroom::ChatRoom::CreateRoomMessage ( const NIMChatRoomMsgType  msg_type,
const std::string &  client_msg_id,
const std::string &  attach,
const std::string &  msg_body,
const ChatRoomMessageSetting msg_setting,
int64_t  timetag = 0,
int32_t  msg_sub_type = 0,
const std::string &  target_tags = "" 
)
static

生成消息内容(所有支持的消息类型的内容)

参数
[in]msg_type消息类型
[in]client_msg_id消息ID
[in]attach消息内容(包含多媒体的消息类型,此处传入的是约定的可以解析为json的非格式化的字符串,如图片、文件消息等)
[in]msg_body文本消息内容
[in]msg_setting消息属性
[in]timetag消息时间
[in]sub_type消息子类型( > 0 ),由开发者自定义,服务端只负责透传 v7.8
[in]target_tags表示本条消息的目标标签(是一个标签表达式),若缺失,则使用发送者登录时设置的notifyTargetTags,若依然缺失,则使用发送者登录时设置的tags
返回
std::string 消息json string

◆ Enter()

bool nim_chatroom::ChatRoom::Enter ( const int64_t  room_id,
const std::string &  request_login_data,
const ChatRoomEnterInfo info = ChatRoomEnterInfo(),
const std::string &  json_extension = "" 
)
static

聊天室登录

参数
[in]room_id聊天室ID
[in]request_login_data聊天室登录信息(NIM SDK请求聊天室返回的数据)
[in]info聊天室可选信息
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
bool 登录信息是否正确,返回失败则不会促发登录回调

◆ Exit()

void nim_chatroom::ChatRoom::Exit ( const int64_t  room_id,
const std::string &  json_extension = "" 
)
static

聊天室登出

参数
[in]room_id聊天室ID
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ GetInfoAsync()

void nim_chatroom::ChatRoom::GetInfoAsync ( const int64_t  room_id,
const GetChatRoomInfoCallback callback,
const std::string &  json_extension = "" 
)
static

异步获取当前聊天室信息

参数
[in]room_id聊天室ID
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ GetLoginState()

NIMChatRoomLoginState nim_chatroom::ChatRoom::GetLoginState ( const int64_t  room_id,
const std::string &  json_extension = "" 
)
static

获取聊天室登录状态

参数
[in]room_id聊天室ID
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ GetMemberInfoByIDsAsync()

void nim_chatroom::ChatRoom::GetMemberInfoByIDsAsync ( const int64_t  room_id,
const std::list< std::string > &  ids,
const GetMembersCallback callback,
const std::string &  json_extension = "" 
)
static

异步获取指定成员信息

参数
[in]room_id聊天室ID
[in]ids
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ GetMembersByTagOnlineAsync()

void nim_chatroom::ChatRoom::GetMembersByTagOnlineAsync ( const int64_t  room_id,
const ChatRoomGetMembersByTagParameters parameters,
const GetMembersCallback callback,
const std::string &  json_extension = "" 
)
static

根据 tag 异步查询聊天室成员列表

参数
room_id聊天室ID
parameters查询参数
callback回调函数
json_extensionjson扩展参数(备用,目前不需要)

◆ GetMembersCountByTagOnlineAsync()

void nim_chatroom::ChatRoom::GetMembersCountByTagOnlineAsync ( const int64_t  room_id,
const std::string &  target_tag,
const GetMembersCountByTagCallback callback,
const std::string &  json_extension 
)
static

获取聊天室内指定 tag 的成员数量

参数
room_id聊天室ID
target_tag要查询的成员的 tag
callback回调函数
json_extensionjson扩展参数(备用,目前不需要)

◆ GetMembersOnlineAsync()

void nim_chatroom::ChatRoom::GetMembersOnlineAsync ( const int64_t  room_id,
const ChatRoomGetMembersParameters parameters,
const GetMembersCallback callback,
const std::string &  json_extension = "" 
)
static

异步查询成员列表

参数
[in]room_id聊天室ID
[in]parameters查询参数
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ GetMessageHistoryByTagsOnlineAsync()

void nim_chatroom::ChatRoom::GetMessageHistoryByTagsOnlineAsync ( const int64_t  room_id,
const ChatRoomGetMsgHistoryByTagsParameters parameters,
const GetMsgHistoryCallback callback,
const std::string &  json_extension = "" 
)
static

根据消息关联的标签查询历史消息

参数
[in]room_id聊天室 ID
[in]parameters查询参数
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ GetMessageHistoryOnlineAsync()

void nim_chatroom::ChatRoom::GetMessageHistoryOnlineAsync ( const int64_t  room_id,
const ChatRoomGetMsgHistoryParameters parameters,
const GetMsgHistoryCallback callback,
const std::string &  json_extension = "" 
)
static

异步查询消息历史

参数
[in]room_id聊天室ID
[in]parameters查询参数
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ GetRobotInfoAsync()

void nim_chatroom::ChatRoom::GetRobotInfoAsync ( const int64_t  room_id,
const int64_t  timetag,
const RobotQueryCallback callback,
const std::string &  json_extension = "" 
)
static

获取机器人信息

参数
[in]room_id聊天室ID
[in]timetag时间戳
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void

◆ IndependentEnter()

bool nim_chatroom::ChatRoom::IndependentEnter ( const int64_t  room_id,
const ChatRoomIndependentEnterInfo info 
)
static

聊天室独立进入

参数
[in]room_id聊天室ID
[in]info聊天室进入信息
返回
bool 进入信息是否正确,返回失败则不会触发进入回调

◆ IndependentEnter2()

bool nim_chatroom::ChatRoom::IndependentEnter2 ( const int64_t  room_id,
const ChatRoomIndependentEnterInfo info,
const NIMChatRoomConfigGetter  config_getter 
)
static

聊天室独立进入

参数
[in]room_id聊天室ID
[in]info聊天室进入信息
[in]config_getter聊天室配置对象, 格式如下, 字段详见 nim_chatroom_def.h 公共配置字段和私有化配置字段 { "public_config": { "dedicated_cluste_flag": 0, "nego_key_neca": 1, "comm_enca": 1, "hand_shake_type": 0 }, "private_config": { "nego_key_enca_key_parta": "", "nego_key_enca_key_partb": "", "nego_key_enca_key_version": 0 } }
返回
bool 进入信息是否正确,返回失败则不会触发进入回调

◆ Init()

void nim_chatroom::ChatRoom::Init ( const std::string &  app_install_dir,
const std::string &  json_extension = "" 
)
static

聊天室模块初始化(SDK初始化时调用一次)

参数
[in]app_install_dirDeprecated
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
bool 模块加载结果

◆ KickMemberAsync()

void nim_chatroom::ChatRoom::KickMemberAsync ( const int64_t  room_id,
const std::string &  id,
const std::string &  notify_ext,
const KickMemberCallback callback,
const std::string &  json_extension = "" 
)
static

异步踢掉指定成员

参数
[in]room_id聊天室ID
[in]id成员id
[in]notify_ext放到事件通知中的扩展字段
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ QueryAllRobotInfosBlock()

char * nim_chatroom::ChatRoom::QueryAllRobotInfosBlock ( const int64_t  room_id,
const std::string &  json_extension = "" 
)
static

获取全部机器人信息(同步接口,堵塞NIM内部线程)

参数
[in]room_id聊天室ID
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
char 机器人信息 json string array

◆ QueryRobotInfoByAccidBlock()

char * nim_chatroom::ChatRoom::QueryRobotInfoByAccidBlock ( const int64_t  room_id,
const std::string &  accid,
const std::string &  json_extension = "" 
)
static

获取指定机器人信息(同步接口,堵塞NIM内部线程)

参数
[in]room_id聊天室ID
[in]accid机器人accid
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
char 机器人信息 json string

◆ QueueBatchUpdateAsync()

static void nim_chatroom::ChatRoom::QueueBatchUpdateAsync ( const int64_t  room_id,
const ChatRoomBatchMembers batch_elements,
bool  need_notify,
const std::string &  notify_ext,
const QueueBatchUpdateCallback callback,
const std::string &  json_extension = "" 
)
static

批量更新聊天室队列

参数
[in]room_id聊天室ID
[in]batch_elements所有需要更新的列表
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ QueueDropAsync()

static void nim_chatroom::ChatRoom::QueueDropAsync ( const int64_t  room_id,
const QueueDropCallback callback,
const std::string &  json_extension = "" 
)
static

(管理员权限)删除麦序队列

参数
[in]room_id聊天室ID
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ QueueHeaderAsync()

static void nim_chatroom::ChatRoom::QueueHeaderAsync ( const int64_t  room_id,
const QueueHeaderCallback callback,
const std::string &  json_extension = "" 
)
static

查看麦序头元素

参数
[in]room_id聊天室ID
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ QueueListAsync()

static void nim_chatroom::ChatRoom::QueueListAsync ( const int64_t  room_id,
const QueueListCallback callback,
const std::string &  json_extension = "" 
)
static

排序列出所有元素

参数
[in]room_id聊天室ID
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ QueueOfferAsync()

static void nim_chatroom::ChatRoom::QueueOfferAsync ( const int64_t  room_id,
const ChatRoomQueueElement element,
const QueueOfferCallback callback,
const std::string &  json_extension = "{\"transient\":true}" 
)
static

新加(更新)麦序队列元素,如果element.key_对应的元素已经在队列中存在了,那就是更新操作,如果不存在,就放到队列尾部

参数
[in]room_id聊天室ID
[in]element麦序队列元素
[in]callback回调函数
[in]json_extensionjson扩展参数
返回
void 无返回值

◆ QueueOfferAsyncEx()

static void nim_chatroom::ChatRoom::QueueOfferAsyncEx ( const int64_t  room_id,
const ChatRoomQueueElement element,
const ChatRoomQueueOfferOption option,
const QueueOfferCallback callback 
)
static

新加(更新)麦序队列元素,如果element.key_对应的元素已经在队列中存在了,那就是更新操作,如果不存在,就放到队列尾部

参数
[in]room_id聊天室ID
[in]element麦序队列元素
[in]option更新排序选项,详见 ChatRoomQueueOfferOption
[in]callback回调函数

◆ QueuePollAsync()

static void nim_chatroom::ChatRoom::QueuePollAsync ( const int64_t  room_id,
const std::string &  element_key,
const QueuePollCallback callback,
const std::string &  json_extension = "" 
)
static

取出麦序元素

参数
[in]room_id聊天室ID
[in]element_key需要取出的元素的UniqKey, 传空传表示取出第一个元素
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegCustomTokenCb()

void nim_chatroom::ChatRoom::RegCustomTokenCb ( const CustomTokenCallback cb,
const std::string &  json_extension = "" 
)
static

注册全局聊天室自定义token获取回调

参数
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegEnterCb()

void nim_chatroom::ChatRoom::RegEnterCb ( const EnterCallback cb,
const std::string &  json_extension = "" 
)
static

注册全局登录回调

参数
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegExitCb()

void nim_chatroom::ChatRoom::RegExitCb ( const ExitCallback cb,
const std::string &  json_extension = "" 
)
static

注册全局登出、被踢回调

参数
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegExitCb_2()

void nim_chatroom::ChatRoom::RegExitCb_2 ( const ExitCallback_2 cb,
const std::string &  json_extension = "" 
)
static

注册全局登出、被踢回调

参数
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegLinkConditionCb()

void nim_chatroom::ChatRoom::RegLinkConditionCb ( const LinkConditionCallback cb,
const std::string &  json_extension = "" 
)
static

注册全局聊天室链接情况回调

参数
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegNotificationCb()

void nim_chatroom::ChatRoom::RegNotificationCb ( const NotificationCallback cb,
const std::string &  json_extension = "" 
)
static

注册全局接收通知回调

参数
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegReceiveMsgCb()

void nim_chatroom::ChatRoom::RegReceiveMsgCb ( const ReceiveMsgCallback cb,
const std::string &  json_extension = "" 
)
static

注册全局接收消息回调

参数
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegReceiveMsgsCb()

void nim_chatroom::ChatRoom::RegReceiveMsgsCb ( const ReceiveMsgsCallback cb,
const std::string &  json_extension = "" 
)
static

注册全局接收批量消息回调

参数
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegRequestLoginExtensionCb()

void nim_chatroom::ChatRoom::RegRequestLoginExtensionCb ( const RequestExtensionCallback cb,
const std::string &  json_extension = "" 
)
static

注册该回调用于在登录时获取第三方鉴权登录扩展字段

调用时机
登录前注册该回调
参数
[in]cb上层用于生产登录扩展字段的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值
注解
错误码 无

◆ RegRequestLoginTokenCb()

void nim_chatroom::ChatRoom::RegRequestLoginTokenCb ( const RequestTokenCallback cb,
const std::string &  json_extension = "" 
)
static

注册全局聊天室自定义token获取回调

参数
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegSDKLogCallback()

static void nim_chatroom::ChatRoom::RegSDKLogCallback ( const SDKLogCallback callback)
static

SDK系统日志回调,可用于动态获取日志,不建议用于生产环境

参数
[in]callback回调函数
返回

◆ RegSendMsgAckCb()

void nim_chatroom::ChatRoom::RegSendMsgAckCb ( const SendMsgAckCallback cb,
const std::string &  json_extension = "" 
)
static

注册全局发送消息回执回调

参数
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ RegTagsChangedCb()

void nim_chatroom::ChatRoom::RegTagsChangedCb ( const TagsChangedCallback cb,
const std::string &  json_extension = "" 
)
static

◆ SendMsg() [1/2]

void nim_chatroom::ChatRoom::SendMsg ( const int64_t  room_id,
const ChatRoomMessage message,
const std::string &  json_extension = "" 
)
static

发送消息

参数
[in]room_id聊天室ID
[in]message消息
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ SendMsg() [2/2]

void nim_chatroom::ChatRoom::SendMsg ( const int64_t  room_id,
const std::string &  json_msg,
const std::string &  json_extension = "" 
)
static

发送消息

参数
[in]room_id聊天室ID
[in]json_msg消息json string(可以通过 CreateRoomMessage 生成)
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ SetMemberAttributeOnlineAsync()

void nim_chatroom::ChatRoom::SetMemberAttributeOnlineAsync ( const int64_t  room_id,
const ChatRoomSetMemberAttributeParameters parameters,
const SetMemberAttributeCallback callback,
const std::string &  json_extension = "" 
)
static

异步设置成员身份标识

参数
[in]room_id聊天室ID
[in]parameters查询参数
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ SetMsgsBatchReport()

void nim_chatroom::ChatRoom::SetMsgsBatchReport ( bool  set_batch,
const std::string &  json_extension = "" 
)
static

设置消息接收批量上报开关

参数
[in]set_batch批量开关
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ SetProxy()

void nim_chatroom::ChatRoom::SetProxy ( NIMChatRoomProxyType  type,
const std::string &  host,
int  port,
const std::string &  user,
const std::string &  password 
)
static

设置SDK统一的网络代理。不需要代理时,type设置为kNIMProxyNone,其余参数都传空字符串(端口设为0)。有些代理不需要用户名和密码,相应参数也传空字符串。

参数
[in]type代理类型,见NIMChatRoomProxyType定义
[in]host代理地址
[in]port代理端口
[in]user代理用户名
[in]password代理密码
返回
void 无返回值

◆ TempMuteMemberAsync()

static void nim_chatroom::ChatRoom::TempMuteMemberAsync ( const int64_t  room_id,
const std::string &  accid,
const int64_t  duration,
bool  need_notify,
const std::string &  notify_ext,
const TempMuteMemberCallback callback,
const std::string &  json_extension = "" 
)
static

异步临时禁言/解禁成员

参数
[in]room_id聊天室ID
[in]accid成员ID
[in]duration临时禁言时长(秒),解禁填0
[in]need_notify是否聊天室内广播通知
[in]notify_ext通知中的自定义字段,长度限制2048
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
void 无返回值

◆ TempMuteMemberByTagAsync()

static void nim_chatroom::ChatRoom::TempMuteMemberByTagAsync ( const int64_t  room_id,
const std::string &  target_tag,
const int64_t  duration,
bool  need_notify,
const std::string &  notify_ext,
const TempMuteMemberCallback callback,
const std::string &  notify_tags = "",
const std::string &  json_extension = "" 
)
static

异步根据 tag 临时禁言/解禁成员

参数
room_id聊天室ID
target_tag要禁言的指定 tag
duration临时禁言时长(秒),解禁填0
need_notify是否聊天室内广播通知
notify_ext通知中的自定义字段,长度限制2048
callback回调函数
notify_tags要通知的目标 tags,是一个标签表达式
json_extensionjson扩展参数(备用,目前不需要)

◆ UnregChatroomCb()

void nim_chatroom::ChatRoom::UnregChatroomCb ( )
static

反注册Chatroom提供的所有回调

返回
void 无返回值

◆ UpdateLocation()

static void nim_chatroom::ChatRoom::UpdateLocation ( const int64_t  room_id,
NIMChatRoomLocation  location,
const UpdateLocationCallback callback,
const std::string &  json_extension = "" 
)
static

更新聊天室位置信息

参数
[in]room_id聊天室ID
[in]location位置信息
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
bool true 为接口调用成功,false 为位置信息尚未初始化

◆ UpdateMyRoomRoleAsync()

static void nim_chatroom::ChatRoom::UpdateMyRoomRoleAsync ( const int64_t  room_id,
const ChatRoomMemberInfo info,
bool  need_notify,
const std::string &  notify_ext,
const UpdateMyRoomRoleCallback callback,
const std::string &  json_extension = "" 
)
static

更新我的信息

参数
[in]room_id聊天室ID
[in]info我的信息
[in]need_notify是否聊天室内广播通知
[in]notify_ext通知中的自定义字段,长度限制2048
[in]callback回调函数
[in]json_extensionjson扩展参数,针对固定成员,可配置更新的信息是否需要持久化,默认不持久化以及配置反垃圾相关参数{"need_save":false,"anti_spam_business_id":"{\"textbid\":\"xxxx\",\"picbid\":\"xxxx\"}"}
返回
void 无返回值

◆ UpdateRoomInfoAsync()

static void nim_chatroom::ChatRoom::UpdateRoomInfoAsync ( const int64_t  room_id,
const ChatRoomInfo info,
bool  need_notify,
const std::string &  notify_ext,
const UpdateRoomInfoCallback callback,
const std::string &  json_extension = "" 
)
static

更新聊天室信息

参数
[in]room_id聊天室ID
[in]info聊天室信息
[in]need_notify是否聊天室内广播通知
[in]notify_ext通知中的自定义字段,长度限制2048
[in]callback回调函数
[in]json_extensionjson扩展参数 目前可用于配置反垃圾相关参数,格式{"anti_spam_business_id":"{\"textbid\":\"xxxx\",\"picbid\":\"xxxx\"}"}
返回
void 无返回值

◆ UpdateTags()

static void nim_chatroom::ChatRoom::UpdateTags ( const int64_t  room_id,
ChatRoomUpdateTagsInfo  tags_info,
const UpdateTagsCallback callback,
const std::string &  json_extension = "" 
)
static

更新聊天室标签

参数
[in]room_id聊天室ID
[in]tags_info标签信息
[in]callback回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
返回
bool true 为接口调用成功,false 为位置信息尚未初始化

该类的文档由以下文件生成: