setMessageLocalEx
功能介绍
说明
修改消息本地 ex 字段,如:下载文件后设置保存路径等。
注意
相关回调:
onConversationChanged
如果修改的是最新一条消息,则会话最新一条消息会改变
- iOS
- Android
- Flutter
- uni-app
- Browser/Electron
- React-Native
- Unity
函数原型
Future setMessageLocalEx({
required String conversationID,
required String clientMsgID,
required String localEx,
String? operationID,
});
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
conversationID | String | 是 | 会话 ID |
clientMsgID | String | 是 | 消息 ID |
localEx | String | 是 | 要设置的 ex 信息 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
then | void | 调用成功回调 |
onError | Function | 调用失败回调 |
代码示例
OpenIM.iMManager.messageManager.setMessageLocalEx(conversationID: '', clientMsgID: '', localEx: 'localEx');
函数原型
- (void)setMessageLocalEx:(NSString *)conversationID
clientMsgID:(NSString *)clientMsgID
localEx:(NSString *)localEx
onSuccess:(OIMSuccessCallback)onSuccess
onFailure:(OIMFailureCallback)onFailure;
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
conversationID | NSString | 是 | 会话 ID |
clientMsgID | NSString | 是 | 消息 ID |
localEx | NSString | 是 | 要设置的 ex 信息 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
onSuccess | OIMSuccessCallback | 调用成功回调 |
onFailure | OIMFailureCallback | 调用失败回调 |
代码示例
[OIMManager.manager setMessageLocalEx:@""
clientMsgID:@""
localEx:@""
onSuccess:^(NSString * _Nullable data) {
} onFailure:^(NSInteger code, NSString * _Nullable msg) {
}];
### 函数原型
public void setMessageLocalEx(OnBase<String> callBack, String conversationID, String clientMsgID, String localEx)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
OnBase | OnBase | 是 | 会话 ID |
conversationID | String | 是 | 会话 ID |
clientMsgID | String | 是 | 消息 ID |
localEx | String | 是 | 要设置的 ex 信息 |
代码示例
OpenIMClient.getInstance()
.messageManager.setMessageLocalEx(new OnBase<String>() {
@Override
public void onError(int code, String error) {
}
@Override
public void onSuccess(String data) {
}
},conversationID,clientMsgID,localEx);
函数原型
IMSDK.setMessageLocalEx({
conversationID: string;
clientMsgID: string;
localEx: string;
}, operationID?: string): Promise<WsResponse>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
conversationID | string | 是 | 会话 ID |
clientMsgID | string | 是 | 消息 ID |
localEx | string | 是 | 要设置的 ex 信息 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<WsResponse> | 调用成功回调 |
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();
IMSDK.setMessageLocalEx({
conversationID: 'conversationID',
clientMsgID: 'clientMsgID',
localEx: 'localEx',
})
.then(() => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
IMSDK.asyncApi('setMessageLocalEx', operationID: string, {
conversationID: string;
clientMsgID: string;
localEx: string;
}): Promise<void>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
conversationID | string | 是 | 会话 ID |
clientMsgID | string | 是 | 消息 ID |
localEx | string | 是 | 要设置的 ex 信息 |
返回结果
通过
openim-uniapp-polyfill
包将函数 Promise 化,调用时需要使用then
和catch
判断并处理成功和失败回调。
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<void> | 调用成功回调 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import IMSDK from 'openim-uniapp-polyfill';
IMSDK.asyncApi('setMessageLocalEx', IMSDK.uuid(), {
conversationID: 'conversationID',
clientMsgID: 'clientMsgID',
localEx: 'localEx',
})
.then(() => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
OpenIMSDKRN.setMessageLocalEx( {
conversationID: string;
clientMsgID: string;
localEx: string;
}, operationID: string): Promise<void>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
conversationID | string | 是 | 会话 ID |
clientMsgID | string | 是 | 消息 ID |
localEx | string | 是 | 要设置的 ex 信息 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<void> | 调用成功回调 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import OpenIMSDKRN from "open-im-sdk-rn";
OpenIMSDKRN.setMessageLocalEx({
conversationID: 'conversationID',
clientMsgID: 'clientMsgID',
localEx: 'localEx',
}, 'operationID')
.then(() => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
### 函数原型
public static void SetMessageLocalEx(OnBase<bool> cb, string conversationId, string clientMsgId, string localEx)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
cb | OnBase | 回调 | |
conversationId | string | 是 | 会话 ID |
clientMsgId | string | 是 | 消息 ID |
localEx | string | 是 | 要设置的 ex 信息 |
代码示例
IMSDK.SetMessageLocalEx((suc,errCode,errMsg)=>{
},conversationId,clientMsgId,localEx);