会话管理
getOpenedConversation
Global IM UIKit 提供了 getOpenedConversation
接口,用于获取当前界面已打开的会话。若当前界面未打开任何会话,则返回值为 null
。
const conversation = kitApp.getOpenedConversation();
openConversation
打开指定会话,若会话不存在于当前显示的会话列表内,Global IM UIKit 将新建会话并将其置于会话列表尽可能靠前位置。
const { code } = await kitApp.openConversation({ conversationType: ConversationType.PRIVATE, targetId: 'A' });
setConversationExtension
向会话显示面板增加扩展功能,增加的扩展功能将已打开的会话上方,会话信息 Title 面板右侧区域显示,如下方箭头所示。
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
事件进行通知。
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);
})