import { IMainMenu } from '@/model/base-interface';
import { IStyleConfig } from '@/services/customize/styleConfig.datatype';
import { traduction } from './language';
import useStore from '@/stores';
* pinia store数据分为4大类 loct, event, glob, menu
* 每个模块都有自己的actions
*/
export function getStoreData(storeModule: string, key: string): any {
return useStore().state[storeModule][key];
}
export function setStoreData(storeModule: string, key: string, value: any) {
let method = '';
switch (storeModule) {
case 'loct':
method = 'setLoctState';
break;
case 'event':
method = 'setEventState';
break;
case 'glob':
method = 'setGlobState';
break;
case 'theme':
method = 'setThemeState';
break;
default:
method = 'setLoctState';
}
useStore().state[storeModule][method]({ type: key, value });
}
export function showSuccessMessage(successMsg?: string) {
setStoreData('event', 'alertMessage', {
type: 'success',
message: successMsg || traduction('COMMON_SUCCESS')
});
}
export function showWarningMessage(warningMsg: string): void {
setStoreData('event', 'alertMessage', {
type: 'warning',
message: warningMsg
});
}
export function showFailedMessage(errorMsg?: string) {
setStoreData('event', 'alertMessage', {
type: 'error',
message: errorMsg || traduction('COMMON_FAILED')
});
}
export function findMainMenu(mainMenuId: string) {
const mainMenu = getStoreData('menu', 'mainMenu');
return mainMenu.filter((item: IMainMenu) => {
return item.id === mainMenuId;
})[0];
}
export function setMenuStoreData(mainId: string, subIds: string[], supported: boolean) {
useStore().state.menu.setChildMenu({ mainId, subIds, supported });
}
export function setThemeStoreData(data: IStyleConfig) {
useStore().state.theme.initThemeState(data);
}
export function loading(state: boolean) {
setStoreData('glob', 'isLoading', state);
}
export function resetLoctData() {
useStore().state.loct.resetLoctState();
}