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

创建 @ 文本消息

在群聊中创建带 @ 用户信息的文本消息。

复制

参数说明

参数类型是否必填说明
textstring消息正文;建议使用稳定的 @userID 标记。
atUserIDListstring[]被提及用户 ID;@ 全体时先调用 getAtAllTag()商业版 获取专用标记。
atUsersInfoOpenIMAtUsersInfoItem[]null用户 ID 与群内展示名信息。
quoteMessageOpenIMMessageItemnull被引用的原消息。
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。该消息只能发送到群聊;创建本身不会改变会话的 @ 状态,也不会触发新消息事件。atUserIDListatUsersInfo 中的用户应保持一致。

提及全体成员

不要在业务代码中写死全体成员标记。商业版先调用 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。