auth-web/src/utils/responsive.ts

47 lines
1.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 响应式storage
import type { App } from 'vue';
import Storage from 'responsive-storage';
import { routerArrays } from '@/layout/types';
import { responsiveStorageNameSpace } from '@/config';
export const injectResponsiveStorage = (app: App, config: PlatformConfigs) => {
const nameSpace = responsiveStorageNameSpace();
const configObj = Object.assign(
{
// 国际化 默认中文zh
locale: Storage.getData('locale', nameSpace) ?? {
locale: config.Locale ?? 'zh',
},
// layout模式以及主题
layout: Storage.getData('layout', nameSpace) ?? {
layout: config.Layout ?? 'vertical',
theme: config.Theme ?? 'light',
darkMode: config.DarkMode ?? false,
sidebarStatus: config.SidebarStatus ?? true,
epThemeColor: config.EpThemeColor ?? '#409EFF',
themeColor: config.Theme ?? 'light', // 主题色对应系统配置中的主题色与theme不同的是它不会受到浅色、深色整体风格切换的影响只会在手动点击主题色时改变
overallStyle: config.OverallStyle ?? 'light', // 整体风格浅色light、深色dark、自动system
},
// 系统配置-界面显示
configure: Storage.getData('configure', nameSpace) ?? {
grey: config.Grey ?? false,
weak: config.Weak ?? false,
hideTabs: config.HideTabs ?? false,
hideFooter: config.HideFooter ?? true,
showLogo: config.ShowLogo ?? true,
showModel: config.ShowModel ?? 'smart',
multiTagsCache: config.MultiTagsCache ?? false,
stretch: config.Stretch ?? false,
},
},
config.MultiTagsCache
? {
// 默认显示顶级菜单tag
tags: Storage.getData('tags', nameSpace) ?? routerArrays,
}
: {},
);
app.use(Storage, { nameSpace, memory: configObj });
};