SDKsuni-app / uni-app x
创建 @ 消息
创建一条用于群聊的 @ 文本消息。
创建 @ 消息接口用于创建群聊 @ 文本消息。正文中的展示文本和 atUserIDList 应保持一致;应用应使用稳定用户 ID 识别被提及成员。
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
text | string | 是 | 消息正文。 |
atUserIDList | string[] | 是 | 被提及的用户 ID 或 SDK 返回的全体成员标记。 |
atUsersInfo | OpenIMAtUsersInfoItem[] | 否 | 用户 ID 与群内展示名。 |
quoteMessage | OpenIMMessageItem | 否 | 同时回复的原消息。 |
import { createTextAtMessage } from '@/uni_modules/unix-openim-sdk'
const message = await createTextAtMessage({
text: '@Alex 请确认',
atUserIDList: ['user_a'],
atUsersInfo: [{
atUserID: 'user_a',
groupNickname: 'Alex',
}],
})
if (message == null) return创建结果只用于群聊发送。该操作本身不会改变会话中的 @ 提醒状态,也不会触发新消息事件。
提及全体成员
不要在业务代码中写死全体成员标记。先调用获取全体成员标记接口读取当前 SDK 约定,再将 tag 同时放入正文和用户列表:
import {
createTextAtMessage,
getAtAllTag,
} from '@/uni_modules/unix-openim-sdk'
const result = await getAtAllTag()
if (result == null || result.tag.length == 0) return
const message = await createTextAtMessage({
text: result.tag + ' 请查看群公告',
atUserIDList: [result.tag],
})获取全体成员标记接口只读取标记,不创建或发送消息。创建成功后将非空消息交给发送消息,发送时只填写目标群组 ID groupID,客户端使用 clientMsgID 关联并更新本地状态。
这个页面有帮助吗?