NIM PC Cross Platform SDK
nim_chatroom_def.h File Reference

聊天室 接口相关的常量函数等定义头文件 More...

#include "public_defines.h"

Go to the source code of this file.

Classes

struct  _tagNIMChatRoomLocation
 
struct  _tagNIMChatRoomUpdateTagsInfo
 

Macros

#define EmptyNIMChatRoomConfigGetter   ("")
 

Typedefs

typedef struct _tagNIMChatRoomLocation NIMChatRoomLocation
 
typedef struct _tagNIMChatRoomUpdateTagsInfo NIMChatRoomUpdateTagsInfo
 
typedef void(* nim_chatroom_enter_cb_func) (int64_t room_id, int enter_step, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_exit_cb_func) (int64_t room_id, int error_code, int exit_type, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_link_condition_cb_func) (int64_t room_id, int condition, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_sendmsg_arc_cb_func) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_receive_msg_cb_func) (int64_t room_id, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_receive_notification_cb_func) (int64_t room_id, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_get_members_cb_func) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_get_msg_cb_func) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_set_member_attribute_cb_func) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_get_info_cb_func) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_kick_member_cb_func) (int64_t room_id, int error_code, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_temp_mute_member_cb_func) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_query_members_count_by_tag_cb_func) (int64_t room_id, int error_code, uint64_t count, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_temp_mute_member_by_tag_cb_func) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_update_room_info_cb_func) (int64_t room_id, int error_code, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_update_my_role_cb_func) (int64_t room_id, int error_code, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_queue_offer_cb_func) (int64_t room_id, int error_code, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_queue_poll_cb_func) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_queue_list_cb_func) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_queue_header_cb_func) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_queue_drop_cb_func) (int64_t room_id, int error_code, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_queue_init_cb_func) (int64_t room_id, int error_code, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_query_robots_cb_func) (int rescode, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_batch_update_cb) (int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_update_location_cb_func) (int64_t room_id, int error_code, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_custom_token_cb_func) (char *auth_token, const uint32_t length, const char *json_params, const void *user_data)
 
typedef void(* nim_chatroom_tags_changed_cb_func) (int64_t room_id, const char *new_tags, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_update_tags_cb_func) (int64_t room_id, int error_code, const char *json_extension, const void *user_data)
 
typedef void(* nim_chatroom_sdk_log_cb_func) (const char *log_content, const void *user_data)
 
typedef char * NIMChatRoomConfigGetter
 

Enumerations

enum  NIMSDKLogLevel {
  kNIMSDKLogLevelFatal = 1 , kNIMSDKLogLevelError = 2 , kNIMSDKLogLevelWarn = 3 , kNIMSDKLogLevelApp = 5 ,
  kNIMSDKLogLevelPro = 6 , kNIMSDKLogLevelFatal = 1 , kNIMSDKLogLevelError = 2 , kNIMSDKLogLevelWarn = 3 ,
  kNIMSDKLogLevelApp = 5 , kNIMSDKLogLevelPro = 6
}
 
enum  NIMChatRoomMsgType {
  kNIMChatRoomMsgTypeText = 0 , kNIMChatRoomMsgTypeImage = 1 , kNIMChatRoomMsgTypeAudio = 2 , kNIMChatRoomMsgTypeVideo = 3 ,
  kNIMChatRoomMsgTypeLocation = 4 , kNIMChatRoomMsgTypeNotification = 5 , kNIMChatRoomMsgTypeFile = 6 , kNIMChatRoomMsgTypeRobot = 11 ,
  kNIMChatRoomMsgTypeTips = 10 , kNIMChatRoomMsgTypeCustom = 100 , kNIMChatRoomMsgTypeUnknown = 1000
}
 
enum  NIMChatRoomClientType {
  kNIMChatRoomClientTypeDefault = 0 , kNIMChatRoomClientTypeAndroid = 1 , kNIMChatRoomClientTypeiOS = 2 , kNIMChatRoomClientTypePCWindows = 4 ,
  kNIMChatRoomClientTypeWindowsPhone = 8 , kNIMChatRoomClientTypeWeb = 16 , kNIMChatRoomClientTypeRestAPI = 32 , kNIMChatRoomClientTypeMacOS = 64
}
 
enum  NIMChatRoomExitReason {
  kNIMChatRoomExitReasonExit = 0 , kNIMChatRoomExitReasonRoomInvalid = 1 , kNIMChatRoomExitReasonKickByManager = 2 , kNIMChatRoomExitReasonKickByMultiSpot = 3 ,
  kNIMChatRoomExitReasonIllegalState = 4 , kNIMChatRoomExitReasonBeBlacklisted = 5
}
 
enum  NIMChatRoomLoginState { kNIMChatRoomLoginStateLogin = 1 , kNIMChatRoomLoginStateUnLogin = 2 }
 
enum  NIMChatRoomOnlineState { kNIMChatRoomOnlineStateOffline = 0 , kNIMChatRoomOnlineStateOnline = 1 }
 
enum  NIMChatRoomGuestFlag { kNIMChatRoomGuestFlagNoGuest = 0 , kNIMChatRoomGuestFlagGuest = 1 }
 
enum  NIMChatRoomGetMemberType { kNIMChatRoomGetMemberTypeSolid = 0 , kNIMChatRoomGetMemberTypeTemp = 1 , kNIMChatRoomGetMemberTypeSolidOL = 2 , kNIMChatRoomGetMemberTypeTempOL = 3 }
 
enum  NIMChatRoomMemberAttribute { kNIMChatRoomMemberAttributeAdminister = 1 , kNIMChatRoomMemberAttributeNomalMember = 2 , kNIMChatRoomMemberAttributeBlackList = -1 , kNIMChatRoomMemberAttributeMuteList = -2 }
 
enum  NIMChatRoomNotificationId {
  kNIMChatRoomNotificationIdMemberIn = 301 , kNIMChatRoomNotificationIdMemberExit = 302 , kNIMChatRoomNotificationIdAddBlack = 303 , kNIMChatRoomNotificationIdRemoveBlack = 304 ,
  kNIMChatRoomNotificationIdAddMute = 305 , kNIMChatRoomNotificationIdRemoveMute = 306 , kNIMChatRoomNotificationIdAddManager = 307 , kNIMChatRoomNotificationIdRemoveManager = 308 ,
  kNIMChatRoomNotificationIdAddFixed = 309 , kNIMChatRoomNotificationIdRemoveFixed = 310 , kNIMChatRoomNotificationIdClosed = 311 , kNIMChatRoomNotificationIdInfoUpdated = 312 ,
  kNIMChatRoomNotificationIdMemberKicked = 313 , kNIMChatRoomNotificationIdMemberTempMute = 314 , kNIMChatRoomNotificationIdMemberTempUnMute = 315 , kNIMChatRoomNotificationIdMyRoleUpdated = 316 ,
  kNIMChatRoomNotificationIdQueueChanged = 317 , kNIMChatRoomNotificationIdRoomMuted = 318 , kNIMChatRoomNotificationIdRoomDeMuted = 319 , kNIMChatRoomNotificationIdQueueBatchChanged = 320 ,
  kNIMChatRoomNotificationIdTagTempMuteAdd = 321 , kNIMChatRoomNotificationIdTagTempMuteRemove = 322 , kNIMChatRoomNotificationIdRecallMessage = 323 , kNIMChatRoomNotificationIdQueueBatchOffer = 324 ,
  kNIMChatRoomNotificationIdMemberTagChanged = 325
}
 
enum  NIMChatRoomLinkCondition { kNIMChatRoomLinkConditionAlive = 0 , kNIMChatRoomLinkConditionDeadAndRetry = 1 , kNIMChatRoomLinkConditionDead = 2 }
 
enum  NIMChatRoomEnterStep {
  kNIMChatRoomEnterStepInit = 1 , kNIMChatRoomEnterStepServerConnecting = 2 , kNIMChatRoomEnterStepServerConnectOver = 3 , kNIMChatRoomEnterStepRoomAuthing = 4 ,
  kNIMChatRoomEnterStepRoomAuthOver = 5
}
 
enum  NIMChatRoomProxyType {
  kNIMChatRoomProxyNone = 0 , kNIMChatRoomProxyHttp11 = 1 , kNIMChatRoomProxySocks4 = 4 , kNIMChatRoomProxySocks4a = 5 ,
  kNIMChatRoomProxySocks5 = 6
}
 

Variables

进入聊天室的可选填信息Json Keys
static const char * kNIMChatRoomEnterKeyNick = "nick"
 string, (匿名登录时必填)进入聊天室后展示的昵称,选填,聊天室成员收到聊天室进入通知中可以获取该数据
 
static const char * kNIMChatRoomEnterKeyAvatar = "avatar"
 string, (匿名登录时必填)设置后通过获取聊天室成员信息接口可以获取该数据
 
static const char * kNIMChatRoomEnterKeyExt = "ext"
 string, 聊天室可用的扩展字段,必须为可以解析为Json的非格式化的字符串,选填,设置后通过获取聊天室成员信息接口可以获取该数据
 
static const char * kNIMChatRoomEnterKeyNotifyExt = "notify_ext"
 string, 进入聊天室通知开发者扩展字段,必须为可以解析为Json的非格式化的字符串,选填,聊天室成员收到聊天室进入通知中可以获取该数据
 
static const char * kNIMChatRoomEnterLoginTags = "login_tags"
 string array 登录标签,可以设置多个,json array 格式,例子:["tag1", "tag2"]
 
static const char * kNIMChatRoomEnterNotifyTags = "notify_tags"
 string 登录登出通知的目标标签
 
static const char * kNIMChatRoomEnterAuthType = "auth_type"
 int 鉴权方式,0表示最初的loginToken的校验方式,1表示基于appSecret计算的token鉴权方式,2表示基于第三方回调的token鉴权方式,默认0
 
static const char * kNIMChatRoomEnterLoginExt = "login_ext"
 string, 登录自定义字段,用于提交给用户的第三方回调服务进行登录检测,不会同步给其他端
 
static const char * kNIMChatRoomEnterAntiSpamBusinessID = "anti_spam_business_id"
 string, 反垃圾相关业务id
 
static const char * kNIMChatRoomEnterEnableLocation = "enable_location"
 int 登录时使用的位置信息
 
static const char * kNIMChatRoomEnterLocationX = "location_x"
 
static const char * kNIMChatRoomEnterLocationY = "location_y"
 
static const char * kNIMChatRoomEnterLocationZ = "location_z"
 
static const char * kNIMChatRoomEnterLocationDistance = "location_distance"
 
独立聊天室进入的信息Json Keys
static const char * kNIMChatRoomEnterKeyAppKey = "app_key"
 string, 应用appkey,匿名登录时必填
 
static const char * kNIMChatRoomEnterKeyAppDataPath = "app_data_path"
 
static const char * kNIMChatRoomEnterKeyLogLevel = "log_level"
 int,匿名登录时选填,定义见NIMSDKLogLevel(选填,SDK默认的内置级别为kNIMSDKLogLevelPro)
 
static const char * kNIMChatRoomEnterKeyAddress = "address"
 string array,聊天室地址,地址通过应用服务器接口获取
 
static const char * kNIMChatRoomEnterKeyRandomID = "random_id"
 int,是否开启随机ID模式,默认为关闭(0),建议默认值
 
static const char * kNIMChatRoomEnterKeyAccID = "accid"
 string,登录聊天室的账号非匿名模式下使用
 
static const char * kNIMChatRoomEnterKeyToken = "token"
 string,登录聊天室的密码非匿名模式下使用
 
消息结构 Json Keys
static const char * kNIMChatRoomMsgKeyType = "msg_type"
 int, 消息类型(NIMChatRoomMsgType)
 
static const char * kNIMChatRoomMsgKeyAttach = "msg_attach"
 string, 消息内容,长度限制2048, 如果约定的是json字符串,必须为可以解析为json的非格式化的字符串
 
static const char * kNIMChatRoomMsgKeyClientMsgid = "client_msg_id"
 string,客户端消息id
 
static const char * kNIMChatRoomMsgKeyResendFlag = "resend_flag"
 int,消息重发标记位,第一次发送0,重发1
 
static const char * kNIMChatRoomMsgKeyExt = "ext"
 string, 第三方扩展字段, 长度限制4096, 必须为可以解析为Json的非格式化的字符串
 
static const char * kNIMChatRoomMsgKeyAntiSpamEnable = "anti_spam_enable"
 int, 是否需要过易盾反垃圾, 0:不需要,1:需要, 默认0
 
static const char * kNIMChatRoomMsgKeyAntiSpamContent = "anti_spam_content"
 string, (可选)开发者自定义的反垃圾字段, 长度限制2048
 
static const char * kNIMChatRoomMsgKeyAntiSpamBizId = "anti_spam_business_id"
 string, (可选)用户配置的对某些单条消息另外的反垃圾的业务ID
 
static const char * kNIMChatRoomMsgKeyHistorySave = "history_save"
 int,(可选)该消息是否存储云端历史,可选,0:不是,1:是, 默认1
 
static const char * kNIMChatRoomMsgKeyAntiSpamUsingYiDun = "anti_spam_using_yidun"
 int, (可选) 单条消息是否使用易盾反垃圾 0:(在开通易盾的情况下)不过易盾反垃圾而是通用反垃圾 其他都是按照原来的规则
 
static const char * kNIMChatRoomMsgKeyBody = "body"
 string,(可选)文本消息内容(聊天室机器人文本消息)
 
static const char * kNIMChatRoomMsgKeyThirdPartyCBEXT = "third_party_callback_ext"
 (可选)string第三方回调回来的自定义扩展字段 v7.8 新增
 
static const char * kNIMChatRoomMsgKeySubType = "msg_sub_type"
 (可选)int,消息的子类型,客户端定义,服务器透传
 
static const char * kNIMChatRoomMsgKeyYiDunAntiCheating = "yidun_anti_cheating"
 (可选)String, 易盾反垃圾增强反作弊专属字段, 限制json,长度限制1024
 
static const char * kNIMChatRoomMsgKeyEnvConfig = "env_config"
 (可选)String, 自定义抄送配置 v8.0.0 新增
 
static const char * kNIMChatRoomMsgKeyNotifyTags = "notify_tags"
 (可选)String 消息的目标标签表达式,参见TagPattern和TagCalculator v8.4.0 新增
 
static const char * kNIMChatRoomMsgKeyAntiSpamExt = "anti_spam_ext"
 (可选)String, 易盾反垃圾扩展字段,限制json,长度限制1024
 
static const char * kNIMChatRoomMsgKeyAntiSpamRes = "anti_spam_res"
 String, 易盾反垃圾返回的结果字段
 
static const char * kNIMChatRoomMsgKeyLocationX = "location_x"
 (可选)int, 位置信息 X 轴坐标
 
static const char * kNIMChatRoomMsgKeyLocationY = "location_y"
 (可选)int, 位置信息 Y 轴坐标
 
static const char * kNIMChatRoomMsgKeyLocationZ = "location_z"
 (可选)int, 位置信息 Z 轴坐标
 
static const char * kNIMChatRoomMsgKeyToAccids = "to_accids"
 (可选)string, json array,消息接受者,如果设置了本字段,且不为空,则本消息为聊天室定向消息(聊天室定向消息不会存历史)
 
static const char * kNIMChatRoomMsgNeedHighPriorityAck = "need_high_priority_ack"
 (可选)int, 高优消息是否需要ack,0:不需要,1:需要。默认为0
 
static const char * kNIMChatRoomMsgKeyRoomID = "room_id"
 long, 消息所属的聊天室id,服务器填写,发送方不需要填写
 
static const char * kNIMChatRoomMsgKeyFromAccount = "from_id"
 string, 消息发送者的账号,服务器填写,发送方不需要填写
 
static const char * kNIMChatRoomMsgKeyTime = "time"
 long, 消息发送的时间戳(毫秒),服务器填写,发送方不需要填写
 
static const char * kNIMChatRoomMsgKeyFromClientType = "from_client_type"
 int,消息发送方客户端类型(NIMChatRoomClientType),服务器填写,发送方不需要填写
 
static const char * kNIMChatRoomMsgKeyFromNick = "from_nick"
 string, 消息发送方昵称,服务器填写,发送方不需要填写
 
static const char * kNIMChatRoomMsgKeyFromAvatar = "from_avator"
 string, 消息发送方头像,服务器填写,发送方不需要填写
 
static const char * kNIMChatRoomMsgKeyFromExt = "from_ext"
 string, 消息发送方身份扩展字段,服务器填写,发送方不需要填写
 
static const char * kNIMChatRoomMsgKeyHighPriorityFlag = "high_priority_flag"
 int, 高优先级消息标记,1:是; 非高优先级消息不带该字段,服务器填写,发送方不需要填写
 
static const char * kNIMChatRoomMsgKeyLocalFilePath = "local_res_path"
 string, 暂时不用,多媒体消息资源本地绝对路径,SDK本地维护,发送多媒体消息时必填
 
static const char * kNIMChatRoomMsgKeyLocalResId = "res_id"
 string, 暂时不用,多媒体资源id,发送方选填,接收方收到的是客户端消息id
 
static const int iNIMMaxBatchQueue = 100
 int 聊天室更新的批量最大数
 
进入聊天室回调结果Json Keys
static const char * kNIMChatRoomEnterCallbackKeyRoomInfo = "room_info"
 json value, 见聊天室Info Json Keys
 
static const char * kNIMChatRoomEnterCallbackKeyMyInfo = "my_info"
 json value, 见聊天室个人Info Json Keys
 
聊天室Info Json Keys
static const char * kNIMChatRoomInfoKeyID = "id"
 long, 聊天室ID
 
static const char * kNIMChatRoomInfoKeyName = "name"
 string, 聊天室名称
 
static const char * kNIMChatRoomInfoKeyAnnouncement = "announcement"
 string, 聊天室公告
 
static const char * kNIMChatRoomInfoKeyBroadcastUrl = "broadcast_url"
 string, 视频直播拉流地址
 
static const char * kNIMChatRoomInfoKeyCreatorID = "creator_id"
 string, 聊天室创建者账号
 
static const char * kNIMChatRoomInfoKeyValidFlag = "valid_flag"
 int, 聊天室有效标记, 1:有效,0:无效
 
static const char * kNIMChatRoomInfoKeyExt = "ext"
 string, 第三方扩展字段, 必须为可以解析为Json的非格式化的字符串, 长度4k
 
static const char * kNIMChatRoomInfoKeyOnlineCount = "online_count"
 int, 当前在线用户数量
 
static const char * kNIMChatRoomInfoKeyMuteAll = "mute_all"
 int, 聊天室禁言标志 1:禁言,0:解除禁言
 
static const char * kNIMChatRoomInfoKeyQueuelevel = "queuelevel"
 int, 队列管理权限:0:所有人都有权限变更队列,1:只有主播管理员才能操作变更
 
聊天室个人Info Json Keys
static const char * kNIMChatRoomMemberInfoKeyRoomID = "room_id"
 long 聊天室id
 
static const char * kNIMChatRoomMemberInfoKeyAccID = "account_id"
 string 成员账号
 
static const char * kNIMChatRoomMemberInfoKeyType = "type"
 成员类型, -1:受限用户; 0:普通;1:创建者;2:管理员;3:临时用户,非固定成员;4:匿名非注册用户,非云信注册用户
 
static const char * kNIMChatRoomMemberInfoKeyLevel = "level"
 int 成员级别: >=0表示用户开发者可以自定义的级别
 
static const char * kNIMChatRoomMemberInfoKeyNick = "nick"
 string 聊天室内的昵称字段,预留字段, 可从Uinfo中取
 
static const char * kNIMChatRoomMemberInfoKeyAvatar = "avatar"
 string 聊天室内的头像,预留字段, 可从Uinfo中取icon
 
static const char * kNIMChatRoomMemberInfoKeyExt = "ext"
 string 开发者扩展字段, 长度限制2k, 必须为可以解析为Json的非格式化的字符串
 
static const char * kNIMChatRoomMemberInfoKeyTag = "tags"
 string 聊天室成员所属的 tag 信息
 
static const char * kNIMChatRoomMemberInfoKeyNotifyTags = "notify_tags"
 string 聊天室成员登录时指定的 notify_tags 信息
 
static const char * kNIMChatRoomMemberInfoKeyOnlineState = "online_state"
 NIMChatRoomOnlineState 成员是否处于在线状态, 仅特殊成员才可能离线, 对游客/匿名用户而言只能是在线
 
static const char * kNIMChatRoomMemberInfoKeyGuestFlag = "guest_flag"
 NIMChatRoomGuestFlag 是否是普通游客类型,0:不是游客,1:是游客; 游客身份在聊天室中没有持久化, 只有在线时才会有内存状态
 
static const char * kNIMChatRoomMemberInfoKeyEnterTimetag = "enter_timetag"
 long 进入聊天室的时间点,对于离线成员该字段为空
 
static const char * kNIMChatRoomMemberInfoKeyBlacklist = "is_blacklist"
 int 是黑名单
 
static const char * kNIMChatRoomMemberInfoKeyMuted = "is_muted"
 int 是禁言用户
 
static const char * kNIMChatRoomMemberInfoKeyValid = "valid"
 int 记录有效标记位
 
static const char * kNIMChatRoomMemberInfoKeyUpdateTimetag = "update_timetag"
 long 固定成员的记录更新时间,用于固定成员列表的排列查询
 
static const char * kNIMChatRoomMemberInfoKeyTempMute = "temp_mute"
 int 临时禁言
 
static const char * kNIMChatRoomMemberInfoKeyTempMuteRestDuration = "temp_mute_rest_duration"
 long 临时禁言的解除时长,单位秒
 
static const char * kNIMChatRoomAntiSpamBusinessID = "anti_spam_business_id"
 string 反垃圾
 
更新我的信息扩展字段 Json Keys
static const char * kNIMChatRoomUpdateMyRoleExtNeedSave = "need_save"
 bool 我的资料是否需要持久化保存,默认false
 
分页获取成员列表条件Keys
static const char * kNIMChatRoomGetMembersKeyType = "type"
 NIMChatRoomGetMemberType 成员类型
 
static const char * kNIMChatRoomGetMembersKeyTag = "tag"
 获取成员时指定的 tag
 
static const char * kNIMChatRoomGetMembersKeyOffset = "offset"
 long 时间戳,填0会使用当前服务器最新时间开始查询,即第一页
 
static const char * kNIMChatRoomGetMembersKeyLimit = "limit"
 int 数量
 
分获取历史消息条件Keys
static const char * kNIMChatRoomGetMsgHistoryKeyTags = "tags"
 array 查询历史消息指定的 tags
 
static const char * kNIMChatRoomGetMsgHistoryKeyStartTime = "start"
 long 开始时间,单位毫秒
 
static const char * kNIMChatRoomGetMsgHistoryKeyEndTime = "end"
 long 结束时间,单位毫秒
 
static const char * kNIMChatRoomGetMsgHistoryKeyLimit = "limit"
 int 本次返回的消息数量
 
static const char * kNIMChatRoomGetMsgHistoryKeyReverse = "reverse"
 boolean: true:按时间正序起查,正序排列,false:按时间逆序起查,逆序排列
 
static const char * kNIMChatRoomGetMsgHistoryKeyMsgtypes = "msgtypes"
 array:数组 要查询的消息类型,取值NIMChatRoomMsgType中所枚举类型
 
设定聊天室成员标记身份条件Keys
static const char * kNIMChatRoomSetMemberAttributeKeyAccoutID = "account_id"
 string 成员ID
 
static const char * kNIMChatRoomSetMemberAttributeKeyAttribute = "attribute"
 NIMChatRoomMemberAttribute.
 
static const char * kNIMChatRoomSetMemberAttributeKeyOpt = "opt"
 boolean: true:是,false:否
 
static const char * kNIMChatRoomSetMemberAttributeKeyNotifyExt = "notify_ext"
 string 自定义的事件通知扩展字段, 必须为可以解析为Json的非格式化的字符串
 
聊天室通知Keys
static const char * kChatRoomNotificationKeyData = "data"
 string 通知内容
 
static const char * kChatRoomNotificationKeyID = "id"
 string 通知类型ID
 
static const char * kChatRoomNotificationDataKeyExt = "ext"
 string 上层开发自定义的事件通知扩展字段, 必须为可以解析为Json的非格式化的字符串
 
static const char * kChatRoomNotificationDataKeyOpt = "operator"
 string 操作者的账号accid
 
static const char * kChatRoomNotificationDataKeyOptNick = "opeNick"
 string 操作者的账号nick
 
static const char * kChatRoomNotificationDataKeyTargetNick = "tarNick"
 string json array 被操作者的nick列表
 
static const char * kChatRoomNotificationDataKeyTarget = "target"
 string json array 被操作者的accid
 
static const char * kChatRoomNotificationDataKeyTempMuteDuration = "muteDuration"
 long 当通知为临时禁言相关时有该值,禁言时kNIMChatRoomNotificationIdMemberTempMute代表本次禁言的时长(秒)
 
static const char * kChatRoomNotificationDataKeyMuteFlag = "muted"
 int 当通知为 kNIMChatRoomNotificationIdMemberIn才有,代表是否禁言状态,1:是 缺省或0:不是
 
static const char * kChatRoomNotificationDataKeyTempMutedFlag = "tempMuted"
 int 当通知为 kNIMChatRoomNotificationIdMemberIn才有,代表是否临时禁言状态,1:是 缺省或0:不是
 
static const char * kChatRoomNotificationDataKeyMemberInTempMutedDuration = "muteTtl"
 long 当通知为 kNIMChatRoomNotificationIdMemberIn,代表临时禁言时长(秒), 其他通知事件不带该数据
 
static const char * kChatRoomNotificationDataKeyQueueChange = "queueChange"
 string 当通知为 kNIMChatRoomNotificationIdQueueChange,代表队列变更具体内容,内容解析 参考麦序队列变更通知扩展字段queueChange
 
static const char * kChatRoomNotificationDataKeyTargetTag = "targetTag"
 string 当通知为 kChatRoomNotificationIdTagTempMuteAdd 或 kChatRoomNotificationIdTagTempMuteRemove,代表被禁言的目标 tag
 
static const char * kChatRoomNotificationDataKeyMsgTimetag = "msgTime"
 int64_t 当通知为 kNIMChatRoomNotificationIdRecallMessage,代表被撤回消息的消息时间戳
 
static const char * kChatRoomNotificationDataKeyMsgId = "msgId"
 string 当通知为 kNIMChatRoomNotificationIdRecallMessage,代表被撤回消息的消息 ID
 
static const char * kChatRoomNotificationDataKeyTags = "tags"
 string 当通知为 kNIMChatRoomNotificationIdMemberTagChanged 时,代表变更后的 tags 信息
 
聊天室麦序队列元素Keys
static const char * kNIMChatRoomQueueElementKey = "key"
 string 元素key
 
static const char * kNIMChatRoomQueueElementValue = "value"
 string 元素value
 
聊天室添加、更新队列元素选项
static const char * kNIMChatRoomQueueOfferOptionTransient = "transient"
 bool (可选参数)true 表示当提交这个新元素的用户从聊天室掉线或退出的时候,需要删除这个元素;默认 false 表示不删除
 
static const char * kNIMChatRoomQueueOfferOptionElementAccId = "element_accid"
 string (可选参数)队列元素所属账号,默认不传表示队列元素属于当前操作人,管理员可以指定队列元素归属于其他合法账号
 
麦序队列变更通知扩展字段type取值
static const char * kNIMChatRoomNotificationQueueChangedType_OFFER = "OFFER"
 放元素到新队列
 
static const char * kNIMChatRoomNotificationQueueChangedType_POLL = "POLL"
 从队列中取出新队列
 
static const char * kNIMChatRoomNotificationQueueChangedType_DROP = "DROP"
 清理队列操作
 
static const char * kNIMChatRoomNotificationQueueChangedType_PARTCLEAR = "PARTCLEAR"
 部分清理操作(发生在提交元素的用户掉线时,清理这个用户对应的key
 
聊天室通知 麦序队列变更通知扩展字段queueChange keys
static const char * kNIMChatRoomNotificationQueueChangedKeyType = "_e"
 string 变更类型,目前有OFFER,POLL,DROP,BATCH_UPDATE 类型
 
static const char * kNIMChatRoomNotificationQueueChangedKeyKey = "key"
 string 变更元素的key
 
static const char * kNIMChatRoomNotificationQueueChangedKeyValue = "content"
 string 变更元素的内容
 
聊天室通知 麦序队列中有批量变更通知扩展字段queueBatchChange keys

@ 当type为"PARTCLEAR"时,一般情况下只会有_e和kvObject字段,不会有key和content字段

static const char * kNIMChatRoomNotificationQueueBatchChangedKeyType = "_e"
 string 变更类型,目前有OFFER,POLL,DROP,PARTCLEAR四个类型
 
static const char * kNIMChatRoomNotificationQueueBatchChangedKeyKey = "key"
 string 变更元素的key
 
static const char * kNIMChatRoomNotificationQueueBatchChangedKeyValue = "content"
 string 变更元素的内容
 
static const char * kNIMChatRoomNotificationQueueBatchChangedKeyObject = "kvObject"
 map 变更元素的内容
 
机器人信息 Json Keys

例子 { "accid" : "", "create_timetag" : 1430101821372, "icon" : "", "intro":"", "name" : "", "update_timetag" : 1430101821372, "rid":"" }

static const char * kNIMRobotInfoKeyAccid = "accid"
 string 帐号
 
static const char * kNIMRobotInfoKeyName = "name"
 string 名字
 
static const char * kNIMRobotInfoKeyIcon = "icon"
 string 头像
 
static const char * kNIMRobotInfoKeyIntro = "intro"
 string 介绍
 
static const char * kNIMRobotInfoKeyRobotId = "rid"
 string 机器人ID
 
static const char * kNIMRobotInfoKeyCreateTime = "create_timetag"
 long 创建时间戳 毫秒
 
static const char * kNIMRobotInfoKeyUpdateTime = "update_timetag"
 long 更新时间戳 毫秒
 
公共配置 Json Keys
static const char * kEnterKeyPublicConfigRoot = "public_config"
 json obj 公共配置root key
 
static const char * kEnterKeyDedicatedClusteFlag = "dedicated_cluste_flag"
 int 是否为专属集群 1:是 0: 否
 
static const char * kEnterKeyNegoKeyNECA = "nego_key_neca"
 int "交换密钥"协议加密算法 {1(RSA),2(SM2)}, def:1(RSA) 非对称加密
 
static const char * kEnterKeyCommNECA = "comm_enca"
 int 通信加密算法 {1(RC4),2(AES128),4(SM4)} def:1(RC4) 对称加密
 
static const char * kEnterKeyHandShakeType = "hand_shake_type"
 int 登录时使用的握手协议类型 0:支持配置多种对称与非对称加密算法,1:只支持RAS + RC4,缺省 1
 
私有化配置 Json Keys
static const char * kEnterKeyPrivateConfigRoot = "private_config"
 json obj 私有配置root key
 
static const char * kEnterKeyNegoKeyNECAKeyPA = "nego_key_enca_key_parta"
 string "交换密钥"协议加密算法密钥 part A 自定义时则必填 BigNumHex string 不含0x RSA:module,SM2:X
 
static const char * kEnterKeyNegoKeyNECAKeyPB = "nego_key_enca_key_partb"
 string "交换密钥"协议加密算法密钥 part B 自定义时则必填 BigNumHex string 不含0x RSA:EXP,SM2:Y
 
static const char * kEnterKeyNegoKeyNECAKeyV = "nego_key_enca_key_version"
 int 非对称加密算法的 key version 自定义时则必填
 

Detailed Description

聊天室 接口相关的常量函数等定义头文件

Author
Oleg, Harrison
Date
2015/12/24

Typedef Documentation

◆ nim_chatroom_batch_update_cb

void(* nim_chatroom_batch_update_cb)(int room_id, const char *result, const char *json_extension, const void *user_data)

批量更新成员列表信息函数

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]result不存在的元素列表 Json string array
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_custom_token_cb_func

void(* nim_chatroom_custom_token_cb_func)(char *&auth_token, uint32_t *length, const char *json_params, const void *user_data)

登录时 auth type 不为 0 时触发断线重连的回调函数,在此回调中填充auth_token

Parameters
[in]auth_token新的 auth token
[in]lengthtoken缓冲区的长度
[out]json_params输出的json字符串内容
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_enter_cb_func

void(* nim_chatroom_enter_cb_func)(int64_t room_id, int enter_step, int error_code, const char *result, const void *user_data)

进入的回调函数定义

Parameters
[out]room_id聊天室ID
[out]enter_step进入聊天室的过程(NIMChatRoomEnterStep)
[out]error_code错误码(关注但不仅限200,408,415,10001,13001,13002,13003,如果错误码为10001,聊天室重连机制结束,则需要向IM服务器重新请求进入该聊天室权限)
[out]result聊天室信息
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_exit_cb_func

void(* nim_chatroom_exit_cb_func)(int64_t room_id, int error_code, int exit_type, const char *json_extension, const void *user_data)

退出、被踢的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]exit_type退出原因(ChatRoomExitReason)
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_get_info_cb_func

void(* nim_chatroom_get_info_cb_func)(int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)

获取当前聊天室信息的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]resultmember info json string , json key定义见 聊天室Info Json Keys
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_get_members_cb_func

void(* nim_chatroom_get_members_cb_func)(int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)

获取指定/分页获取成员列表的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]resultjson string , json key定义见 聊天室个人Info Json Keys
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_get_msg_cb_func

void(* nim_chatroom_get_msg_cb_func)(int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)

获取历史消息的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]resultjson string , json key定义见 消息结构 Json Keys
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_kick_member_cb_func

void(* nim_chatroom_kick_member_cb_func)(int64_t room_id, int error_code, const char *json_extension, const void *user_data)

踢掉指定成员的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_link_condition_cb_func

void(* nim_chatroom_link_condition_cb_func)(int64_t room_id, int condition, const void *user_data)

聊天室链接状况的回调函数定义

Parameters
[out]room_id聊天室ID
[out]condition网络状况
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_query_members_count_by_tag_cb_func

void(* nim_chatroom_query_members_count_by_tag_cb_func)(int64_t room_id, int error_code, uint64_t count, const char *json_extension, const void *user_data)

查询指定 tag 在聊天室的成员数量回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]count指定 tag 的成员数量
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_query_robots_cb_func

void(* nim_chatroom_query_robots_cb_func)(int rescode, const char *result, const char *json_extension, const void *user_data)

获取机器人信息的函数定义

Parameters
[out]rescode错误码,200:一切正常
[out]result机器人信息 Json string array
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_queue_drop_cb_func

void(* nim_chatroom_queue_drop_cb_func)(int64_t room_id, int error_code, const char *json_extension, const void *user_data)

删除麦序队列的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_queue_header_cb_func

void(* nim_chatroom_queue_header_cb_func)(int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)

查看头元素的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]resultjson object string (聊天室麦序队列元素Keys)
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_queue_init_cb_func

void(* nim_chatroom_queue_init_cb_func)(int64_t room_id, int error_code, const char *json_extension, const void *user_data)

麦序队列初始化的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_queue_list_cb_func

void(* nim_chatroom_queue_list_cb_func)(int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)

排序列出所有元素的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]resultjson array string (聊天室麦序队列元素Keys)
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_queue_offer_cb_func

void(* nim_chatroom_queue_offer_cb_func)(int64_t room_id, int error_code, const char *json_extension, const void *user_data)

新加(更新)队列元素的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_queue_poll_cb_func

void(* nim_chatroom_queue_poll_cb_func)(int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)

取出元素的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]resultjson object string (聊天室麦序队列元素Keys)
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_receive_msg_cb_func

void(* nim_chatroom_receive_msg_cb_func)(int64_t room_id, const char *result, const char *json_extension, const void *user_data)

接收消息的回调函数定义

Parameters
[out]room_id聊天室ID
[out]resultjson string, json key定义见 消息结构 Json Keys
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_receive_notification_cb_func

void(* nim_chatroom_receive_notification_cb_func)(int64_t room_id, const char *result, const char *json_extension, const void *user_data)

聊天室通知的回调函数定义

Parameters
[out]room_id聊天室ID
[out]resultjson string, json key定义见 聊天室通知Keys
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_sdk_log_cb_func

void(* nim_chatroom_sdk_log_cb_func)(const char *log_content, const void *user_data)

SDK系统日志回调

Parameters
[out]log_content日志内容
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_sendmsg_arc_cb_func

void(* nim_chatroom_sendmsg_arc_cb_func)(int64_t room_id, int error_code, const char *result, const void *user_data)

发送消息回执的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码(关注但不仅限200,408,416,13004,13006)
[out]resultjson string
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_set_member_attribute_cb_func

void(* nim_chatroom_set_member_attribute_cb_func)(int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)

设定聊天室成员标记身份的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]resultjson string
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_tags_changed_cb_func

void(* nim_chatroom_tags_changed_cb_func)(int64_t room_id, const char *new_tags,, const char *json_extension, const void *user_data)

注册聊天室中自己 tags 变更回调

Parameters
[in]room_id聊天室 ID
[in]new_tags变更后的 tags 信息
[out]json_extensionjson 扩展数据(备用)
[out]user_dataAPP 的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_temp_mute_member_by_tag_cb_func

void(* nim_chatroom_temp_mute_member_by_tag_cb_func)(int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)

临时禁言指定 tag 下的成员回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]resultmember info json string
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_temp_mute_member_cb_func

void(* nim_chatroom_temp_mute_member_cb_func)(int64_t room_id, int error_code, const char *result, const char *json_extension, const void *user_data)

临时禁言指定成员的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]resultmember info json string
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_update_location_cb_func

void(* nim_chatroom_update_location_cb_func)(int64_t room_id, int error_code, const char *json_extension, const void *user_data)

更新聊天室位置信息回调函数

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_update_my_role_cb_func

void(* nim_chatroom_update_my_role_cb_func)(int64_t room_id, int error_code, const char *json_extension, const void *user_data)

更新我的信息的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_update_room_info_cb_func

void(* nim_chatroom_update_room_info_cb_func)(int64_t room_id, int error_code, const char *json_extension, const void *user_data)

更新聊天室信息的回调函数定义

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_update_tags_cb_func

void(* nim_chatroom_update_tags_cb_func)(int64_t room_id, int error_code, const char *json_extension, const void *user_data)

更新聊天室标签回调函数

Parameters
[out]room_id聊天室ID
[out]error_code错误码
[out]json_extensionjson扩展数据(备用)
[out]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

Enumeration Type Documentation

◆ NIMChatRoomClientType

聊天室消息来源端

Enumerator
kNIMChatRoomClientTypeDefault 

default,unset

kNIMChatRoomClientTypeAndroid 

android

kNIMChatRoomClientTypeiOS 

iOS

kNIMChatRoomClientTypePCWindows 

PC

kNIMChatRoomClientTypeWindowsPhone 

WindowsPhone

kNIMChatRoomClientTypeWeb 

Web

kNIMChatRoomClientTypeRestAPI 

RestAPI

kNIMChatRoomClientTypeMacOS 

Mac

◆ NIMChatRoomEnterStep

聊天室进入状态

Enumerator
kNIMChatRoomEnterStepInit 

本地服务初始化

kNIMChatRoomEnterStepServerConnecting 

服务器连接中

kNIMChatRoomEnterStepServerConnectOver 

服务器连接结束,连接结果见error_code

kNIMChatRoomEnterStepRoomAuthing 

聊天室鉴权中

kNIMChatRoomEnterStepRoomAuthOver 

聊天室鉴权结束,鉴权结果见error_code, error_code非408则需要开发者重新请求聊天室进入信息

◆ NIMChatRoomExitReason

聊天室离开原因

Enumerator
kNIMChatRoomExitReasonExit 

自行退出,重登前需要重新请求进入

kNIMChatRoomExitReasonRoomInvalid 

聊天室已经被解散,重登前需要重新请求进入

kNIMChatRoomExitReasonKickByManager 

被管理员踢出,重登前需要重新请求进入

kNIMChatRoomExitReasonKickByMultiSpot 

多端被踢

kNIMChatRoomExitReasonIllegalState 

当前链接状态异常

kNIMChatRoomExitReasonBeBlacklisted 

被加黑了

◆ NIMChatRoomGetMemberType

查询成员的成员类型

Enumerator
kNIMChatRoomGetMemberTypeSolid 

固定成员,固定成员,包括创建者,管理员,普通等级用户,受限用户(禁言+黑名单)即使非在线也可以在列表中看到,有数量限制,查询时时间戳使用"updatetime"

kNIMChatRoomGetMemberTypeTemp 

非固定成员,非固定成员,又称临时成员,只有在线时才能在列表中看到,数量无上限,查询时时间戳使用"进入聊天室时间"

kNIMChatRoomGetMemberTypeSolidOL 

在线固定成员 查询时时间戳使用"updatetime"

kNIMChatRoomGetMemberTypeTempOL 

非固定成员(反向查询) 查询时时间戳使用"进入聊天室时间"

◆ NIMChatRoomGuestFlag

成员类型

Enumerator
kNIMChatRoomGuestFlagNoGuest 

非游客

kNIMChatRoomGuestFlagGuest 

游客

◆ NIMChatRoomLinkCondition

聊天室链接情况,一般都是有本地网路情况引起

Enumerator
kNIMChatRoomLinkConditionAlive 

链接正常

kNIMChatRoomLinkConditionDeadAndRetry 

链接失败,sdk尝试重链

kNIMChatRoomLinkConditionDead 

链接失败,开发者需要重新申请聊天室进入信息

◆ NIMChatRoomLoginState

登录状态

Enumerator
kNIMChatRoomLoginStateLogin 

登录状态

kNIMChatRoomLoginStateUnLogin 

未登录状态

◆ NIMChatRoomMemberAttribute

设置成员的成员身份

Enumerator
kNIMChatRoomMemberAttributeAdminister 

管理员,operator必须是创建者

kNIMChatRoomMemberAttributeNomalMember 

普通成员,operator必须是创建者或管理员

kNIMChatRoomMemberAttributeBlackList 

黑名单,operator必须是创建者或管理员

kNIMChatRoomMemberAttributeMuteList 

禁言,operator必须是创建者或管理员

◆ NIMChatRoomMsgType

聊天室消息类型

Enumerator
kNIMChatRoomMsgTypeText 

文本类型消息

kNIMChatRoomMsgTypeImage 

图片类型消息

kNIMChatRoomMsgTypeAudio 

声音类型消息

kNIMChatRoomMsgTypeVideo 

视频类型消息

kNIMChatRoomMsgTypeLocation 

位置类型消息

kNIMChatRoomMsgTypeNotification 

活动室通知

kNIMChatRoomMsgTypeFile 

文件类型消息

kNIMChatRoomMsgTypeRobot 

波特机器人消息

kNIMChatRoomMsgTypeTips 

提醒类型消息

kNIMChatRoomMsgTypeCustom 

自定义消息

kNIMChatRoomMsgTypeUnknown 

未知类型消息,作为默认值

◆ NIMChatRoomNotificationId

聊天室通知类型 {"data" : {"ext":"", "operator":"", "opeNick":"", "tarNick":["",...], "target":["",...], ...}, "id": 301}

Enumerator
kNIMChatRoomNotificationIdMemberIn 

成员进入聊天室

kNIMChatRoomNotificationIdMemberExit 

成员离开聊天室

kNIMChatRoomNotificationIdAddBlack 

成员被加黑

kNIMChatRoomNotificationIdRemoveBlack 

成员被取消黑名单

kNIMChatRoomNotificationIdAddMute 

成员被设置禁言

kNIMChatRoomNotificationIdRemoveMute 

成员被取消禁言

kNIMChatRoomNotificationIdAddManager 

设置为管理员

kNIMChatRoomNotificationIdRemoveManager 

取消管理员

kNIMChatRoomNotificationIdAddFixed 

成员设定为固定成员

kNIMChatRoomNotificationIdRemoveFixed 

成员取消固定成员

kNIMChatRoomNotificationIdClosed 

聊天室被关闭了

kNIMChatRoomNotificationIdInfoUpdated 

聊天室信息被更新了

kNIMChatRoomNotificationIdMemberKicked 

成员被踢了

kNIMChatRoomNotificationIdMemberTempMute 

临时禁言

kNIMChatRoomNotificationIdMemberTempUnMute 

主动解除临时禁言

kNIMChatRoomNotificationIdMyRoleUpdated 

成员主动更新了聊天室内的角色信息(仅指nick/avator/ext)

kNIMChatRoomNotificationIdQueueChanged 

麦序队列中有变更 "ext" : {"_e":"OFFER", "key":"element_key", "content":"element_value"}

kNIMChatRoomNotificationIdRoomMuted 

聊天室被禁言了,只有管理员可以发言,其他人都处于禁言状态

kNIMChatRoomNotificationIdRoomDeMuted 

聊天室解除全体禁言状态

kNIMChatRoomNotificationIdQueueBatchChanged 

麦序队列中有批量变更,发生在元素提交者离开聊天室或者从聊天室异常掉线时

kNIMChatRoomNotificationIdTagTempMuteAdd 

聊天室新增标签禁言,包括的字段是muteDuration、targetTag、operator、opeNick字段

kNIMChatRoomNotificationIdTagTempMuteRemove 

聊天室移除标签禁言,包括的字段是muteDuration、targetTag、operator、opeNick字段

kNIMChatRoomNotificationIdRecallMessage 

聊天室消息撤回,包括的字段是operator、target、msgTime、msgId、ext字段

kNIMChatRoomNotificationIdQueueBatchOffer 

聊天室麦序队列中有批量增加通知消息 "ext" :{"_e":"BATCH_OFFER","elements":[{"nick":"ddd","accid":"ljmt","value":"v2","key":"hzlj02_key2"}]}

kNIMChatRoomNotificationIdMemberTagChanged 

聊天室中有成员 tags 变更

◆ NIMChatRoomOnlineState

在线状态

Enumerator
kNIMChatRoomOnlineStateOffline 

不在线

kNIMChatRoomOnlineStateOnline 

在线

◆ NIMChatRoomProxyType

代理类型

Enumerator
kNIMChatRoomProxyNone 

不使用代理

kNIMChatRoomProxyHttp11 

HTTP 1.1 Proxy(暂不支持)

kNIMChatRoomProxySocks4 

Socks4 Proxy

kNIMChatRoomProxySocks4a 

Socks4a Proxy

kNIMChatRoomProxySocks5 

Socks5 Proxy

◆ NIMSDKLogLevel

聊天室日志级别

Enumerator
kNIMSDKLogLevelFatal 

SDK Fatal级别Log

kNIMSDKLogLevelError 

SDK Error级别Log

kNIMSDKLogLevelWarn 

SDK Warn级别Log

kNIMSDKLogLevelApp 

SDK应用级别Log,正式发布时为了精简sdk log,可采用此级别

kNIMSDKLogLevelPro 

SDK调试过程级别Log,更加详细,更有利于开发调试

kNIMSDKLogLevelFatal 

SDK Fatal级别Log.

kNIMSDKLogLevelError 

SDK Error级别Log.

kNIMSDKLogLevelWarn 

SDK Warn级别Log.

kNIMSDKLogLevelApp 

SDK应用级别Log,正式发布时为了精简sdk log,可采用此级别

kNIMSDKLogLevelPro 

SDK调试过程级别Log,更加详细,更有利于开发调试

Variable Documentation

◆ kNIMChatRoomEnterKeyAppDataPath

const char* kNIMChatRoomEnterKeyAppDataPath = "app_data_path"
static

string 应用数据目录,匿名登录时必填,使用默认路径时只需传入单个目录名(不以反斜杠结尾) 使用自定义路径时需传入完整路径(以反斜杠结尾,并确保有正确的读写权限!)