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

创建 @ 消息

创建一条用于群聊的 @ 文本消息。

复制

创建 @ 消息接口用于创建群聊 @ 文本消息。正文中的展示文本和 atUserIDList 应保持一致;应用应使用稳定用户 ID 识别被提及成员。

参数说明

参数类型是否必填说明
textstring是消息正文。
atUserIDListstring[]是被提及的用户 ID 或 SDK 返回的全体成员标记。
atUsersInfoOpenIMAtUsersInfoItem[]否用户 ID 与群内展示名。
quoteMessageOpenIMMessageItem否同时回复的原消息。
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 关联并更新本地状态。