Thunbu IM JSSdk 文档
快速开始
闪布IM JSSDK (Javascript SDK)可以使用在PC/移动网页端应用,也可以使用在Electron、RN、小程序等跨平台应用中,提供全面而完善的即时通讯开发能力,使开发人员通过简单快速的对接集成即时通讯的功能。
1、接入sdk
2、初始化SDK
3、登入
4、消息收发
5、业务相关、历史消息等
6、登出
集成方式
标签引入
<script src="https://flashchart-oss.oss-cn-hangzhou.aliyuncs.com/web-assets/js/shanliao-sdk/0.0.3/thunbuim-web-sdk.js"></script>
这样的话可以使用全局对象 window.SIM
获取sdk的引用。
npm 下载
使用
npm install thunbu-im-sdk --save
或
yarn add thunbu-im-sdk
从远程仓库上下载SDK
使用从远程仓库下载的SDK将附带有
Typescript
支持,使用标签引入或者文件引入的,也可以移步闪布开发者平台 下载.d.ts
文件以获取Typescript支持
Demo 支持
在闪布开发者平台站点上,包含现有SDK的使用实例
浏览器兼容性
PC浏览器 | Chrome | Firefox | Safari | Edge | Opera | Internet Explorer |
---|---|---|---|---|---|---|
最低支持 | Yes | 7 | Yes | 12 | Yes | 10 |
移动端浏览器 | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet |
---|---|---|---|---|---|---|
最低支持 | Yes | Yes | 7 | ? | Yes | Yes |
因为在某些浏览器内单个方法版本另有差异,这样就导致即使在主流浏览器的低版本中,也有可能出现单个websocket不支持从而出错,详情参见MDN Websocket,当浏览器不兼容时
SIM.init(config, onSuccess, onFail);
// 或者
new SIM({});
会返回一个错误SCOKET_ENOTSUP(-1000)
。
小程序接入
小程序相关接入方式需联系开发人员进行沟通集成
初始化
初始化SDK
在所有事情开始之前,必须要先将SIM
对象初始化,告诉SIM
相关配置是什么,如果是web端,apiBaseUrl
如果传全路径可能会报跨域的问题,这个时候也可以传代理路径,不需要传全路径也可以正常工作,会将接口请求到当前域下的代理路径
从 npm 下载
import SIM from 'thunbu-im-sdk';
const SIMInstance = new SIM({
serverip: 'ws://localhost:3000/test', // websocket 地址
apiBaseUrl: 'http://localhost:9000/', // IM http 业务接口访问地址
debug: false // 是否打开控制台
});
标签引入模式
const SIMInstance = new window.SIM({
serverip: 'ws://localhost:3000/test', // websocket 地址
apiBaseUrl: 'http://localhost:9000/', // IM http 业务接口访问地址
debug: false // 是否打开控制台
});
在初始化成功后,会执行相应的回调方法,若是失败,则会在失败的回调中告知错误原因。
详见错误码列表
监听SIM方法
在初始化完成之后,可以监听由SIM
提供的事件
从 npm 下载
SIMInstance.addEventListener('msg', function (msg) {
console.log('notice: ', msg); // 接收到新消息
});
SIMInstance.addEventListener('notice', function (res) {
console.log('notice: ', res); // 接收到通知消息
});
SIMInstance.addEventListener('msgChange', function (res) {
console.log('msgChange: ', res); // 消息变化通知
});
SIMInstance.addEventListener('connectChange', function (status) {
console.log('connectChange: ', status); // 链接状态变更
});
标签引入模式
window.SIM.addEventListener('msg', function (msg) {
console.log('notice: ', msg); // 接收到新消息
});
window.SIM.addEventListener('notice', function (res) {
console.log('notice: ', res); // 接收到通知消息
});
window.SIM.addEventListener('msgChange', function (res) {
console.log('msgChange: ', res); // 消息变化通知
});
window.SIM.addEventListener('connectChange', function (status) {
console.log('connectChange: ', status); // 链接状态变更
});
登录
登入
在初始化完成之后,开发人员需要操作SIM
来告知SDK需要登录到IM服务器了,在通过相关服务(可能是私有化部署的本地后台服务,也可能是闪布服务,具体服务地址视后台地址决定)鉴权后,就可以开始登录IM服务器了~
SIMInstance.login({
userId: "userId", // 用户ID
userSig: "userSig", // 用户凭证
appId: "appId", // 应用ID
terminal: "terminal", // 终端类型,0为mobile,1为pc或web端
appversion: "appversion", // 应用版本号
}).then(() => {
console.log('login success!');
}).catch((err) => {
console.log('login error! ', err);
});
登录成功之后,会执行相应的回调方法,若是登录失败,则会在失败的回调中告知原因
详见错误码列表
登出
退出登录功能
SIMInstance.logout().then(() => {
console.log('logout success!');
}).catch((err) => {
console.log('logout error! ', err);
});
我们来简单的发个消息
我们使用SIM
提供的sendMsg
方法来完成给小伙伴发消息~
SIMInstance.sendMsg({
type: 0, // 这里我们定义的 0 就代表是文本消息
message: { // 消息体内容
text: 'hello world!' // 文本消息
},
receiver: "9527", // 将消息发送给TA,消息的接收者
securityType: 0, // 安全类型 默认是0
cross: 0, // 是否跨域
sender: "9528", // 发送者的ID,你发送的就是你自己咯
chatType: 0, // 你和Ta的会话类型,单聊为0, 群聊为1
}).then((msgId) => {
console.log('sendMsg success!', msgId);
}).catch((err) => {
console.log('sendMsg error! ', err);
});
发送消息后,如果另一端已经处于登录状态并且已经监听了SIM
提供的几个事件的话,则会打印出相应的消息体,就已经完成了最基本的消息收发啦
***恭喜您!***在经过简单的配置之后,终于可以开始发送/接收消息了~ 下面, 我们就可以开始扩展应用的更多功能了!
⚠️
注意我们在后续版本将基于npm进行版本管理,若是需要标签引入的源代码,则可联系客服或者对接人员提供
因为标签引入的模式不利于长期维护以及类型支持,并且我们的文档也是基于npm发布版本的内容进行讲解,包含JavaScript的新特性,所以推荐工程项目内都使用npm下载
基础方法与事件交互
介绍SIM
提供的基础方法,包含登入登出、消息发送、事件监听、工具方法等
基础方法
SIM
初始化
初始化SIM,在登录之前
类型定义
type SIMInitParams = {
apiBaseUrl: boolean,
serverip: boolean,
debug?: boolean
}
🌰
Demo 例子const SIMInstance = new SIM({
apiBaseUrl: '/base-api',
serverip: 'wss://ws.test.com'
}).then(() => {
console.log('SIM init Success');
}).catch((err) => {
console.error('SIM init Error:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SIMInitParams | 初始化SIM的参数 |
SIMInitParams
对象类型
参数 | 类型 | 说明 |
---|---|---|
apiBaseUrl | string | SIM业务接口调用路径 |
serverip | string | webSocket 连接地址 |
?debug | Boolean | [可选参数] 是否开启调试模式,如果开启,则控制台会打印SIM的日志,反之不会打印 |
login
登录SIM: 使用websocket登录至IM服务器
类型定义
type SIMLoginParams = {
appId: string,
userId: string,
userSig: string,
}
type EmptyFun = (...arg: any) => void;
type login = (parms: SIMLoginParams) => Promise<string>
Demo 例子🌰
SIMInstance.login({
appId: '1',
userId: '9527',
userSig: 'wo-shi-yi-dui-zi-fu-chuan'
}).then(() => {
console.log('SIM login Success');
}).catch((err) => {
console.error('SIM login Error:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SIMLoginParams | 登录SIM的参数 |
SIMLoginParams
-对象类型
参数 | 类型 | 说明 |
---|---|---|
appId | string | 应用ID |
userId | string | 登录的用户Id |
userSig | string | 登录的用户userSig |
logout
登出: 用户登出 SIM
类型定义
type EmptyFun = (...arg: any) => void;
type logout = (onSuccess?: EmptyFun, onFail?: EmptyFun) => Promise<void>;
Demo 例子🌰
SIMInstance.login().then(() => {
console.log('SIM logout Success');
}).catch((err) => {
console.error('SIM logout Error:', err);
})
返回值
Promise<void>
方法参数
无
testOnLine
检查链接情况: 检查websocket与服务器链接状态, 该函数并没有返回值,如果检测到连接终端,则会通过事件通知
类型定义
type testOnLine = (delay: number = 300) => void;
🌰
Demo 例子SIMInstance.testOnLine();
方法参数
参数 | 类型 | 说明 |
---|---|---|
?delay | number | [可选参数] 退出登录成功的回调 |
事件交互
SIM 的变更事件都会通过事件机制反馈给开发者
addEventListener
绑定事件: 事件名 | 参数 | 描述 |
---|---|---|
"msg" | NormalMessageItem (不同的消息类型的消息包体会有所不同) | 接收到新消息时触发的事件 |
"repetitionMsg" | any | 消息重复时触发的事件 |
"notice" | NoticeMessageItem | 接收到新通知消息时触发的事件 |
"msgChange" | NormalMessageItem | 消息变更时触发的事件,比如:已读、撤回、删除、标记、取消标记等 |
"connectChange" | any | IM连接状态变更时触发的事件 |
🌰
Demo 例子SIMInstance.addEventListener('msg', () => {
console.log('on message:', msg);
});
SIMInstance.addEventListener('notice', (notice) => {
console.log('on notice:', notice);
});
removeEventListener
解绑事件: 可以解绑的事件和可以绑定的事件名称可取值是一样的
类型定义
type removeEventListener = (eventName?: string, callback?: AnyFuncion) => void;
🌰
Demo 例子SIMInstance.removeEventListener('msg', () => {
console.log('on message:', msg);
});
注意
⚠️ ,如果不传 eventName 或者 eventName为空字符串,SIM将会认为程序需要将所有的监听事件都清除掉,所以务必保证知晓参数完整的必要性
utils - 工具集
在SIM
中,我们提供了一些简易的工具集以供开发人员使用
getGuid
获取uuid: 通过获取n位随机字符串生成的唯一ID
类型定义
getGuid: (length?: number) => string;
Demo
SIMInstance.utils.getGuid(4);
返回参数
参数 | 类型 | 说明 |
---|---|---|
uuid | string | 唯一ID |
getImgFormat
获取图片类型: 通过获取到的文件路径来确定图片类型(主要是根据文件名的后缀)
返回0|1|255 对应不同的图片类型
类型定义
getImgFormat: (filePath: string) => 0 | 1 | 255;
🌰
Demo 例子SIMInstance.utils.getImgFormat("C:\test.png"); // return: 1
返回参数
参数 | 类型 | 说明 |
---|---|---|
fileType | 0 | 1 |
getFileFormat
获取文件类型: 通过获取到的问年间路径来确定文件类型(主要根据文件类型)
返回对应的文件类型
类型定义
getFileFormat: (filePath: string) => 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 255;
🌰
Demo 例子SIMInstance.utils.getImgFormat("C:\test.png"); // return: 3
参数 | 类型 | 说明 |
---|---|---|
filePath | string | 文件路径,包含文件名的路径 |
返回值
类型 | 说明 |
---|---|
0|1|2|3|4|5|6|7|8|9|10|11|12|255 | 0: txt 文本文件,匹配txt 1: word文件,匹配 doc|docx|docm|dot|dotx|wps 2: Excel文件,匹配 xls|xlsx|xlsm|xlt|csv 3: 图片文件,匹配 jpg|jpeg|jp2|png|svg|bmp|gif|iff|pcx|pixar|pxr|tiff|cal 4: pdf 文件,匹配 pdf 5: ppt 文件,匹配 ppt|pptx|pps|ppsm 6: 压缩文件,匹配 rar|ace|ari|arc|ar|arj|bz|bza|bz2|car|dar|gca|gz|jar|taz|tar|exe|zip|7z|zz 7: html文件,匹配 html|htm 8: mp4文件,匹配 mp4 9: mp3文件,匹配 mp3 10: 思维导图文件,匹配 mmap|xmind|mm 11: Ai文件,匹配 ai|eps 12: psd 文件,匹配 psd 255: 未知文件 |
IM 统一类型定义
Socket状态码
enum IM_Status {
/** 成功:200 */
SUCCEED = 200,
/** 参数正确:0 */
ARGS_CORRECT = 0,
/** 参数错误:-1 */
ARGS_ERROR = -1,
/** 未知错误:-99 */
ERROR_UNKNOWN = -99,
/** 网络连接中断:-100 */
NETWORK_OFFLINE = -100,
/** 请求超时:-101 */
REQUEST_TIMEOUT = -101,
/** 不支持h5:-1000 */
SCOKET_ENOTSUP = -1000,
/** 连接超时:-1001 */
SCOKET_TIMEOUT = -1001,
/** 已连接:-1002 */
SCOKET_CONNECT = -1002,
/** 连接中:-1003 */
SCOKET_CONNECTING = -1003,
/** 未连接:-1004 */
SCOKET_UNCONNECT = -1004,
/** 连接失败:-1005 */
SCOKET_CONNECT_ERROR = -1005,
/** 并发太高:-1006 */
SCOKET_COUNT_ERROR = -1006,
/** 登陆中:-1100 */
LOGIN_LOGINING = -1100,
/** 重复登陆:-1101 */
LOGIN_REPEAT = -1101,
/** 未登陆:-1102 */
LOGIN_NOTLOGIN = -1102
}
IM command 枚举
enum IMCommandEnum {
CMD_HB = 0,
/** 命令-登陆:1 */
CMD_LOGIN = 1,
/** 命令-登出:2 */
CMD_LOGOUT = 2,
/** 命令-上线通知:3 */
CMD_CONNECT_ONLINE_NOTICE = 3,
/** 命令-上传终端设备信息:7 */
CMD_UPLOAD_TERMINAL = 7,
/** 命令-下线通知:8 */
CMD_CONNECT_OFFLINE_NOTICE = 8,
/** 命令-消息:20 */
CMD_MSG = 20,
/** 命令-消息-服务端回执:21 */
CMD_MSG_S_RES = 21,
/** 命令-消息-客户端回执:22 */
CMD_MSG_C_RES = 22,
/** 命令-消息-已读:23 */
CMD_MSG_READ = 23,
/** 命令-消息-撤回:24 */
CMD_MSG_REVOCATION = 24,
/** 命令-消息-用户删除:25 */
CMD_MSG_DELETE = 25,
/** 命令-消息-管理员删除:26 */
CMD_MSG_ADMIN_DELETE = 26,
/** 命令-消息-标记-增加:27 */
CMD_MSG_ADD_TAG = 27,
/** 命令-消息-标记-删除:28 */
CMD_MSG_DEL_TAG = 28,
/** 命令-消息-音视频:29 */
CMD_MSG_AV = 29,
/** 命令-离线消息-查询:30 */
CMD_OFFLINE_MSG_INQUIRE = 30,
/** 命令-离线消息-回执:31 */
CMD_OFFLINE_MSG_RECEIPT = 31,
/** 命令-消息-回复数量变更:33 */
CMD_MSG_REPLYCOUNT_CHANGE = 33,
/** 已读通知(服务端发送给消息发送者)= 34 **/
CMD_MSG_READ_NOTICE = 34,
/** 主动拉取已读通知(客户端主动拉取已读通知)= 35 **/
CMD_MSG_GETREAD_NOTICE = 35,
/** 命令-聊天室-获取列表:50 */
CMD_CHAT_LIST_GIT = 50,
/** 命令-聊天室-创建通知:51 */
CMD_CHAT_CREATE_NOTICE = 51,
/** 命令-聊天室-免打扰设置:52 */
CMD_CHAT_DISTURB_CHANGE_SET = 52,
/** 命令-聊天室-免打扰变更通知:53 */
CMD_CHAT_DISTURB_CHANGE_NOTICE = 53,
/** 命令-聊天室-会话消息计数重置:54 */
CMD_CHAT_MSG_COUNT_SET = 54,
/** 命令-聊天室-会话消息计数重置通知:55 */
CMD_CHAT_MSG_COUNT_NOTICE = 55,
/** 命令-聊天室-获取置顶列表:56 */
CMD_CHAT_TOP_LIST_GIT = 56,
/** 命令-聊天室-会话置顶设置:57 */
CMD_CHAT_TOP_SET = 57,
/** 命令-聊天室-置顶变更通知:58 */
CMD_CHAT_TOP_CHANGE_NOTICE = 58,
/** 命令-聊天室-设置会话不可见通知:59 */
CMD_CHAT_DELETE_NOTICE = 59,
/** 命令-聊天室-名称变更:60 */
CMD_CHAT_NAME_SET = 60,
/** 命令-聊天室-名称变更通知:61 */
CMD_CHAT_NAME_CHANGE_NOTICE = 61,
/** 命令-聊天室-彻底删除通知:62 */
CMD_CHAT_THOROUGH_DELETE_NOTICE = 62,
/** 命令-自定义通知:99 */
CMD_CUSTOOM_NOTICE = 99,
/** 命令-用户相关-账户信息修改:100 */
CMD_USER_DETAILS_SET = 100,
/** 命令-用户相关-账户信息修改通知:101 */
CMD_USER_DETAILS_CHANGE_NOTICE = 101,
/** 命令-好友相关-好友申请通知:108 */
CMD_FRIEND_APPLY_NOTICE = 108,
/** 命令-好友相关-好友添加成功通知:109 */
CMD_FRIEND_APPLY_ADD_NOTICE = 109,
/** 命令-好友相关-好友申请答复通知:110 */
CMD_FRIEND_APPLY_RESULT_NOTICE = 110,
/** 命令-好友相关-删除好友:111 */
CMD_FRIEND_DELETE = 111,
/** 命令-好友相关-删除好友通知:112 */
CMD_FRIEND_DELETE_NOTICE = 112,
/** 命令-好友相关-好友备注修改通知:113 */
CMD_FRIEND_REMARK_CHANGE_NOTICE = 113,
/** 命令-好友相关-删除所有好友通知:116 */
CMD_FRIEND_DELETE_ALL_NOTICE = 116
}
IM 消息体类型
enum MsgTypeEnum {
Msg_Text = 0,
Msg_Pic = 1,
Msg_Audio = 2,
Msg_Video = 3,
Msg_File = 4,
Msg_Read = 5,
Msg_Withdraw = 6,
Msg_Delete = 7,
Msg_MergeForward = 8,
Msg_GroupVVC = 9,
Msg_SingleVVC = 10,
Msg_CustomEmoji = 11,
Msg_Extra = 10000,
Msg_Announcement = 20007
}
IM 消息处理
与IM交互,收发、处理IM消息
sendMsg
发送消息:发送即时消息的方法,基本类型以及自定义类型都已经有定义好消息格式
格式详见[全局类型定义](#IM 消息体类型)
类型定义
type sendMsg = <T extends SendNormalMsgTypeEnum>(params: SendMsgItem<T>) => Promise<string>
Demo 例子🌰
SIMInstance.sendMsg({
message: {
text: 'hello world~',
},
receiver: '110',
securityType: 0,
chatType: 0,
cross: 0,
type: 0,
}).then((messageId) => {
console.log('send message success! message id is: ', messageId);
}).catch((err) => {
console.error('send message Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SendMsgItem | 登录SIM的参数 |
SendMsgItem-对象类型
该对象有泛型参数
interface SendMsgItem<T extends SendNormalMsgTypeEnum> {
receiver: string,
message: SendMsgContentType<T>,
securityType: 0|1,
chatType: ChatTypeEnum,
cross: 0|1,
type: T,
domain?: SendMsgDomainType,
time?: number,
groupType?: 0|1|2,
offlinePush?: boolean,
offlinePushInfo?: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
receiver | string | 接收者 |
message | SendMsgContentType | 是根据消息类型来的,不同的消息类型message字段的值会不一样 |
securityType | 0|1 | 安全类型,0-普通,1-密聊 |
chatType | ChatTypeEnum | 会话类型 |
cross | 0|1 | 是否跨域 |
type | SendNormalMsgTypeEnum | 消息类型 |
?domain | SendMsgDomainType | 消息扩展字段 |
?time | number | 发送时间 |
?groupType | 0|1|2 | 群类型,可选值[0:私密群,1:公开群,2:讨论组] |
?offlinePush | boolean | 是否有离线推送 |
?offlinePushInfo | string | 离线推送内容 |
SendMsgContentType-对象类型
通过传入的泛型来确认返回的类型,泛型的取值范围是:SendNormalMsgTypeEnum
export type SendMsgContentTypes = {
[SendNormalMsgTypeEnum.Msg_Text]: SendTextMsgContentType,
[SendNormalMsgTypeEnum.Msg_Pic]: SendPicMsgContentType,
[SendNormalMsgTypeEnum.Msg_Audio]: SendAudioMsgContentType,
[SendNormalMsgTypeEnum.Msg_Video]: SendVideoMsgContentType,
[SendNormalMsgTypeEnum.Msg_File]: SendFileMsgContentType,
[SendNormalMsgTypeEnum.Msg_MergeForward]: SendMergeForwardContentType,
[SendNormalMsgTypeEnum.Msg_CustomEmoji]: SendCustomEmojiContentType,
[SendNormalMsgTypeEnum.Msg_Extra]: SendExtraMsgContentType,
}
type SendMsgContentType<T extends SendNormalMsgTypeEnum> = SendMsgContentTypes[T];
对象成员
参数 | 类型 | 说明 |
---|---|---|
Msg_Text | SendTextMsgContentType | 文本消息包体内容 |
Msg_Pic | SendPicMsgContentType | 图片消息包体内容 |
Msg_Audio | SendAudioMsgContentType | 语音消息包体内容 |
Msg_Video | SendVideoMsgContentType | 视频消息包体内容 |
Msg_File | SendFileMsgContentType | 文件消息包体内容 |
Msg_MergeForward | SendMergeForwardContentType | 合并转发消息包体内容 |
Msg_CustomEmoji | SendCustomEmojiContentType | 自定义表情消息包体内容 |
Msg_Extra | SendExtraMsgContentType | 扩展消息包体内容 |
SendNormalMsgTypeEnum-对象类型
/** 发送消息时声明的类型 - 以下类型可以发送 */
export enum SendNormalMsgTypeEnum {
Msg_Text = 0, //: '文本',
Msg_Pic = 1, //: '图片',
Msg_Audio = 2, //: '语音',
Msg_Video = 3, //: '视频',
Msg_File = 4, //: '文件',
Msg_MergeForward = 8, //: '合并转发',
Msg_CustomEmoji = 11, //: '自定义表情类型',
Msg_Extra = 10000, //: '扩展类消息',
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
Msg_Text | 0 | 文本消息包体内容 |
Msg_Pic | 1 | 图片消息包体内容 |
Msg_Audio | 2 | 语音消息包体内容 |
Msg_Video | 3 | 视频消息包体内容 |
Msg_File | 4 | 文件消息包体内容 |
Msg_Withdraw | 6 | 撤回消息包体内容 |
Msg_MergeForward | 8 | 合并转发消息包体内容 |
Msg_CustomEmoji | 11 | 自定义表情消息包体内容 |
Msg_Extra | 10000 | 扩展消息包体内容 |
ChatTypeEnum-枚举类型
enum ChatTypeEnum {
SingleChat,
GroupChat,
SubscribeChat,
SubscribeBoxChat = 10,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
SingleChat | 0 | 单聊 |
GroupChat | 1 | 群聊 |
SubscribeChat | 2 | 订阅号 |
SubscribeBoxChat | 10 | 订阅号盒子 |
SendTextMsgContentType-对象类型
发送文本消息体的内容
export interface SendTextMsgContentType {
text: string,
/** @ 的人员列表 */
members?: string[]
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
text | string | 文本内容 |
?members | string[] | @的人 |
SendPicMsgContentType-对象类型
发送图片消息体的内容
export interface SendPicMsgContentType {
/** 0-JPG,1-PNG,225-未知类型 */
format: 0 | 1 | 255,
imageList: {
/** 0-原图 1-缩略大图 2-缩略小图 */
type: 0 | 1 | 2,
url: string,
size: number,
width: number,
height: number
}[]
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
format | 0|1|255 | 0-JPG,1-PNG,225-未知类型 |
imageList | object[] | 图片信息 |
imageList[0].type | 0|1|2 | 0-原图 1-缩略大图 2-缩略小图 |
imageList[0].url | string | 图片地址 |
imageList[0].size | number | 图片大小 |
imageList[0].width | number | 图片宽度 |
imageList[0].height | number | 图片高度 |
SendAudioMsgContentType-对象类型
发送音频文件消息体的内容
export interface SendAudioMsgContentType {
size: number,
/** 类型 */
format: number,
/** 时长 - 秒 */
duration: number,
/** 下载地址 */
downUrl: string
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
format | 0|1|255 | 0-JPG,1-PNG,225-未知类型 |
imageList | object[] | 图片信息 |
imageList[0].type | 0|1|2 | 0-原图 1-缩略大图 2-缩略小图 |
imageList[0].url | string | 图片地址 |
imageList[0].size | number | 图片大小 |
imageList[0].width | number | 图片宽度 |
imageList[0].height | number | 图片高度 |
SendVideoMsgContentType-对象类型
发送视频文件消息体的内容
export interface SendVideoMsgContentType {
/** 视频地址 */
videoUrl: string,
/** 视频大小 - b */
videoSize: number,
/** 视频时长 - 毫秒 */
duration: number,
/** 0-AVI,1-RM,2-RMVB,3-WMV,4-MP4,225-未知类型 */
videoFormat: 0 | 1 | 2 | 3 | 4 | 255,
/** 封面地址 */
coverUrl: string,
/** 封面宽度 - px */
coverWidth: number,
/** 封面高度 - px */
coverHeight: number,
/** 封面大小 - kb */
coverSize: number,
/** 封面类型,0-JPG,1-PNG,225-未知类型 */
coverFormat: 0 | 1 | 255,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
videoUrl | string | 视频地址 |
videoSize | number | 视频大小 - b |
duration | number | 视频时长 - 毫秒 |
videoFormat | 0|1|2|3|4|255 | 0-AVI,1-RM,2-RMVB,3-WMV,4-MP4,225-未知类型 |
coverUrl | string | 封面地址 |
coverWidth | number | 封面宽度 |
coverHeight | number | 封面高度 |
coverSize | number | 封面大小 |
coverFormat | number | 封面类型 |
SendFileMsgContentType-对象类型
发送文件消息体的内容
export interface SendFileMsgContentType {
/** 文件类型 */
format: FileFormatEnum,
/** 文件大小 - b */
size: number,
/** 下载地址 */
downUrl: string,
/** 文件名称 */
filename: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
format | FileFormatEnum | 文件类型 - 参考 utils.getFileFormat 的返回值 |
size | number | 文件大小 - b |
downUrl | string | 下载地址 |
filename | string | 文件名称 |
SendMergeForwardContentType-对象类型
发送合并转发消息体的内容
export interface SendMergeForwardContentType {
title: string,
content: string,
ids: string[],
chatType: ChatTypeEnum,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
title | FileFormatEnum | 文件类型 - 参考 utils.getFileFormat 的返回值 |
content | number | 文件大小 - b |
ids | string | 下载地址 |
chatType | string | 文件名称 |
SendCustomEmojiContentType-对象类型
发送自定义表情消息体的内容
export interface SendCustomEmojiContentType {
imgMd: string,
imgUrl: string,
size: number,
width: number,
height: number
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
imgMd | string | 图片md5值 |
imgUrl | string | 图片地址 |
size | number | 表情大小 |
width | number | 宽度 |
height | number | 高度 |
SendExtraMsgContentType-对象类型
发送自定义消息体的内容
export interface SendExtraMsgContentType {
data: string // 自行解析,各端约定好
}
readMsg
已读消息:将消息设为已读
类型定义
type readMsg = (params: ReadMsgParamsType) => Promise<string>
Demo 例子🌰
SIMInstance.readMsg({
id: 'messageID~~~~~~',
receiver: '110',
securityType: 0,
chatType: 0,
cross: 0,
}).then((messageId) => {
console.log('readMsg message success! message id is: ', messageId);
}).catch((err) => {
console.error('readMsg message Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | ReadMsgParamsType | 已读消息的参数 |
ReadMsgParamsType-对象类型
发送已读消息的参数
export interface ReadMsgParamsType {
id: string,
chatType: ChatTypeEnum,
securityType: 0 | 1,
cross: 0 | 1,
receiver: string,
time?: number
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
id | string | 操作的消息ID |
chatType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 |
cross | 0|1 | 是否跨域 |
receiver | string | 接收者 |
?time | number | 时间 |
revocationMsg
撤回消息: 将消息撤回
类型定义
type revocationMsg = (params: RevocationMsgParamsType)
:
Promise<string>
🌰
Demo 例子SIMInstance.revocationMsg({
id: 'messageID~~~~~~'
receiver: '110',
securityType: 0,
chatType: 0,
cross: 0,
}).then((messageId) => {
console.log('revocationMsg message success! message id is: ', messageId);
}).catch((err) => {
console.error('revocationMsg message Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | RevocationMsgParamsType | 撤回消息的参数 |
RevocationMsgParamsType
-对象类型
发送撤回消息的参数
export interface RevocationMsgParamsType {
id: string,
chatType: ChatTypeEnum,
securityType: 0 | 1,
cross: 0 | 1,
receiver: string,
time?: number
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
id | string | 撤回的消息ID |
chatType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 |
cross | 0|1 | 是否跨域 |
receiver | string | 接收者 |
?time | number | 时间 |
fetchMsgReadState
获取消息已读状态:获取消息的已读状态
类型定义
type fetchMsgReadState = (params: FetchMsgReadParamsType)
:
Promise<string>
Demo 例子🌰
SIMInstance.fetchMsgReadState({
id: 'messageID~~~~~~'
receiver: '110',
securityType: 0,
chatType: 0,
cross: 0,
msgType: 0,
}).then((messageId) => {
console.log('fetchMsgReadState message success! message id is: ', messageId);
}).catch((err) => {
console.error('fetchMsgReadState message Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | FetchMsgReadParamsType | 获取已读状态的参数 |
FetchMsgReadParamsType-对象类型
获取消息的已读状态的参数
export interface FetchMsgReadParamsType {
id: string,
chatType: ChatTypeEnum,
securityType: 0 | 1,
cross: 0 | 1,
receiver: string,
msgType: MsgTypeEnum,
time?: number
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
id | string | 撤回的消息ID |
chatType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 |
cross | 0|1 | 是否跨域 |
receiver | string | 接收者 |
msgType | MsgTypeEnum | 消息类型 |
?time | number | 时间 |
deleteMsg
删除消息:删除消息
类型定义
type deleteMsg = (params: DeleteMsgParamsType)
:
Promise<string>
🌰
Demo 例子SIMInstance.deleteMsg({
id: 'messageID~~~~~~'
receiver: '110',
securityType: 0,
chatType: 0,
cross: 0,
msgType: 0,
delType: 1,
}).then((messageId) => {
console.log('deleteMsg message success! message id is: ', messageId);
}).catch((err) => {
console.error('deleteMsg message Error! err:', err);
})
deleteMsg
-方法参数
参数 | 类型 | 说明 |
---|---|---|
params | DeleteMsgParamsType | 删除消息的参数 |
DeleteMsgParamsType
-对象类型
删除消息参数
export interface FetchMsgReadParamsType {
id: string,
chatType: ChatTypeEnum,
securityType: 0 | 1,
cross: 0 | 1,
receiver: string,
msgType: MsgTypeEnum,
time?: number,
delType?: 0 | 1,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
id | string | 删除的消息ID |
chatType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 |
cross | 0|1 | 是否跨域 |
receiver | string | 接收者 |
msgType | MsgTypeEnum | 消息类型 |
?time | number | 时间 |
?delType | 0\1 | 删除类型 0-删除自己的(只影响自己),1-删除所有人(影响所有人) 默认 0 |
getOfflineMsg
获取离线消息:获取离线消息-得到历史消息后会触发msg
事件
类型定义
type getOfflineMsg = (params: GetOffLineMsgParamsType)
:
Promise<string>
🌰
Demo 例子SIMInstance.getOfflineMsg({
queryType: 0
}).then((messageId) => {
console.log('getOfflineMsg message success! message id is: ', messageId);
}).catch((err) => {
console.error('getOfflineMsg message Error! err:', err);
})
getOfflineMsg
-方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetOffLineMsgParamsType | 获取离线消息方法的参数 |
GetOffLineMsgParamsType
-对象类型
获取离线消息方法参数
export interface FetchMsgReadParamsType {
lastMsgTime?: number,
loginTime?: number,
tId?: string,
queryType: 0 | 1 | 2,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
?lastMsgTime | number | 上次同步时间 |
?loginTime | number | 登陆时间 |
?tId | string | 后台消息id,最开始一条id |
queryType | 0|1|2 | 查询类型,0单聊,1群聊,2指令 |
initMessageCount
初始化会话消息统计数量:初始化会话消息统计数量
类型定义
type initMessageCount = (params: SendInitMessageCountParams)
:
Promise<string>
🌰
Demo 例子SIMInstance.initMessageCount({
chatId: '123123',
chatType: 0,
securityType: 0,
}).then((messageId) => {
console.log('initMessageCount success! message id is: ', messageId);
}).catch((err) => {
console.error('initMessageCount Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SendInitMessageCountParams | 初始化会话消息统计数量方法的参数 |
SendInitMessageCountParams
-对象类型
初始化会话消息统计数量方法参数
export interface SendInitMessageCountParams {
chatId: string,
chatType: ChatTypeEnum,
securityType: 0 | 1,
time?: number
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
chatId | string | 会话ID |
chatType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 |
?time | number | 发送时间 |
HTTP 业务相关接口
业务相关接口主要分为以下几个部分
分组 | 说明 |
---|---|
群组相关接口 | 处理群聊相关业务 |
人员相关接口 | 处理人员相关业务 |
会话相关接口 | 处理会话相关业务 |
消息相关接口 | 处理消息相关业务 |
群组相关接口
通过http接口来操作IM中的群组相关功能
getAllUserGroup
获取所有群聊: 获取当前用户的所有群组
类型定义
getAllUserGroup: (params: GetAllUserGroupParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.getAllUserGroup().then(() => {
console.log('getAllUserGroup success!');
}).catch((err) => {
console.error('getAllUserGroup Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetAllUserGroupParams | 获取当前用户的所有群组的参数 |
GetAllUserGroupParams
-对象类型
获取当前用户的所有群组的参数
interface GetAllUserGroupParams {
typeArr?: (1|3|4)[];
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
?typeArr | (1|3|4)[] | 群组类型数组, 1内部群,3事件群(默认查询所有),4外部群) |
返回值
Promise<DefaultResponse<GetAllUserGroupResItem[]>>
GetAllUserGroupResItem
-对象类型
interface AllUserGroupItemTypes {
"id": string,
"name": string,
"avatar": string,
"ownerId": string,
"maxCount": number,
"isReview": 0|1,
"groupType": GroupTypeEnum,
"appId": string,
"createTime": number,
"defaultType": 0|1|2|3,
"defaultAccounts": string,
"num": number,
"invitedToggle": 0|1,
"atallToggle": 0|1
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
id | string | 群组Id |
name | string | 群组名称 |
avatar | string | 群组头像 |
ownerId | string | 群主ID |
maxCount | number | 人数上限 |
isReview | 0|1 | 用户状态: 1需要审核,0不需要审核 |
groupType | GroupTypeEnum | 群组类型 1内部群,3事件群,4外部群 |
appId | string | 应用ID |
createTime | number | 建群时间 |
defaultType | 0|1|2|3 | 群组的默认类型:0名字头像都是自定义, 1名字默认头像自定义, 2名字是自定义头像是默认, 3都是默认 |
defaultAccounts | string | 组成默认信息的人员id |
num | number | 群人数 |
invitedToggle | 0|1 | 邀请开关 |
atallToggle | 0|1 | @all开关 |
modifyGroup
修改群信息: 修改群信息
类型定义
modifyGroup: (params: ModifyGroupParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.modifyGroup({
groupType: 1,
groupId: '123123',
}).then(() => {
console.log('getAllUserGroup success!');
}).catch((err) => {
console.error('getAllUserGroup Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | ModifyGroupParams | 修改群信息的参数 |
ModifyGroupParams
-对象类型
修改群信息的参数
interface ModifyGroupParams {
groupType: GroupTypeEnum,
groupId: string,
groupName?: string,
avatar?: string,
isReview?: 0|1,
notice?: string
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群组类型枚举 |
groupId | string | 群组ID |
?groupName | string | 群组名称 |
?avatar | string | 群组头像 |
?isReview | 0|1 | 是否需要审批 1需要审核,0不需要审核 |
?notice | string | 群通知 |
返回值
Promise<DefaultResponse>
setGroupAtAllToggle
@All功能设置: 切换@All的设置
类型定义
setGroupAtAllToggle: (params: SetGroupAtAllToggleParams) => Promise<any>
Demo 例子🌰
SIMInstance.Group.setGroupAtAllToggle({
groupType: 1,
groupId: '123123',
toggle: 1
}).then(() => {
console.log('setGroupAtAllToggle success!');
}).catch((err) => {
console.error('setGroupAtAllToggle Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SetGroupAtAllToggleParams | 切换@All的设置的参数 |
SetGroupAtAllToggleParams
-对象类型
切换@All的设置的参数
interface SetGroupAtAllToggleParams {
groupType: GroupTypeEnum,
groupId: string,
toggle: 0|1
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群组类型枚举 |
groupId | string | 群组ID |
toggle | 0|1 | @All的设置 是否开启@All |
返回值
Promise<DefaultResponse>
setGroupInvitedToggle
邀请群成员权限设置: 更改邀请群成员的设置
类型定义
setGroupInvitedToggle: (params: SetGroupInvitedToggleParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.setGroupInvitedToggle({
groupType: 1,
groupId: '123123',
toggle: 1
}).then(() => {
console.log('setGroupInvitedToggle success!');
}).catch((err) => {
console.error('setGroupInvitedToggle Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SetGroupInvitedToggleParams | 更改邀请群成员的参数 |
SetGroupInvitedToggleParams
-对象类型
更改邀请群成员的参数
interface SetGroupInvitedToggleParams {
groupType: GroupTypeEnum,
groupId: string,
toggle: 0|1
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群组类型枚举 |
groupId | string | 群组ID |
toggle | 0|1 | 是否允许邀请 |
返回值
Promise<DefaultResponse>
getGroupIntro
获取群的简要信息: 获取群的简要信息
类型定义
getGroupIntro: (params: GetGroupIntroParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.getGroupIntro({
groupType: 1,
groupId: '123123'
}).then(() => {
console.log('getGroupIntro success!');
}).catch((err) => {
console.error('getGroupIntro Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetGroupIntroParams | 获取群的简要信息的参数 |
GetGroupIntroParams
-对象类型
获取群的简要信息的参数
interface GetGroupIntroParams {
groupType: GroupTypeEnum,
groupId: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群组类型枚举 |
groupId | string | 群组ID |
返回值
Promise<DefaultResponse<GetAllUserGroupResItem>>
参数 | 类型 | 说明 |
---|---|---|
GetAllUserGroupResItem | GetAllUserGroupResItem | 群组信息对象 |
getGroupDetail
获取群组的详细信息: 获取群组的详细信息
类型定义
getGroupDetail: (params: GetGroupDetailParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.getGroupDetail({
groupType: 1,
groupId: '123123'
}).then(() => {
console.log('getGroupDetail success!');
}).catch((err) => {
console.error('getGroupDetail Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetGroupDetailParams | 获取群组的详细信息的参数 |
GetGroupDetailParams
-对象类型
获取群组的详细信息的参数
interface GetGroupDetailParams {
groupType: GroupTypeEnum,
groupId: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群组类型枚举 |
groupId | string | 群组ID |
返回值
Promise<DefaultResponse<GetGroupDetailRes>>
GetGroupDetailRes
-对象类型
interface GetGroupDetailRes extends GetAllUserGroupResItem {
groupMembers: GroupMemberItemType[],
groupEventExplain?: GroupEventExplainType
}
对象成员
该对象继承了GroupMemberItemType对象,继承过来的属性将不再描述
参数 | 类型 | 说明 |
---|---|---|
groupMembers | GroupMemberItemType[] | 群组成员列表 |
?groupEventExplain | GroupEventExplainType | 群公告信息 |
getGroupDetailList
获取群组的详细信息 - 列表获取: 获取群组的详细信息 - 列表获取
类型定义
getGroupDetailList: (params: GetGroupListDetailParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.getGroupDetailList({
groupType: 1,
groupIds: ['123123', '22342342121']
}).then(() => {
console.log('getGroupDetail success!');
}).catch((err) => {
console.error('getGroupDetail Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetGroupListDetailParams | 获取群组的详细信息 - 列表获取的参数 |
GetGroupDetailParams
-对象类型
获取群组的详细信息 - 列表获取的参数
interface GetGroupDetailParams {
groupType: GroupTypeEnum,
groupIds: string[],
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群组类型枚举 |
groupIds | string[] | 群组ID数组 |
searchGroups
搜索群组: 通过群组名称和群组类型来搜索当前用户拥有的群组
类型定义
searchGroups: (params: SearchGroupsParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.searchGroups({
groupName: 'hello'
}).then(() => {
console.log('searchGroups success!');
}).catch((err) => {
console.error('searchGroups Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SearchGroupsParams | 查询匹配条件的群组的参数 |
SearchGroupsParams
-对象类型
查询匹配条件的群组的参数
interface SearchGroupsParams {
groupName: string,
typeJsonArray: (0|1|2|3)[],
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupName | string | 查询条件-群组名称 |
?typeJsonArray | (0|1|2|3)[] | 群组类型数组,0私密群,1公开群,2讨论组,3事件群(默认查询所有 |
inviteJoinGroup
邀请加入: 邀请加入群聊
类型定义
inviteJoinGroup: (params: InviteGroupParams) => Promise<any>
Demo 例子🌰
SIMInstance.Group.inviteJoinGroup({
groupType: '1',
groupId: '123123123',
userIds: ['9572', '9528'],
}).then(() => {
console.log('inviteJoinGroup success!');
}).catch((err) => {
console.error('inviteJoinGroup Error! err:', err);
})
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | InviteGroupParams | 加入群组的参数 |
JoinGroupParams
-对象类型
加入群组的参数
interface JoinGroupParams {
groupType: GroupTypeEnum,
groupId: string,
userIds: string[]
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupId | string | 要加入的群组ID |
groupType | GroupTypeEnum | 群聊类型 |
members | string[] | 邀请人员 |
返回值
Promise<DefaultResponse>
changeGroupOwner
转让群主: 转让群主
类型定义
changeGroupOwner: (params: ChangeOwnerParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.changeGroupOwner({
groupType: 1,
groupId: '123123',
newOwnerId: '9528'
}).then(() => {
console.log('changeGroupOwner success!');
}).catch((err) => {
console.error('changeGroupOwner Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | ChangeOwnerParams | 加入群组的参数 |
ChangeOwnerParams
-对象类型
加入群组的参数
interface ChangeOwnerParams {
groupType: GroupTypeEnum,
groupId: string,
newOwnerId: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群聊类型 |
groupId | string | 要加入的群组ID |
newOwnerId | string | 要变更为群主的人员ID |
返回值
Promise<DefaultResponse>
getGroupManagers
获取群组管理员: 获取群组管理员
类型定义
getGroupManagers: (params: GetGroupManagerParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.getGroupManagers({
groupType: 1,
groupId: '123123',
}).then(() => {
console.log('getGroupManagers success!');
}).catch((err) => {
console.error('getGroupManagers Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetGroupManagerParams | 获取群组管理员的参数 |
GetGroupManagerParams
-对象类型
获取群组管理员的参数
interface GetGroupManagerParams {
groupType: GroupTypeEnum,
groupId: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群聊类型 |
groupId | string | 获取群组管理员的群组ID |
返回值
Promise<DefaultResponse<GroupMemberItemType>>
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupMemberItemType | 群聊类型 |
getGroupMemberIds
获取群组成员Id集合: 获取群组成员Id集合
类型定义
getGroupMemberIds: (params: GetGroupMemberIdsParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.getGroupMemberIds({
groupType: 1,
groupId: '123123',
}).then(() => {
console.log('getGroupMemberIds success!');
}).catch((err) => {
console.error('getGroupMemberIds Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetGroupMemberIdsParams | 获取群组成员Id集合的参数 |
GetGroupMemberIdsParams
-对象类型
获取群组成员Id集合的参数
interface GetGroupMemberIdsParams {
groupType: GroupTypeEnum,
groupId: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群聊类型 |
groupId | string | 获取群组成员Id集合的群组ID |
返回值
Promise<DefaultResponse<string[]>>
getGroupMemberList
获取群组成员集合: 获取群组成员集合
类型定义
getGroupMemberList: (params: GetGroupMemberListParams) => Promise<any>
Demo 例子🌰
SIMInstance.Group.getGroupMemberList({
groupType: 1,
groupId: '123123',
}).then(() => {
console.log('getGroupMemberList success!');
}).catch((err) => {
console.error('getGroupMemberList Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetGroupMemberListParams | 获取群组成员集合的参数 |
GetGroupMemberListParams
-对象类型
获取群组成员集合的参数
interface GetGroupMemberListParams {
groupType: GroupTypeEnum,
groupId: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群聊类型 |
groupId | string | 获取群组成员集合的群组ID |
返回值
Promise<DefaultResponse<GroupMemberItemType[]>>
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupMemberItemType | 群聊类型 |
deleteGroupMember
将人员移出群聊: 将人员移出群聊
类型定义
deleteGroupMember: (params: DeleteGroupMemberParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.deleteGroupMember({
groupType: 1,
groupId: '123123',
userIds: ['9527', '9528']
}).then(() => {
console.log('deleteGroupMember success!');
}).catch((err) => {
console.error('deleteGroupMember Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | DeleteGroupMemberParams | 将人员移出群聊的参数 |
DeleteGroupMemberParams
-对象类型
将人员移出群聊的参数
interface DeleteGroupMemberParams {
groupType: GroupTypes.GroupTypeEnum,
groupId: string,
userIds: string[]
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群聊类型 |
groupId | string | 将人员移出群聊群组ID |
userIds | string[] | 需要移出的人员Id列表 |
返回值
Promise<DefaultResponse>
quitGroup
退出群组: 当前用户操作 - 退出群组
类型定义
quitGroup: (params: QuitGroupParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.quitGroup({
groupType: 1,
groupId: '123123',
}).then(() => {
console.log('quitGroup success!');
}).catch((err) => {
console.error('quitGroup Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | QuitGroupParams | 退出群组的参数 |
QuitGroupParams
-对象类型
退出群组的参数
interface QuitGroupParams {
groupType: GroupTypes.GroupTypeEnum,
groupId: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群聊类型 |
groupId | string | 退出群组的群组ID |
返回值
Promise<DefaultResponse>
setGroupMemberRole
修改群成员角色: 修改群成员角色
类型定义
setGroupMemberRole: (params: SetGroupMemberRoleParams) => Promise<any>
🌰
Demo 例子SIMInstance.Group.setGroupMemberRole({
groupType: 1,
groupId: '123123',
managerIds: ['9527', '9528'],
type: 1
}).then(() => {
console.log('setGroupMemberRole success!');
}).catch((err) => {
console.error('setGroupMemberRole Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SetGroupMemberRoleParams | 设置群成员角色的参数 |
SetGroupMemberRoleParams-对象类型
修改群成员角色的参数
interface SetGroupMemberRoleParams {
groupType: GroupTypes.GroupTypeEnum,
groupId: string,
managerIds: string[],
type: 1|2,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
groupType | GroupTypeEnum | 群聊类型 |
groupId | string | 退出群组的群组ID |
managerIds | string[] | 需要操作的人员ID |
type | 1|2 | 1设置管理员,2取消管理员 |
返回值
Promise<DefaultResponse>
群组模块通用接口类型定义
GroupTypeEnum
-对象类型
群组类型枚举
export enum GroupTypeEnum {
InnerGroup= 1,
EventGroup = 3,
OuterGroup = 4,
OrgGroup = 5,
MeetingGroup = 6
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
GroupTypeEnum | 1|3|4|5|6 | 群组类型数组, 1内部群,3事件群,4外部群,5组织群,6会议群聊 |
GroupMemberItemType
-对象类型
群成员信息
interface GroupMemberItemType {
"appId": string,
"groupId": string,
"userId": string,
"role": GroupUserRoleEnum,
"nickname": string,
"petName": string,
"nicknamePy": string,
"disturb": 0,
"delFlag": 0,
"createTime": number,
"updateTime": number,
"beInviteId"?: string,
beOwnerTime?: string,
}
GroupMemberItemType
-对象成员
参数 | 类型 | 说明 |
---|---|---|
appId | number | 租户ID |
groupId | string | 群ID |
userId | string | 用户ID |
role | GroupUserRoleEnum | 用户角色(0群主,1管理员,2普通用户) |
userId | string | 用户ID |
nickname | string | 群成员昵称 |
petName | string | 用户昵称 |
nicknamePy | string | 用户昵称拼音 |
disturb | 0|1 | 免打扰(1表示消息免打扰) |
delFlag | 0|1 | 删除标识,0代表为删除,1代表已删除 |
createTime | number | 创建时间(加入时间) |
updateTime | number | 修改时间 |
?beInviteId | string | 本人被谁邀请进群的(非邀请的情况,本字段则可为空) |
?beOwnerTime | string | 如是群的被转让人,本字段填的就是最近一次被转让时的时间 |
GroupEventExplainType
-对象类型
群公告消息
interface GroupEventExplainType {
/** 建群人-account */
"createBy": string,
/** 建群人-name */
"createName": string,
/** 建群时间 */
"createTime": number,
/** 是否解散:0正常,1解散 */
"delFlag": boolean,
/** 附件地址JSON数组格式 */
"fileInfo": string,
/** 群组ID */
"groupId": string,
/** 事件ID */
"id": string,
/** 图片地址JSON数组格式 */
"imageInfo": string,
/** 文字内容 */
"text": string
}
GroupEventExplainType
-对象成员
参数 | 类型 | 说明 |
---|---|---|
createBy | string | 建群人-account |
createName | string | 建群人-name |
createTime | string | 建群时间 |
delFlag | 0|1 | 用户角色是否解散:0正常,1解散 |
fileInfo | string | 附件地址JSON数组格式 |
groupId | string | 群组ID |
id | string | 事件ID |
imageInfo | string | 图片地址JSON数组格式 |
text | string | 文字内容 |
DefaultResponse
-对象类型
群组类型枚举
interface DefaultResponse<T = {}> {
code: number,
message: string,
success: boolean,
data: T
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
code | number | 后端返回的状态码 |
message | string | 后端返回的状态值 |
success | boolean | 后端返回是否成功 |
data | T | 后端返回的内容,默认是空对象 |
人员相关接口
通过http接口来操作IM中的人员用户相关功能
fetchMultiPersonalData
批量获取用户账号信息: 批量获取用户账号信息
类型定义
fetchMultiPersonalData: (params: FetchMultiPersonalDataParams) => Promise<any>
🌰
Demo 例子SIMInstance.User.fetchMultiPersonalData({
accounts: ['9527', '9528'],
}).then(() => {
console.log('fetchMultiPersonalData success!');
}).catch((err) => {
console.error('fetchMultiPersonalData Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | FetchMultiPersonalDataParams | 批量获取用户账号信息的参数 |
FetchMultiPersonalDataParams
-对象类型
批量获取用户账号信息的参数
interface FetchMultiPersonalDataParams {
accounts: string[]
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
accounts | string[] | 要获取人员的userId集合 |
返回值
export interface FetchMultiPersonalDataResItem {
account: string
avatar: string
createTime: string
definition: string
disablePush: number
nicknamePy: string
petName: string
userNickname: string
userStatus: number
userId: number
}
Promise<DefaultResponse<FetchMultiPersonalDataResItem>>
FetchMultiPersonalDataResItem
-对象成员
参数 | 类型 | 说明 |
---|---|---|
account | string | 账号 |
avatar | string | 用户头像url地址 |
createTime | string | 账号创建时间 |
definition | string | 自定义字段内容 |
disablePush | number | 0正常,1禁用手机离线推送 |
nicknamePy | string | 用户昵称拼音 |
petName | string | 用户昵称 |
userNickname | string | 用户姓名 |
userStatus | number | 用户状态0正常,1禁用 |
userId | number | 用户id |
会话相关接口
通过http接口来操作IM中的会话相关功能
setChatSession
设置会话: 设置会话
类型定义
setChatSession: (params: SetChatSessionParams) => Promise<any>
🌰
Demo 例子SIMInstance.Chat.setChatSession({
sessionId: '1234',
securityType: 0,
sessionType: 0,
isTop: 1,
}).then((res) => {
console.log('setChatSession success!', res);
}).catch((err) => {
console.error('setChatSession Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SetChatSessionParams | 设置会话的参数 |
SetChatSessionParams-对象类型
设置会话的参数
interface SetChatSessionParams {
sessionId: string,
securityType: 0|1,
sessionType: ChatTypeEnum,
isTop?: 0|1,
notDisturb?: 0|1
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
sessionId | string | 会话ID |
securityType | 0|1 | 安全类型 0普通,1私聊 |
sessionType | ChatTypeEnum | 会话ID |
?isTop | 0|1 | 是否置顶 0否,1是 |
?notDisturb | 0|1 | 是否免打扰 0否,1是 |
返回值
Promise<DefaultResponse>
获取会话详情信息: getChatInfo
获取会话详情信息
类型定义
getChatInfo: (params: SetChatSessionParams) => Promise<any>
Demo 例子🌰
SIMInstance.Chat.getChatInfo({
sessionId: '123123',
securityType: 0,
sessionType: 0,
}).then((res) => {
console.log('getChatInfo success!', res);
}).catch((err) => {
console.error('getChatInfo Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetChatInfoParams | 获取会话详情信息的参数 |
GetChatInfoParams-对象类型
获取会话详情信息的参数
interface GetChatInfoParams {
sessionId: string,
securityType: 0|1,
sessionType: SIMTypes.ChatTypeEnum,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
sessionId | string | 会话ID |
securityType | 0|1 | 安全类型 0普通,1私聊 |
sessionType | ChatTypeEnum | 会话ID |
返回值
export interface GetChatInfoTypes {
"id": string,
"appId": string,
"account": string,
"sessionId": string,
"sessionName": string,
"avatar": string,
"sessionType": SIMTypes.ChatTypeEnum,
"groupType": GroupTypes.GroupTypeEnum,
"toppingTime": string,
"toppingTimeLong": string,
"isTop": 0|1,
"securityType": 0|1,
"notDisturb": 0|1,
"isShow": 0|1,
"createTime": string,
"updateTime": string,
"lastMsg": IMReceiveTypes.DefaultMsg,
"isAt": 0|1,
"invalid": 0|1|2|3|10,
"cross": 0|1,
"sessionLevel": 0|1
}
Promise<DefaultResponse<GetChatInfoTypes>>
GetChatInfoTypes
-对象成员
参数 | 类型 | 说明 |
---|---|---|
id | string | id |
appId | string | 应用id |
account | string | 账号 |
sessionId | string | 聊天会话id(单聊为聊天对象用户id,群聊为群组id) |
sessionName | string | 聊天会话名称 |
avatar | string | 聊天会话头像路径 |
sessionType | ChatTypeEnum | 会话类型,0单聊,1群聊,2订阅号,10订阅号盒子 |
groupType | GroupTypeEnum | 群组类型 0私密群,1公开群,2讨论组,3事件群 |
toppingTime | string | 置顶时间 |
toppingTimeLong | string | 置顶时间Long型 |
isTop | 0|1 | 是否置顶 |
securityType | 0|1 | 安全类型0普通,1私聊 |
notDisturb | 0|1 | 是否免打扰:0否,1是 |
isShow | 0|1 | 是否显示:0否,1是 |
createTime | string | 创建时间 |
updateTime | string | 修改时间 |
lastMsg | DefaultMsg | 最后消息包 |
isAt | 0|1 | 是否@标记:0否,1是 |
invalid | 0|1|2|3|10 | 会话状态: 0正常,1解散群,2被踢出群,3单聊对方账号禁用, 10彻底删除,不可恢复 |
cross | 0|1 | 域状态 0内域,1外域 |
sessionLevel | 0|1 | 会话级别:0外层,1内层 |
getAllChat
获取所有会话: 获取所有会话 - 有增量选项
类型定义
getAllChat: (params: GetAllChatParams) => Promise<any>
Demo 例子🌰
SIMInstance.Chat.getAllChat().then((res) => {
console.log('getAllChat success!', res);
}).catch((err) => {
console.error('getAllChat Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetAllChatParams | 获取所有会话的参数 |
GetAllChatParams
-对象类型
获取所有会话的参数
interface GetAllChatParams {
sessionLevel?: 0|1,
lastPullTime?: number
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
?sessionLevel | 0|1 | 会话层级 0-外层 1-内层 |
?lastPullTime | number | 增量选项-最后一次更新时间,如果有该字段,将获取该字段以后更新的会话 |
返回值
Promise<DefaultResponse<GetChatInfoTypes[]>>
参数 | 类型 | 说明 |
---|---|---|
GetChatInfoTypes | GetChatInfoTypes[] | 会话列表 |
deleteChat
删除会话: 删除会话(设置为不可见)
类型定义
deleteChat: (params: DeleteChatParams) => Promise<any>
Demo 例子🌰
SIMInstance.Chat.deleteChat({
sessionId: '123123',
securityType: 0,
sessionType: 0,
}).then((res) => {
console.log('deleteChat success!', res);
}).catch((err) => {
console.error('deleteChat Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | DeleteChatParams | 删除会话的参数 |
DeleteChatParams
-对象类型
删除会话的参数
interface DeleteChatParams {
sessionId: string,
sessionType: ChatTypeEnum,
securityType: 0|1,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
sessionId | string | 会话ID |
securityType | 0 | 1 |
sessionType | ChatTypeEnum | 会话类型 |
返回值
Promise<DefaultResponse>
删除会话: destroyChat
删除会话(彻底删除)
类型定义
destroyChat: (params: DeleteChatParams) => Promise<any>
🌰
Demo 例子SIMInstance.Chat.destroyChat({
sessionId: '123123',
securityType: 0,
sessionType: 0,
}).then((res) => {
console.log('destroyChat success!', res);
}).catch((err) => {
console.error('destroyChat Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | DeleteChatParams | 删除会话的参数 |
返回值
Promise<DefaultResponse>
消息相关接口
通过http接口来操作IM中的消息相关功能
获取消息: getMsgListAndCdMsgById
获取指定区间内消息和被指令修改的消息
类型定义
getMsgListAndCdMsgById: (params: GetMsgListAndCdMsgByIdParams) => Promise<any>
🌰
Demo 例子SIMInstance.Message.getMsgListAndCdMsgById({
sessionId: '1239',
sessionType: 0,
securityType: 0,
}).then((res) => {
console.log('getMsgListAndCdMsgById success!', res);
}).catch((err) => {
console.error('getMsgListAndCdMsgById Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetMsgListAndCdMsgByIdParams | 获取指定区间内消息和被指令修改的消息的参数 |
GetMsgListAndCdMsgByIdParams
-对象类型
获取指定区间内消息和被指令修改的消息的参数
interface GetMsgListAndCdMsgByIdParams {
sessionId: string,
sessionType: ChatTypeEnum,
securityType: 0|1,
msgId?: string,
rows?: number,
type?: 0|1|2
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
sessionId | string | 会话ID |
sessionType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 0-普通聊天 1-秘密聊天 |
?msgId | string | 消息id |
?rows | number | 获取数量 |
?type | 0|1|2 | 0向下拉,1向上拉,2定位前后 默认-0 |
返回值
interface GetMsgListAndCdMsgRes {
msg: DefaultMsg[],
cdMsg: CdMsgBody[]
}
Promise<DefaultResponse<GetMsgListAndCdMsgRes>>
searchMsg
历史记录搜索: 历史记录搜索
类型定义
searchMsg: (params: SearchMsgParams) => Promise<any>
🌰
Demo 例子SIMInstance.Message.searchMsg({
sessionId: '9527',
sessionType: 0,
securityType: 0,
type: 0
}).then((res) => {
console.log('searchMsg success!', res);
}).catch((err) => {
console.error('searchMsg Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SearchMsgParams | 历史记录搜索的参数 |
SearchMsgParams
-对象类型
历史记录搜索的参数
interface SearchMsgParams {
sessionId: string,
sessionType: SIMTypes.ChatTypeEnum,
securityType: 0|1,
msgId?: string,
searchName?: string,
rows?: number,
type: 0|1|2
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
sessionId | string | 会话ID |
sessionType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 0-普通聊天 1-秘密聊天 |
?msgId | string | 消息id |
?searchName | string | 搜索文字 |
?rows | number | 获取数量 |
?type | 0|1|2 | 搜索类型 0全部,1文件,2图片及视频 默认-0 |
返回值
Promise<DefaultResponse<DefaultMsg[]>>
getMsgReadData
获取已读状态: 获取已读状态
类型定义
getMsgReadData: (params: GetMsgReadDataParams) => Promise<any>
🌰
Demo 例子SIMInstance.Message.getMsgReadData({
msgId: '123123123'
}).then((res) => {
console.log('getMsgReadData success!', res);
}).catch((err) => {
console.error('getMsgReadData Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetMsgReadDataParams | 获取已读状态的参数 |
GetMsgReadDataParams
-对象类型
获取已读状态的参数
interface GetMsgReadDataParams {
msgId: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
msgId | string | 消息id |
返回值
interface GetMsgReadDataRes {
"appId": number,
"avatar": string,
"createBy": string,
"createDate": string,
"delFlag": 0|1,
"groupId": string,
"id": string,
"isRead": string,
"msgId": string,
"owner": string,
"petName": string,
"readDate": string,
"remarks": string,
"securityType": 0|1,
"tId": string,
"updateBy": string,
"updateDate": string,
"userName": string
}
Promise<DefaultResponse<GetMsgReadDataRes[]>>
GetMsgReadDataRes
-对象成员
参数 | 类型 | 说明 |
---|---|---|
avatar | string | 头像 |
createBy | string | 创建者 |
createDate | string | 创建时间 |
delFlag | 0|1 | 删除标志 |
groupId | string | 群聊ID |
id | string | id |
isRead | 0|1 | 已读未读状态 0.未读 1.已读 |
msgId | string | 消息ID |
owner | string | 拥有者的用户UID |
petName | string | 昵称 |
readDate | string | 已读时间 |
remarks | string | remarks |
securityType | 0|1 | 密聊类型 |
updateBy | string | 更新者 |
updateDate | string | 更新时间 |
userName | string | 用户名称 |
getReplyList
获取回复数据: 获取回复数据
类型定义
getReplyList: (params: GetReplyListParams) => Promise<any>
Demo 例子🌰
SIMInstance.Message.getReplyList({
msgId: '123123123',
sessionType: 0
}).then((res) => {
console.log('getReplyList success!', res);
}).catch((err) => {
console.error('getReplyList Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetReplyListParams | 获取回复数据的参数 |
GetReplyListParams-对象类型
获取回复数据的参数
interface GetReplyListParams {
msgId: string,
sessionType: ChatTypeEnum
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
msgId | string | 消息id |
sessionType | ChatTypeEnum | 会话类型 |
返回值
Promise<DefaultResponse<DefaultMsg[]>>
getMessageDetails
获取消息详情: 获取消息详情-列表获取
类型定义
getMessageDetails: (params: GetMessageDetailsParams) => Promise<any>
Demo 例子🌰
SIMInstance.Message.getMessageDetails({
msgIds: ['123123123', '123433412'],
sessionType: 0
}).then((res) => {
console.log('getMessageDetails success!', res);
}).catch((err) => {
console.error('getMessageDetails Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetMessageDetailsParams | 获取消息详情的参数 |
GetMessageDetailsParams
-对象类型
获取消息详情的参数
interface GetMessageDetailsParams {
msgIds: string[],
sessionType: SIMTypes.ChatTypeEnum,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
msgIds | string[] | 消息id列表 |
sessionType | ChatTypeEnum | 会话类型 |
返回值
Promise<DefaultResponse<DefaultMsg[]>>
signMessage
标记消息: 标记消息
类型定义
signMessage: (params: SignMessageParams) => Promise<any>
🌰
Demo 例子SIMInstance.Message.signMessage({
sessionId: '123123',
sessionType: 0,
securityType: 0,
msgId: '123123123',
cross: 0
}).then((res) => {
console.log('signMessage success!', res);
}).catch((err) => {
console.error('signMessage Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SignMessageParams | 标记消息的参数 |
SignMessageParams
-对象类型
标记消息的参数
interface SignMessageParams {
sessionId: string,
sessionType: SIMTypes.ChatTypeEnum,
securityType: 0|1,
msgId: string,
cross: 0|1
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
sessionId | string | 会话ID |
sessionType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 0-普通聊天 1-秘密聊天 |
msgId | string | 消息ID |
cross | 0|1 | 是否跨域 0-不跨域 1-跨域 |
返回值
Promise<DefaultResponse>
取消标记消息: unSignMessage
取消标记消息
类型定义
unSignMessage: (params: SignMessageParams) => Promise<any>
🌰
Demo 例子SIMInstance.Message.unSignMessage({
sessionId: '123123',
sessionType: 0,
securityType: 0,
msgId: '123123123',
cross: 0
}).then((res) => {
console.log('unSignMessage success!', res);
}).catch((err) => {
console.error('unSignMessage Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | SignMessageParams | 取消标记消息的参数 |
返回值
Promise<DefaultResponse>
返回值
Promise<DefaultResponse>
getSignList
获取标记列表: 获取标记列表
类型定义
getSignList: (params: GetSignListParams) => Promise<any>
🌰
Demo 例子SIMInstance.Message.getSignList({
sessionId: '123123',
sessionType: 0,
securityType: 0,
}).then((res) => {
console.log('getSignList success!', res);
}).catch((err) => {
console.error('getSignList Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetSignListParams | 查询用户敏感消息(查询指令)的参数 |
GetSignListParams-对象类型
标记消息的参数
interface GetSignListParams {
sessionId: string,
sessionType: SIMTypes.ChatTypeEnum,
securityType: 0|1,
signDate?: number,
rows?: number,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
sessionId | string | 会话ID |
sessionType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 0-普通聊天 1-秘密聊天 |
?signDate | string | 消息ID |
?rows | number | 拉取条数 |
返回值
Promise<DefaultResponse<DefaultMsg[]>>
查询用户敏感消息(查询指令): getCdMsgList
查询用户敏感消息(查询指令)
类型定义
getCdMsgList: (params: GetCdMsgListParams) => Promise<any>
🌰
Demo 例子SIMInstance.Message.getCdMsgList({
time:
}).then((res) => {
console.log('getCdMsgList success!', res);
}).catch((err) => {
console.error('getCdMsgList Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetCdMsgListParams | 获取标记列表的参数 |
GetCdMsgListParams-对象类型
查询用户敏感消息(查询指令)的参数
interface GetCdMsgListParams {
time: string,
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
?time | number | 时间 拉取该时间至今的指令消息 |
返回值
Promise<DefaultResponse<CdMsgBody[]>>
根据会话消息序号查询消息列表: getMsgList
根据会话消息序号查询消息列表
类型定义
getMsgList: (params: GetMsgListParams) => Promise<any>
Demo 例子🌰
SIMInstance.Message.getMsgList({
sessionId: 'test~~~~',
sessionType: 0,
securityType: 0,
rows: 10,
type: 1,
}).then((res) => {
console.log('getMsgList success!', res);
}).catch((err) => {
console.error('getMsgList Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetMsgListParams | 根据会话消息序号查询消息列表的参数 |
GetMsgListParams-对象类型
根据会话消息序号查询消息列表的参数
interface GetMsgListParams {
sessionId: string,
sessionType: SIMTypes.ChatTypeEnum,
securityType: 0|1,
serialId?: number,
msgId?: string,
rows: number,
type: 0|1|2, //0向下拉,1向上拉,2定位前后
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
sessionId | string | 会话ID |
sessionType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 0-普通聊天 1-秘密聊天 |
?msgId | string | 消息ID |
?serialId | number | 消息连续性标识 |
?rows | number | 拉取条数 |
?type | 0|1|2 | 拉取方向 0向下拉,1向上拉,2定位前后 |
返回值
Promise<DefaultResponse<DefaultMsg[]>>
根据会话消息序号区间查询消息状态列表: getMsgStatusList
根据会话消息序号区间查询消息状态列表
类型定义
getMsgStatusList: (params: GetMsgStatusListParams) => Promise<any>
Demo 例子🌰
SIMInstance.Message.getMsgStatusList({
sessionId: 'test~~~~',
sessionType: 0,
securityType: 0,
startSerialId: 1,
endSerialId: 10,
}).then((res) => {
console.log('getMsgList success!', res);
}).catch((err) => {
console.error('getMsgList Error! err:', err);
});
方法参数
参数 | 类型 | 说明 |
---|---|---|
params | GetMsgStatusListParams | 根据会话消息序号区间查询消息状态列表的参数 |
GetMsgStatusListParams-对象类型
根据会话消息序号区间查询消息状态列表
interface GetMsgStatusListParams {
sessionId: string,
sessionType: SIMTypes.ChatTypeEnum,
securityType: 0|1,
startSerialId: number, // 开始序列(小的序列)
endSerialId: number, // 结束序列(大的序列)
}
对象成员
参数 | 类型 | 说明 |
---|---|---|
sessionId | string | 会话ID |
sessionType | ChatTypeEnum | 会话类型 |
securityType | 0|1 | 密聊类型 0-普通聊天 1-秘密聊天 |
startSerialId | number | 开始序列(小的序列) |
endSerialId | number | 结束序列(大的序列) |
返回值
interface GetMsgStatusItemType {
/** 是否标记 */
"sign": boolean,
/** 是否删除 */
"delFlag": boolean,
/** 删除标记 */
"priDelFlag": boolean,
/** 回复数量 */
"replyCount": number,
/** 是否有小红点? */
"redDarkenFlag": boolean,
/** 排序ID */
"serialId": string
}
Promise<DefaultResponse<GetMsgStatusItemType[]>>
GetMsgStatusItemType
-对象成员
参数 | 类型 | 说明 |
---|---|---|
sign | boolean | 是否标记 |
delFlag | boolean | 是否删除 |
priDelFlag | boolean | 删除标记 |
replyCount | number | 回复数量 |
redDarkenFlag | boolean | 是否有小红点 |
serialId | string | 排序ID |
变更记录
序号 | 变更时间 | 变更人 | 变更内容 |
---|---|---|---|
1 | 2021/07/19 | 徐鹏坤 | 文档创建 |
2 | 2021/08/09 | 徐鹏坤 | 添加断层维护相关接口 |