鸿蒙 IMLib-v1.8.0
    Preparing search index...

    阅后即焚监听

    // sequenceDiagram start
    title 阅后即焚
    发送方->>接收方: 1.发送阅后即焚消息
    activate 接收方
    接收方-->> 接收方: 2.用户进入聊天页面点击阅后即焚消息
    接收方-->> 接收方: 3.该消息开始阅后即焚
    接收方-->> 发送方: 4.发送阅后即焚通知
    deactivate 接收方
    activate 发送方
    发送方-->> 发送方: 5.删除本地消息删除远端消息
    发送方-->> 发送方: 6.更新对应的聊天页面
    deactivate 发送方
    activate 接收方
    接收方-->> 接收方: 7.倒计时不停触发
    接收方-->> 接收方: 8.倒计时结束删除本地消息删除远端消息
    接收方-->> 接收方: 9.更新对应的聊天页面
    deactivate 接收方
    // sequenceDiagram end

    1. 发送方发送阅后即焚消息 MessageContent destructDuration 设置为 > 0 的整数调用 sendMessage() sendMediaMessage() 发送
    2. 接收方用户进入聊天页面点击阅后即焚消息接收方进入聊天页面点击阅后即焚消息
    3. 接收方该消息开始阅后即焚接收方调用 messageBeginDestruct() 方法开始消息阅后即焚
    4. 接收方发送阅后即焚通知接收方调用 messageBeginDestruct() 方法后SDK 会通知发送方
    5. 发送方删除本地消息删除远端消息: 发送方触发 MessageDestructionListener.onMessageDestructing leftDuration 0SDK 会把对应的本地消息和远端消息删除此时 App/IMKit 需要将聊天页面中的该消息删除
    6. 发送方更新对应的聊天页面发送方聊天页面将对应消息删除
    7. 接收方倒计时不停触发接收方触发 MessageDestructionListener.onMessageDestructing leftDuration 不停递减
    8. 接收方倒计时结束删除本地消息删除远端消息 leftDuration 0 SDK 会把对应的本地消息和远端消息删除此时 App/IMKit 需要将聊天页面中的该消息删除
    9. 接收方更新对应的聊天页面接收方聊天页面将对应消息删除

    1.3.0

    使用 https://sequencediagram.org/ 打开时序图

    interface MessageDestructionListener {
        onMessageDestructing(message: Message, leftDuration: number): any;
        onMessageDestructionStop(message: Message): any;
    }
    Index

    Methods

    • 消息开始阅后即焚

      Parameters

      • message: Message

        消息体

      • leftDuration: number

        剩余的时间,单位秒

      Returns any

      调用 messageBeginDestruct() 之后,消息每经过 1 秒,就触发一次

      当 leftDuration 为 0 时,SDK 会将本地该消息和远端该消息删除,聊天页面需要将该消息从消息列表移除

    • 阅后即焚停止

      Parameters

      Returns any

      调用 messageStopDestruct() 触发