浏览 SDKs · uni-app / uni-app x
平台
SDKsuni-app / uni-app x

接收服务端业务通知

监听服务端下发的自定义业务通知。

复制

自定义业务消息接收事件用于监听服务端主动下发的业务通知。回调参数为业务数据字符串,而不是 OpenIMMessageItem 结构;通过创建自定义消息创建并发送的普通聊天自定义消息,仍由接收消息中的新消息事件统一处理。

import {
  off,
  onRecvCustomBusinessMessage,
} from '@/uni_modules/unix-openim-sdk'

const handleCustomBusinessMessage = (payload: string) => {
  const businessMessage = parseAndValidateBusinessPayload(payload)
  applyBusinessPayload(businessMessage)
}

const businessMessageSubscription =
  onRecvCustomBusinessMessage(handleCustomBusinessMessage)

function removeBusinessMessageListener() {
  off(businessMessageSubscription)
}

先校验字符串格式、业务类型、版本和必要字段,再更新应用状态。业务协议应提供稳定的通知 ID,接收端按该 ID 去重;不要依赖事件到达顺序,也不要执行通知中未经信任的脚本或表达式。

组件卸载、退出登录或切换账号前应调用清理函数取消事件监听。需要当前业务状态时,应由对应业务接口重新查询;事件只提供增量通知。