圈组消息删除
更新时间: 2024/03/14 19:21:13
QChat SDK 的QChatMsgServiceInterface
接口提供方法支持在发送消息后删除消息。
消息发送方和拥有删除他人消息权限(deleteMsg
)的频道成员都可删除消息。
前提条件
- 已开通和配置圈组功能。
- 已完成圈组初始化。
实现流程
API 调用时序
具体流程
本节仅对上图中标为橙色的流程进行说明,其他流程请参考相关文档。例如:
-
注册回调函数并登录。
- 发送方在登录圈组前,注册
messageUpdate
消息更新事件回调函数。 - 接收方在登录圈组前,注册
message
消息接收事件回调函数和messageUpdate
消息更新事件回调函数。
注册回调函数的示例代码如下:
注册消息接收事件回调const qchat = new QChat({ // 初始化参数 }) qchat.on('message',(message)=>{})
注册消息更新事件回调const qchat = new QChatSDK({ ... }) qchat.on('messageUpdate', function (msg) { console.log('receive a messageUpdate', msg) }) await qchat.login()
- 发送方在登录圈组前,注册
-
接收方在收到消息后,调用
deleteMessage
方法删除消息。其中
RovokeMessageOptions
中的参数message
推荐直接传入整个消息体,也可以只传入serverId
、channelId
、msgIdServer
和time
,示例代码如下:await qchat.qchatMsg.deleteMessage({ "message": { "serverId": "{{YOUR_SERVERID}}", "channelId": "{{YOUR_CHANNELID}}", "type": "text", "body": "keqing", "ext": "sdsdsd", "msgIdClient": "51d63bbe042f15b6117cc44c971e47e7", "fromAccount": "ctt1", "fromClientType": "Web", "fromDeviceId": "78a42adb0249809d864542827fa42e41", "fromNick": "123", "time": 1643364678578, "updateTime": 1643364678578, "msgIdServer": "657293", "status": 0, "historyEnable": true, "deliveryStatus": "success" }, "ps": "ps111", "ext": "ext111" }) // or await qchat.qchatMsg.deleteMessage({ "message": { "serverId": "{{YOUR_SERVERID}}", "channelId": "{{YOUR_CHANNELID}}", "time": 1643364678578, "msgIdServer": "657293", }, "ps": "ps111", "ext": "ext111" })
-
messageUpdate
消息更新事件回调触发,消息删除。
API 参考
API |
说明 |
---|---|
message |
消息接收事件回调函数 |
messageUpdate |
消息更新回调函数 |
deleteMessage |
删除消息 |
此文档是否对你有帮助?