createTextAtMessage
功能介绍
说明
创建@消息,目前一条消息中最多支持@ 10人。如果要@所有人,则增加一个userID为AtAllTag的at元素即可。
同时,如果在@ 人的同时要引用消息,则需要将引用的消息作为参数传入,不再需要调用createQuoteMessage
。
- iOS
- Android
- Flutter
- uni-app
- Browser/Electron/MiniProgram
- React-Native
- Unity
函数原型
Future<Message> createTextAtMessage({
required String text,
required List<String> atUserIDList,
List<AtUserInfo> atUserInfoList = const [],
Message? quoteMessage,
String? operationID,
})
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
text | String | 是 | 内容 |
atUserIDList | List<String> | 是 | @人的 userID 列表 |
atUserInfoList | List<AtUserInfo> | 是 | @人的用户信息列表 |
quoteMessage | Message | 是 | 引用的消息 |
返回结果
名称 | 类型 | 描述 |
---|---|---|
~ | Message | 成功返回 |
代码示例
Message msg = await OpenIM.iMManager.messageManager.createTextAtMessage(text: text, atUserIDList: atUserIDList);
//todo
函数原型
+ (OIMMessageInfo *)createTextAtMessage:(NSString *)text
atUidList:(NSArray<NSString *> *)atUidList
atUsersInfo:(NSArray<OIMAtInfo *> *)atUsersInfo
message:(OIMMessageInfo * _Nullable)msg;
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
text | NSString | 是 | 内容 |
atUidList | NSArray<NSString *> | 是 | @人的 userID 列表 |
atUsersInfo | NSArray< OIMAtInfo * > | 是 | @人的用户信息列表 |
msg | OIMMessageInfo | 是 | 引用的消息 |
返回结果
名称 | 类型 | 描述 |
---|---|---|
message | OIMMessageInfo | 成功返回 |
代码示例
OIMAtInfo *user1 = [OIMAtInfo new];
user1.atUserID = @"";
user1.groupNickname = @"";
OIMMessageInfo *message = [OIMMessageInfo createTextAtMessage:@"" atUidList:@[] atUsersInfo:@[user1] message:nil];
函数原型
+ (OIMMessageInfo *)createTextAtAllMessage:(NSString *)text
displayText:(NSString * _Nullable)displayText
message:(OIMMessageInfo * _Nullable)message;
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
text | NSString | 是 | 内容 |
displayText | NSString | 否 | 展示的文本 |
msg | OIMMessageInfo | 否 | 引用的消息 |
返回结果
名称 | 类型 | 描述 |
---|---|---|
message | OIMMessageInfo | 成功返回 |
代码示例
OIMMessageInfo *message = [OIMMessageInfo createTextAtAllMessage:@""
displayText:nil
message:nil];
函数原型
public Message createTextAtMessage(String text, List<String> atUserIDList, List<AtUserInfo> atUserInfoList, Message quoteMessage)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
text | String | 是 | 内容 |
atUserIDList | List<String> | 是 | @人的 userID 列表 |
atUserInfoList | List<AtUserInfo> | 是 | @人的用户信息列表 |
quoteMessage | Message | 是 | 引用的消息 |
返回结果
名称 | 类型 | 描述 |
---|---|---|
~ | Message | 成功返回 |
代码示例
Message Message= OpenIMClient.getInstance().messageManager.createTextAtMessage( text, atUserIDList, atUserInfoList, quoteMessage)
函数原型
IMSDK.createTextAtMessage({
text: string;
atUserIDList: string[];
atUsersInfo: AtUsersInfoItem[];
message?: MessageItem;
}, operationID?: string): Promise<WsResponse<MessageItem>>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
text | string | 是 | 内容 |
atUserIDList | string[] | 是 | @人的 userID 列表 |
atUsersInfo | AtUsersInfoItem[] | 是 | @人的用户信息列表 |
message | MessageItem | 是 | 引用的消息 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<WsResponse<MessageItem>> | 调用成功回调 |
Promise.catch() | Promise<WsResponse> | 调用失败回调 |
代码示例
import { getSDK } from '@openim/wasm-client-sdk';
const IMSDK = getSDK();
// use in electron with ffi
// import { getWithRenderProcess } from '@openim/electron-client-sdk/lib/render';
// const { instance: IMSDK } = getWithRenderProcess();
// use in mini program
// import { OpenIMSDK } from 'open-im-sdk';
// const IMSDK = new OpenIMSDK();
IMSDK.createTextAtMessage({
text: "",
atUserIDList: ['userID'],
atUsersInfo: [
{
atUserID: "userID",
groupNickname: ""
},
],
message: {
// MessageItem
...
}
})
.then(({ data }) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
IMSDK.asyncApi('createTextAtMessage', operationID: string, {
text: string;
atUserIDList: string[];
atUsersInfo: AtUsersInfoItem[];
message?: MessageItem;
}): Promise<MessageItem>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
text | string | 是 | 内容 |
atUserIDList | string[] | 是 | @人的 userID 列表 |
atUsersInfo | AtUsersInfoItem[] | 是 | @人的用户信息列表 |
message | MessageItem | 是 | 引用的消息 |
返回结果
通过
openim-uniapp-polyfill
包将函数 Promise 化,调用时需要使用then
和catch
判断并处理成功和失败回调。
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<MessageItem> | 调用成功回调 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import IMSDK from 'openim-uniapp-polyfill';
IMSDK.asyncApi('createTextAtMessage', IMSDK.uuid(), {
text: "",
atUserIDList: ['userID'],
atUsersInfo: [
{
atUserID: "userID",
groupNickname: ""
},
],
message: {
// MessageItem
...
}
})
.then((data) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
OpenIMSDKRN.createTextAtMessage({
text: string,
atUserIDList: string[],
atUsersInfo: AtUsersInfoItem[];
message?: MessageItem;
}, operationID: string): Promise<MessageItem>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
text | string | 是 | 内容 |
atUserIDList | string[] | 是 | @人的 userID 列表 |
atUsersInfo | AtUsersInfoItem[] | 是 | @人的用户信息列表 |
message | MessageItem | 是 | 引用的消息 |
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<MessageItem> | 调用成功回调 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import OpenIMSDKRN from "open-im-sdk-rn";
OpenIMSDKRN.createTextAtMessage({
text: "",
atUserIDList: ['userID'],
atUsersInfo: [
{
atUserID: "userID",
groupNickname: ""
},
],
message: {
// MessageItem
...
}
}, 'operationID')
.then((data) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
public static Message CreateTextAtMessage(string text, string[] atUserList, AtInfo[] atUsersInfo, Message message)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
text | string | 是 | 内容 |
atUserList | string[] | 是 | @人的 userID 列表 |
atUsersInfo | AtInfo [] | 是 | @人的用户信息列表 |
message | Message | 是 | 引用的消息 |
返回结果
名称 | 类型 | 描述 |
---|---|---|
~ | Message | 成功返回 |
代码示例
var msg = IMSDK.CreateTextAtMessage(text, atUserList , atUsersInfo , message);