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

发送消息

使用 uni-app / uni-app x SDK 发送待发送消息对象。

复制

sendMessage() 发送由消息创建 API 返回的 OpenIMMessageItem。单聊只填写 recvID,群聊只填写 groupID

参数说明

参数类型是否必填说明
recvIDstring条件必填单聊时填写接收方用户 ID;群聊时传空字符串。
groupIDstring条件必填群聊时填写目标群组 ID;单聊时传空字符串。
messageOpenIMMessageItem待发送的消息对象。
offlinePushInfoOpenIMOfflinePush离线推送配置。
isOnlineOnlyboolean是否只向在线客户端投递;此类消息不进入本地历史。
import { sendMessage } from '@/uni_modules/unix-openim-sdk'

const sentMessage = await sendMessage({
  recvID: receiverUserID,
  groupID: '',
  message,
  isOnlineOnly: false,
})

Promise 成功后,直接返回服务端确认的 OpenIMMessageItem,原生 UTS API 不使用 { data } 包装。发送端应使用返回对象按 clientMsgID 替换本地待发送项;常用字段和内容字段见消息概览

其他客户端通过新消息事件接收。Promise 成功、接收事件到达和历史查询校准是不同阶段。提供失败重试时,应继续保留同一个 clientMsgID 下的待发送消息,除非产品明确创建一次新的发送。

资源已由业务上传并写入 URL 型消息时,使用 sendMessageNotOss()