@tencentcloud/tui-emoji-plugin
Version:
表情回应插件
51 lines (47 loc) • 1.31 kB
text/typescript
import TUICore, {
TUIConstants,
} from '@tencentcloud/tui-core';
import {
TUIStore,
StoreName,
} from '@tencentcloud/chat-uikit-engine';
export default class TUIEmojiPluginServer {
static instance: TUIEmojiPluginServer;
constructor() {
// 注册表情插件
TUICore.registerService(TUIConstants.TUIEmojiPlugin.SERVICE.NAME, this);
// 注册扩展
TUICore.registerExtension(TUIConstants.TUIChat.EXTENSION.MSG_POP_MENU.EXT_ID, this);
}
static getInstance() {
if (!TUIEmojiPluginServer.instance) {
TUIEmojiPluginServer.instance = new TUIEmojiPluginServer();
}
return TUIEmojiPluginServer.instance;
}
public onCall(method: string) {
if (method === TUIConstants.TUIEmojiPlugin.SERVICE.METHOD.CLOSE_EMOJI_DETAIL) {
TUIStore.update(StoreName.CUSTOM, 'selectedReactionMessageID', '');
}
}
public onGetExtension(
extensionID: string,
params: any,
): any[] {
const list: any[] = [];
switch (extensionID) {
case TUIConstants.TUIChat.EXTENSION.MSG_POP_MENU.EXT_ID:
if (params?.enabledEmojiPlugin) {
list.push({
icon: '',
text: 'TUIEmojiPlugin',
listener: {},
weight: 0,
data: {},
});
}
break;
}
return list;
}
}