设置用户偏好.

This commit is contained in:
lijiahang
2023-10-08 16:55:18 +08:00
parent c7defdb80d
commit fbd815a10e
30 changed files with 942 additions and 36 deletions

View File

@@ -1,5 +1,6 @@
import { defineStore } from 'pinia';
import { AppState } from './types';
import TimeScale from 'echarts/types/src/scale/Time';
const defaultConfig: AppState = {
// 应用设置
@@ -36,16 +37,17 @@ export default defineStore('app', {
},
actions: {
// 修改颜色主题
toggleTheme(dark: boolean) {
this.updateSettings({
theme: dark ? 'dark' : 'light'
});
document.body.setAttribute('arco-theme', dark ? 'dark' : 'light');
},
// 更新配置
updateSettings(partial: Partial<AppState>) {
// 主题颜色
if (partial.theme !== undefined) {
document.body.setAttribute('arco-theme', partial.theme);
}
// 色弱模式
if (partial.colorWeak !== undefined) {
document.body.style.filter = partial.colorWeak ? 'invert(80%)' : 'none';
}
// 修改配置
this.$patch(partial as object);
},
},

View File

@@ -4,7 +4,7 @@ import { clearToken, setToken } from '@/utils/auth';
import { md5 } from '@/utils';
import { removeRouteListener } from '@/utils/route-listener';
import { UserState } from './types';
import { useMenuStore, useTabBarStore } from '@/store';
import { useAppStore, useMenuStore, useTabBarStore } from '@/store';
export default defineStore('user', {
state: (): UserState => ({
@@ -30,7 +30,6 @@ export default defineStore('user', {
// 获取用户信息
async info() {
// TODO 查询偏好
const { data } = await getUserPermission();
// 设置用户信息
this.setInfo({
@@ -41,8 +40,9 @@ export default defineStore('user', {
roles: data.roles,
permission: data.permissions,
});
// TODO 设置用户偏好
// 设置用户偏好
const appStore = useAppStore();
appStore.updateSettings(data.user.systemPreference);
},
// 登录