Files
zyt/TUICallKit-Vue3/TUIKit/states/chat-uikit-engine-lite/TUIStore/store/app.ts
T
2026-03-11 09:49:47 +08:00

90 lines
2.3 KiB
TypeScript

import type { IAppStore, ITasks } from '../../interface/store';
export default class AppStore implements IAppStore {
public store: {
enabledMessageReadReceipt: boolean;
enabledEmojiPlugin: boolean;
enabledOnlineStatus: boolean;
enabledCustomerServicePlugin: boolean;
enabledTranslationPlugin: boolean;
enabledVoiceToText: boolean;
enableTyping: boolean;
enableConversationDraft: boolean;
enableAutoMessageRead: boolean;
isOfficial: boolean;
SDKVersion: string;
tasks: ITasks;
[key: string]: any;
};
public defaultStore = {
enabledMessageReadReceipt: false,
enabledEmojiPlugin: false,
enabledOnlineStatus: false,
enabledCustomerServicePlugin: false,
enabledTranslationPlugin: false,
enabledVoiceToText: false,
enableTyping: true,
enableConversationDraft: true,
enableAutoMessageRead: true,
isOfficial: false,
SDKVersion: '3.0.0',
tasks: {
sendMessage: false,
revokeMessage: false,
modifyNickName: false,
groupChat: false,
muteGroup: false,
dismissGroup: false,
call: false,
searchCloudMessage: false,
customerService: false,
translateTextMessage: false,
},
} as any;
constructor() {
this.store = {
enabledEmojiPlugin: false,
enabledMessageReadReceipt: false,
enabledOnlineStatus: false,
enabledCustomerServicePlugin: false,
enabledTranslationPlugin: false,
enabledVoiceToText: false,
enableTyping: true,
enableConversationDraft: true,
enableAutoMessageRead: true,
isOfficial: false,
SDKVersion: '3.0.0',
tasks: {
sendMessage: false,
revokeMessage: false,
modifyNickName: false,
groupChat: false,
muteGroup: false,
dismissGroup: false,
call: false,
searchCloudMessage: false,
customerService: false,
translateTextMessage: false,
},
};
}
update(key: string, data: any) {
this.store[key] = data;
}
getData(key: string) {
return this.store[key];
}
reset(keyList: string[] = []) {
this.store = {
...this.defaultStore,
...this.store,
...keyList.reduce((acc, key) => ({ ...acc, [key]: this.defaultStore[key] }), {}),
};
}
}