插入消息
插入单条消息
- 通过该功能在本地会话中插入一条消息。
- 插入的消息必须是可存储消息,否则报参数错误异常。
- 消息插入功能插入的消息仅支持配置会话类型、会话 ID、频道 ID、消息的发送方向、消息的发送时间以及各类消息独 有的可访问属性。
- 默认不配置的情况下插入的是一条发送方的已经发送成功的消息
方法
insertMessage(message: RCIMIWMessage): Promise<number>;
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
message | RCIMIWMessage | 已存入数据库的 message 对象 |
返回值
返回值 | 描述 |
---|---|
Promise<number> | 当次接口操作状态码,并不代表最终操作结果,状态码详细信息 |
代码示例
engine.createTextMessage(conversationType, targetId, channelId, '这是一条插入的消息')
.then((message: RCIMIWTextMessage) => {
// 可以修改 message 的部分属性,包括会话类型、会话 ID、频道 ID、消息的发送方向、消息的发送时间以及各类消息独有的可访问属性。
message.direction = RCIMIWMessageDirection.receive;
message.receivedStatus = RCIMIWReceivedStatus.unread;
engine.insertMessage(message)
.then((code: number) => {});
});
回调方法
-
setOnMessageInsertedListener
接口调用结果的监听
setOnMessageInsertedListener(listener?: (code: number, message: RCIMIWMessage) => void): void;
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
code | number | 接口回调的状态码,0 代表成功,非 0 代表出现异常 |
message | RCIMIWMessage | 已存入数据库的 message 对象 |
代码示例
engine.setOnMessageInsertedListener((code: number, message: RCIMIWMessage) => {});
SDK 支持在本地数据库中插入消息。本地插入的消息不会 实际发送给服务器和对方。
- 请确保所有插入消息均为可存储消息,否则会报错。
- 插入消息的接口仅将消息插入本地数据库,所以 App 卸载重装或者换端登录时插入的消息不会从远端同步到本地数据库。
插入多条消息
- 通过该功能在本地会话中插入多条消息。
- 插入的消息必须是可存储消息,否则报参数错误异常。
- 消息插入功能插入的消息仅支持配置会话类型、会话 ID、频道 ID、消息的发送方向、消息的发送时间以及各类消息独有的可访问属性。
- 默认不配置的情况下插入的是一条发送方的已经发送成功的消息
- 建议每次最多传入 10 条,当有一条失败时,所有的消息都会插入失败
方法
insertMessages(messages: Array<RCIMIWMessage>): Promise<number>;
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
messages | Array<RCIMIWMessage> | 已存入数据库的 message 对象 |
返回值
返回值 | 描述 |
---|---|
Promise<number> | 当次接口操作状态码,并不代表最终操作结果,状态码详细信息 |
代码示例
engine.createTextMessage(conversationType, useTargetId, useChannelId, '这是一条插入的消息-01')
.then((message) => {
let message2 = { ...message };
message2.text = '这是一条插入的消息-02';
engine.insertMessages([message, message2])
.then((code: number) => {});
});
回调方法
-
setOnMessagesInsertedListener
接口调用结果的监听
setOnMessagesInsertedListener(listener?: (code: number, messages: Array<RCIMIWMessage>) => void): void;
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
code | number | 接口回调的状态码,0 代表成功,非 0 代表出现异常 |
messages | Array<RCIMIWMessage> | 已存入数据库的 message 对象 |
代码示例
engine.setOnMessagesInsertedListener((code: number, messages: Array<RCIMIWMessage>) => {});