前端Sqlite存储的消息, 是否支持根据messageId来删除?

gaocunbin 2021-6-22 581

您好,

我们现在有个业务想这么处理,

收到自定义的消息后,想把消息里的messageId拿到,然后本地删除掉这条消息,然后存入一条新消息, 从而实现自定义消息某些内容的更新(之前的消息被删除, 只保留一个)

不知道咱们协议栈是否可以提供API进行支持

最新回复 (3)
  • HeavyRain 2021-6-22
    引用 2
    自定义消息可以把消息定义为no_persist,这样客户端收到消息后就不会存储到数据库中,不用删除了。然后再根据你们的业务来插入新消息。

    另外协议栈提供有删除消息的接口(参数可以是messageId或者messageUid),及更新消息接口
  • gaocunbin 2021-6-22
    引用 3
    从文档https://docs.wildfirechat.cn/base_knowledge/message_content.html摘抄如下:

    不存储消息。这类消息在客户端是不存储的,发送和接收方都不会存储。PersistFlag为不存储类型(No_Persist)。在UI上也不会显示出来。

    我们需要在UI上显示出来这个消息, 所以我理解不符合预期

    对于您提到的协议栈有删除消息的接口, 和更新消息的接口, 你是指的这个类吗? ChatManager, 但是我在这个类里只找到了消息监听的逻辑, 没有找到您提到的删除和更新消息的接口, 还请协助明确参考哪里, 多谢
  • HeavyRain 2021-6-23
    引用 4
    是在ChatManager中,请检查如下两个接口:
    deleteMessage删除消息
    updateMessage更新消息

    其中删除消息的参数是message,可以先根据messageId查到消息,然后再调用删除

返回