跳到主要内容

会话管理

获取已打开的会话

Global IM UIKit 提供了 getOpenedConversation 接口,用于获取当前界面已打开的会话。如果当前界面未打开任何会话,则返回值为 null

JavaScript
const conversation = kitApp.getOpenedConversation();

打开指定会话

openConversation 用于打开指定会话。若该会话不存在于当前显示的会话列表内,Global IM UIKit 将新建会话并将其置于会话列表顶部。

JavaScript
const { code } = await kitApp.openConversation({ conversationType: ConversationType.PRIVATE, targetId: 'A' });

设置会话扩展

setConversationExtension 用于向会话显示面板添加扩展功能。添加的扩展功能将显示在已打开会话的标题(Title)面板右侧区域,如下方箭头所示。

JavaScript
kitApp.setConversationExtension([
{
id: "NOT_SYSTEM", // 功能 ID,用于区分不同的扩展功能。
icon: "", // 展示的图标 icon 文件地址,建议使用 SVG 格式。
filter(conversation) {
// 过滤器函数,用于针对不同会话做区别展示。当返回值为 false 时,将不会展示该扩展功能。
// 例如,在本例中,该功能不对系统会话类型的会话显示。
return conversation.conversationType !== ConversationType.SYSTEM;
},
},
{
id: "ALL",
icon: "",
},
]);

当用户点击功能扩展按钮时,Global IM UIKit 将派发 RCKitEvents.CONVERSATION_EXTENSION_CLICK 事件。

JavaScript
import { RCKitEvents } from '@rongcloud/global-im-uikit';

kitApp.addEventListener(RCKitEvents.CONVERSATION_EXTENSION_CLICK, (evt) => {
const data = evt.data;
console.log('被点击的功能 ID:', data.id);
console.log('当前会话:', data.conversation);
});