From 44ad220cdd7eb3c967a4ccac0b2e5b0c0e22738e Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期日, 29 五月 2022 21:40:32 +0800 Subject: [PATCH] 使用Pinia代替Vuex进行数据存储 --- src/layout/components/Settings/index.vue | 52 ++++++++++++++++++---------------------------------- 1 files changed, 18 insertions(+), 34 deletions(-) diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue index d74045a..ff1fa50 100644 --- a/src/layout/components/Settings/index.vue +++ b/src/layout/components/Settings/index.vue @@ -84,26 +84,28 @@ import axios from 'axios' import { ElLoading, ElMessage } from 'element-plus' import { useDynamicTitle } from '@/utils/dynamicTitle' +import useAppStore from '@/store/modules/app' +import useSettingsStore from '@/store/modules/settings' +import usePermissionStore from '@/store/modules/permission' const { proxy } = getCurrentInstance(); -const store = useStore(); +const appStore = useAppStore() +const settingsStore = useSettingsStore() +const permissionStore = usePermissionStore() const showSettings = ref(false); -const theme = ref(store.state.settings.theme); -const sideTheme = ref(store.state.settings.sideTheme); -const storeSettings = computed(() => store.state.settings); +const theme = ref(settingsStore.theme); +const sideTheme = ref(settingsStore.sideTheme); +const storeSettings = computed(() => settingsStore); const predefineColors = ref(["#409EFF", "#ff4500", "#ff8c00", "#ffd700", "#90ee90", "#00ced1", "#1e90ff", "#c71585"]); /** 鏄惁闇�瑕乼opnav */ const topNav = computed({ get: () => storeSettings.value.topNav, set: (val) => { - store.dispatch('settings/changeSetting', { - key: 'topNav', - value: val - }) + settingsStore.changeSetting({ key: 'topNav', value: val }) if (!val) { - store.dispatch('app/toggleSideBarHide', false); - store.commit("SET_SIDEBAR_ROUTERS", store.state.permission.defaultRoutes); + appStore.toggleSideBarHide(false); + permissionStore.setSidebarRouters(permissionStore.defaultRoutes); } } }) @@ -111,57 +113,39 @@ const tagsView = computed({ get: () => storeSettings.value.tagsView, set: (val) => { - store.dispatch('settings/changeSetting', { - key: 'tagsView', - value: val - }) + settingsStore.changeSetting({ key: 'tagsView', value: val }) } }) /**鏄惁闇�瑕佸浐瀹氬ご閮� */ const fixedHeader = computed({ get: () => storeSettings.value.fixedHeader, set: (val) => { - store.dispatch('settings/changeSetting', { - key: 'fixedHeader', - value: val - }) + settingsStore.changeSetting({ key: 'fixedHeader', value: val }) } }) /**鏄惁闇�瑕佷晶杈规爮鐨刲ogo */ const sidebarLogo = computed({ get: () => storeSettings.value.sidebarLogo, set: (val) => { - store.dispatch('settings/changeSetting', { - key: 'sidebarLogo', - value: val - }) + settingsStore.changeSetting({ key: 'sidebarLogo', value: val }) } }) /**鏄惁闇�瑕佷晶杈规爮鐨勫姩鎬佺綉椤电殑title */ const dynamicTitle = computed({ get: () => storeSettings.value.dynamicTitle, set: (val) => { - store.dispatch('settings/changeSetting', { - key: 'dynamicTitle', - value: val - }) + settingsStore.changeSetting({ key: 'dynamicTitle', value: val }) // 鍔ㄦ�佽缃綉椤垫爣棰� useDynamicTitle() } }) function themeChange(val) { - store.dispatch('settings/changeSetting', { - key: 'theme', - value: val - }) + settingsStore.changeSetting({ key: 'theme', value: val }) theme.value = val; } function handleTheme(val) { - store.dispatch('settings/changeSetting', { - key: 'sideTheme', - value: val - }) + settingsStore.changeSetting({ key: 'sideTheme', value: val }) sideTheme.value = val; } function saveSetting() { -- Gitblit v1.9.3