getOneConversation
功能介绍
说明
获取指定会话信息,一般在通过好友信息或群信息获取会话,进入聊天界面时调用。
- iOS
- Android
- Flutter
- uni-app
- Browser/Electron/MiniProgram
- React-Native
- Unity
函数原型
Future<ConversationInfo> getOneConversation({
required String sourceID,
required int sessionType,
String? operationID,
})
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
sessionType | int | 是 | 会话类型 |
sourceID | String | 是 | 单聊为用户 ID,群聊为群ID |
返回结果
名称 | 类型 | 描述 |
---|---|---|
~ | ConversationInfo | 成功返回 |
代码示例
final conversationInfo = await OpenIM.iMManager.conversationManager.getOneConversation(sourceID: sourceID, sessionType: sessionType);
//todo
函数原型
- (void)getOneConversationWithSessionType:(OIMConversationType)sessionType
sourceID:(NSString *)sourceID
onSuccess:(nullable OIMConversationInfoCallback)onSuccess
onFailure:(nullable OIMFailureCallback)onFailure;
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
sessionType | OIMConversationType | 是 | 会话类型 |
sourceID | NSString | 是 | 单聊为用户 ID,群聊为群ID |
返回结果
名称 | 类型 | 描述 |
---|---|---|
onSuccess | OIMConversationInfo | 成功返回 |
onFailure | OIMFailureCallback | 失败返回 |
代码示例
[OIMManager.manager getOneConversationWithSessionType:
sourceID:@""
onSuccess:^(OIMConversationInfo * _Nullable conversation) {
} onFailure:^(NSInteger code, NSString * _Nullable msg) {
}];
函数原型
public void getOneConversation(OnBase<ConversationInfo> base, String sourceId, int sessionType)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
base | OnBase<ConversationInfo> | 是 | 回调接口 |
sessionType | int | 是 | 会话类型ConversationType |
sourceID | String | 是 | 单聊为用户 ID,群聊为群ID |
代码示例
OpenIMClient.getInstance().conversationManager.getOneConversation(new OnBase<List<ConversationInfo>>() {
@Override
public void onError(int code, String error) {
}
@Override
public void onSuccess(List<ConversationInfo> data) {
}
},sessionType,sourceID);
函数原型
IMSDK.getOneConversation({
sourceID: string;
sessionType: SessionType;
},operationID?: string): Promise<WsResponse<ConversationItem>>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
sourceID | string | 是 | 会话的用户 ID(单聊)或 groupID(群聊) |
sessionType | SessionType | 是 | 会话类型 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<WsResponse<ConversationItem>> | 调用成功回调 |
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.getOneConversation({
sourceID: 'user1',
sessionType: 1,
})
.then(({ data }) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
IMSDK.asyncApi('getOneConversation', operationID: string, {
sourceID: string;
sessionType: SessionType;
}): Promise<ConversationItem>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
sourceID | string | 是 | 会话的用户 ID(单聊)或 groupID(群聊) |
sessionType | SessionType | 是 | 会话类型 |
返回结果
通过
openim-uniapp-polyfill
包将函数 Promise 化,调用时需要使用then
和catch
判断并处理成功和失败回调。
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<ConversationItem> | 调用成功回调 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import IMSDK from 'openim-uniapp-polyfill';
IMSDK.asyncApi('getOneConversation', IMSDK.uuid(), {
sourceID: 'user1',
sessionType: 1,
})
.then((data) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
OpenIMSDKRN.getOneConversation({
sessionType: number,
sourceID: string,
}, operationID: string): Promise<ConversationItem>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
sourceID | string | 是 | 会话的用户 ID(单聊)或 groupID(群聊) |
sessionType | SessionType | 是 | 会话类型 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<ConversationItem> | 调用成功回调 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import OpenIMSDKRN from "open-im-sdk-rn";
OpenIMSDKRN.getOneConversation({
sourceID: 'user1',
sessionType: 1,
}, 'operationID')
.then((data) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
public static void GetOneConversation(OnBase<Conversation> cb, ConversationType sessionType, string sourceId)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
cb | OnBase<Conversation> | 是 | 回调接口 |
sessionType | ConversationType | 是 | 会话类型 |
sourceId | string | 是 | 单聊为用户 ID,群聊为群ID |
代码示例
IMSDK.GetOneConversation((list,errCode,errMsg)=>{
},sessionType,sourceID);