UNPKG

@tencentcloud/chat-uikit-uniapp

Version:

TUIKit 是基于 IM SDK 实现的一套 UI 组件,其包含会话、聊天、群组、个人资料等功能,基于这些精心设计的 UI 组件,您可以快速构建优雅的、可靠的、可扩展的 Chat 应用。

84 lines (73 loc) 1.73 kB
class TUIChatConfig { static instance: TUIChatConfig; private chatType: string; private features: Record<string, any>; private theme: string; constructor() { this.chatType = ''; this.features = { DownloadFile: true, CopyMessage: true, DeleteMessage: true, RevokeMessage: true, QuoteMessage: true, ForwardMessage: true, TranslateMessage: true, VoiceToText: true, MultiSelection: true, EmojiReaction: true, InputEmoji: true, InputStickers: true, InputImage: true, InputVoice: true, InputVideo: true, InputFile: true, InputEvaluation: true, InputQuickReplies: true, InputMention: true, MessageSearch: true, ReadStatus: true, }; this.theme = 'light'; } static getInstance(): TUIChatConfig { if (!TUIChatConfig.instance) { TUIChatConfig.instance = new TUIChatConfig(); } return TUIChatConfig.instance; } setChatType(chatType: string) { this.chatType = chatType; } getChatType() { return this.chatType; } hideTUIChatFeatures(features: string[]) { if (!features) { return; } features.forEach((feature: string) => { if (this.features[feature]) { this.features[feature] = false; } }); } getFeatureConfig(key?: string) { if (key) { return this.features[key]; } return this.features; } setTheme(theme: string) { this.theme = theme; } getTheme() { return this.theme; } } const ChatConfig = TUIChatConfig.getInstance(); const hideTUIChatFeatures = ChatConfig.hideTUIChatFeatures.bind(ChatConfig); export { hideTUIChatFeatures, }; export default ChatConfig;