Skip to content
v1
文档/HarmonyOS SDK/消息

发送进度

媒体消息发送进度保存在运行时内存中,不会持久化。页面重新进入后,可以先查询当前消息的最新进度,再注册监听器持续接收变化。

接口

ts
querySendProgress(messageId: string): MessageSendProgressSnapshot | undefined
querySendProgresses(messageIds: string[]): MessageSendProgressSnapshot[]
addSendProgressListener(listener: MessageSendProgressListener): void
removeSendProgressListener(listener?: MessageSendProgressListener | string): void

MessageSendProgressSnapshot

字段类型说明
messageIdstring消息 ID
phaseMessageSendProgressPhase发送阶段
progressnumber上传进度,范围 0-100
updateTimenumber最近更新时间

MessageSendProgressPhase

枚举说明
QUEUED已进入发送队列
UPLOADING上传中
COMPLETED发送完成
FAILED发送失败
CANCELLED已取消

代码示例

ts
import { IMSdk, MessageSendProgressListener, MessageSendProgressSnapshot } from '@beeworks/imsdk'

const snapshot = IMSdk.getInstance()
  .getMessageManager()
  .querySendProgress(messageId)

console.info('[im][send][progress]', snapshot)

const listener: MessageSendProgressListener = {
  key: 'send_progress_listener',
  onChanged: (changed: MessageSendProgressSnapshot): void => {
    console.info('[im][send][progress][changed]', changed)
  }
}

IMSdk.getInstance().getMessageManager().addSendProgressListener(listener)