SDKsuni-app
创建 @ 文本消息
在群聊中创建带 @ 用户信息的文本消息。
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
text | string | 是 | 消息正文;建议使用稳定的 @userID 标记。 |
atUserIDList | string[] | 是 | 被提及用户 ID;@ 全体时先调用 getAtAllTag()商业版 获取专用标记。 |
atUsersInfo | OpenIMAtUsersInfoItem[] 或 null | 否 | 用户 ID 与群内展示名信息。 |
quoteMessage | OpenIMMessageItem 或 null | 否 | 被引用的原消息。 |
import { createTextAtMessage } from '@/uni_modules/unix-openim-sdk'
const message = await createTextAtMessage({
text: '@user_a 请确认',
atUserIDList: ['user_a'],
atUsersInfo: [{ atUserID: 'user_a', groupNickname: 'Alex' }],
})Promise 成功只返回待发送的 OpenIMMessageItem | null。该消息只能发送到群聊;创建本身不会改变会话的 @ 状态,也不会触发新消息事件。atUserIDList 与 atUsersInfo 中的用户应保持一致。
提及全体成员
不要在业务代码中写死全体成员标记。商业版先调用 getAtAllTag()商业版 商业版 取得当前标记,再将它同时放入正文和 atUserIDList:
import { getAtAllTag } from '@/uni_modules/unix-openim-sdk'
const atAllResult = await getAtAllTag()
const atAllTag = atAllResult?.tag
if (atAllTag != null) {
const message = await createTextAtMessage({
text: `${atAllTag} 请查看群公告`,
atUserIDList: [atAllTag],
})
}getAtAllTag()商业版 只读取 SDK 约定,不创建消息,也不触发事件。创建后仍需调用发送 API 并填写目标群 ID。
这个页面有帮助吗?