yusheng пре 1 година
родитељ
комит
4743855ae8
1 измењених фајлова са 52 додато и 45 уклоњено
  1. 52 45
      src/store/modules/theme.js

+ 52 - 45
src/store/modules/theme.js

@@ -86,7 +86,7 @@ let disableTransitionTimer, updateContentSizeTimer;
 /**
  * 读取缓存配置
  */
-function getCacheSetting () {
+function getCacheSetting() {
   try {
     const value = localStorage.getItem(THEME_STORE_NAME);
     if (value) {
@@ -104,7 +104,7 @@ function getCacheSetting () {
 /**
  * 缓存配置
  */
-function cacheSetting (key, value) {
+function cacheSetting(key, value) {
   const cache = getCacheSetting();
   if (cache[key] !== value) {
     cache[key] = value;
@@ -115,7 +115,7 @@ function cacheSetting (key, value) {
 /**
  * 开关响应式布局
  */
-function changeStyleResponsive (styleResponsive) {
+function changeStyleResponsive(styleResponsive) {
   if (styleResponsive) {
     document.body.classList.remove(BODY_LIMIT_CLASS);
   } else {
@@ -126,7 +126,7 @@ function changeStyleResponsive (styleResponsive) {
 /**
  * 切换色弱模式
  */
-function changeWeakMode (weakMode) {
+function changeWeakMode(weakMode) {
   if (weakMode) {
     document.body.classList.add(WEAK_CLASS);
   } else {
@@ -137,7 +137,7 @@ function changeWeakMode (weakMode) {
 /**
  * 切换主题
  */
-function changeTheme (value, dark) {
+function changeTheme(value, dark) {
   return new Promise((resolve, reject) => {
     try {
       changeColor(value, dark);
@@ -151,7 +151,7 @@ function changeTheme (value, dark) {
 /**
  * 切换布局时禁用过渡动画
  */
-function disableTransition () {
+function disableTransition() {
   disableTransitionTimer && clearTimeout(disableTransitionTimer);
   document.body.classList.add(DISABLES_CLASS);
   disableTransitionTimer = setTimeout(() => {
@@ -173,16 +173,23 @@ export default {
   })(),
   getters: {
     // 需要 keep-alive 的组件
-    keepAliveInclude (state) {
+    keepAliveInclude(state) {
       if (!TAB_KEEP_ALIVE || !state.showTabs) {
         return [];
       }
       const components = new Set();
       const { reloadPath, reloadHome } = state.routeReload || {};
+      console.log(state.tabs, 'state.tabs');
+
       state.tabs?.forEach((t) => {
         const isAlive = t.meta?.keepAlive !== false;
+   
+
         const isExclude = KEEP_ALIVE_EXCLUDES.includes(t.path);
         const isReload = reloadPath && reloadPath === t.fullPath;
+        console.log(isAlive, 'isAlive');
+        console.log(isExclude, 'isAlive');
+        console.log(isReload, 'isAlive');
         if (isAlive && !isExclude && !isReload && t.components) {
           t.components.forEach((c) => {
             if (typeof c === 'string' && c) {
@@ -202,100 +209,100 @@ export default {
     }
   },
   mutations: {
-    SET (state, { key, value }) {
+    SET(state, { key, value }) {
       state[key] = value;
     }
   },
   actions: {
-    setTabs ({ commit }, value) {
+    setTabs({ commit }, value) {
       commit('SET', { key: 'tabs', value });
       //cacheSetting('tabs', value);
     },
-    setCollapse ({ commit, dispatch }, value) {
+    setCollapse({ commit, dispatch }, value) {
       commit('SET', { key: 'collapse', value });
       dispatch('delayUpdateContentSize', 800);
     },
-    setSideNavCollapse ({ commit, dispatch }, value) {
+    setSideNavCollapse({ commit, dispatch }, value) {
       commit('SET', { key: 'sideNavCollapse', value });
       dispatch('delayUpdateContentSize', 800);
     },
-    setBodyFullscreen ({ commit, dispatch }, value) {
+    setBodyFullscreen({ commit, dispatch }, value) {
       disableTransition();
       commit('SET', { key: 'bodyFullscreen', value });
       dispatch('delayUpdateContentSize', 800);
     },
-    setShowTabs ({ commit, dispatch }, value) {
+    setShowTabs({ commit, dispatch }, value) {
       commit('SET', { key: 'showTabs', value });
       cacheSetting('showTabs', value);
       dispatch('delayUpdateContentSize');
     },
-    setShowFooter ({ commit, dispatch }, value) {
+    setShowFooter({ commit, dispatch }, value) {
       commit('SET', { key: 'showFooter', value });
       cacheSetting('showFooter', value);
       dispatch('delayUpdateContentSize');
     },
-    setHeadStyle ({ commit }, value) {
+    setHeadStyle({ commit }, value) {
       commit('SET', { key: 'headStyle', value });
       cacheSetting('headStyle', value);
     },
-    setSideStyle ({ commit }, value) {
+    setSideStyle({ commit }, value) {
       commit('SET', { key: 'sideStyle', value });
       cacheSetting('sideStyle', value);
     },
-    setLayoutStyle ({ commit, dispatch }, value) {
+    setLayoutStyle({ commit, dispatch }, value) {
       disableTransition();
       commit('SET', { key: 'layoutStyle', value });
       cacheSetting('layoutStyle', value);
       dispatch('delayUpdateContentSize');
     },
-    setSideMenuStyle ({ commit, dispatch }, value) {
+    setSideMenuStyle({ commit, dispatch }, value) {
       disableTransition();
       commit('SET', { key: 'sideMenuStyle', value });
       cacheSetting('sideMenuStyle', value);
       dispatch('delayUpdateContentSize');
     },
-    setTabStyle ({ commit }, value) {
+    setTabStyle({ commit }, value) {
       commit('SET', { key: 'tabStyle', value });
       cacheSetting('tabStyle', value);
     },
-    setTransitionName ({ commit }, value) {
+    setTransitionName({ commit }, value) {
       commit('SET', { key: 'transitionName', value });
       cacheSetting('transitionName', value);
     },
-    setFixedHeader ({ commit }, value) {
+    setFixedHeader({ commit }, value) {
       disableTransition();
       commit('SET', { key: 'fixedHeader', value });
       cacheSetting('fixedHeader', value);
     },
-    setFixedSidebar ({ commit }, value) {
+    setFixedSidebar({ commit }, value) {
       disableTransition();
       commit('SET', { key: 'fixedSidebar', value });
       cacheSetting('fixedSidebar', value);
     },
-    setFixedBody ({ commit }, value) {
+    setFixedBody({ commit }, value) {
       disableTransition();
       commit('SET', { key: 'fixedBody', value });
       cacheSetting('fixedBody', value);
     },
-    setBodyFull ({ commit, dispatch }, value) {
+    setBodyFull({ commit, dispatch }, value) {
       commit('SET', { key: 'bodyFull', value });
       cacheSetting('bodyFull', value);
       dispatch('delayUpdateContentSize');
     },
-    setLogoAutoSize ({ commit }, value) {
+    setLogoAutoSize({ commit }, value) {
       disableTransition();
       commit('SET', { key: 'logoAutoSize', value });
       cacheSetting('logoAutoSize', value);
     },
-    setColorfulIcon ({ commit }, value) {
+    setColorfulIcon({ commit }, value) {
       commit('SET', { key: 'colorfulIcon', value });
       cacheSetting('colorfulIcon', value);
     },
-    setSideUniqueOpen ({ commit }, value) {
+    setSideUniqueOpen({ commit }, value) {
       commit('SET', { key: 'sideUniqueOpen', value });
       cacheSetting('sideUniqueOpen', value);
     },
-    setStyleResponsive ({ commit }, value) {
+    setStyleResponsive({ commit }, value) {
       changeStyleResponsive(value);
       commit('SET', { key: 'styleResponsive', value });
       cacheSetting('styleResponsive', value);
@@ -304,7 +311,7 @@ export default {
      * 切换色弱模式
      * @param value 是否是色弱模式
      */
-    setWeakMode ({ commit }, value) {
+    setWeakMode({ commit }, value) {
       return new Promise((resolve) => {
         changeWeakMode(value);
         commit('SET', { key: 'weakMode', value });
@@ -316,7 +323,7 @@ export default {
      * 切换暗黑模式
      * @param value 是否是暗黑模式
      */
-    setDarkMode ({ commit, state }, value) {
+    setDarkMode({ commit, state }, value) {
       return new Promise((resolve, reject) => {
         changeTheme(state.color, value)
           .then(() => {
@@ -333,7 +340,7 @@ export default {
      * 切换主题色
      * @param value 主题色
      */
-    setColor ({ commit, state }, value) {
+    setColor({ commit, state }, value) {
       return new Promise((resolve, reject) => {
         changeTheme(value, state.darkMode)
           .then(() => {
@@ -350,20 +357,20 @@ export default {
      * 设置主页路由对应的组件名称
      * @param components 组件名称
      */
-    setHomeComponents ({ commit }, value) {
+    setHomeComponents({ commit }, value) {
       commit('SET', { key: 'homeComponents', value });
     },
     /**
      * 设置刷新路由信息
      * @param option 路由刷新参数
      */
-    setRouteReload ({ commit }, value) {
+    setRouteReload({ commit }, value) {
       commit('SET', { key: 'routeReload', value });
     },
     /**
      * 更新屏幕尺寸
      */
-    updateScreenSize ({ commit, dispatch }) {
+    updateScreenSize({ commit, dispatch }) {
       commit('SET', { key: 'screenWidth', value: screenWidth() });
       commit('SET', { key: 'screenHeight', value: screenHeight() });
       dispatch('updateContentSize');
@@ -371,7 +378,7 @@ export default {
     /**
      * 更新内容区域尺寸
      */
-    updateContentSize ({ commit }) {
+    updateContentSize({ commit }) {
       commit('SET', { key: 'contentWidth', value: contentWidth() });
       commit('SET', { key: 'contentHeight', value: contentHeight() });
     },
@@ -379,7 +386,7 @@ export default {
      * 延时更新内容区域尺寸
      * @param delay 延迟时间
      */
-    delayUpdateContentSize ({ dispatch }, delay) {
+    delayUpdateContentSize({ dispatch }, delay) {
       updateContentSizeTimer && clearTimeout(updateContentSizeTimer);
       updateContentSizeTimer = setTimeout(() => {
         dispatch('updateContentSize');
@@ -388,7 +395,7 @@ export default {
     /**
      * 重置设置
      */
-    resetSetting ({ commit, state }) {
+    resetSetting({ commit, state }) {
       return new Promise((resolve, reject) => {
         disableTransition();
         [
@@ -431,7 +438,7 @@ export default {
     /**
      * 恢复主题
      */
-    recoverTheme ({ state }) {
+    recoverTheme({ state }) {
       // 关闭响应式布局
       if (!state.styleResponsive) {
         changeStyleResponsive(false);
@@ -451,7 +458,7 @@ export default {
      * 添加页签或更新相同 key 的页签数据
      * @param data 页签数据
      */
-    tabAdd ({ dispatch, state }, data) {
+    tabAdd({ dispatch, state }, data) {
       if (Array.isArray(data)) {
         data.forEach((d) => {
           dispatch('tabAdd', d);
@@ -475,7 +482,7 @@ export default {
      * 关闭页签
      * @param key 页签 key
      */
-    async tabRemove ({ dispatch, state }, { key, active }) {
+    async tabRemove({ dispatch, state }, { key, active }) {
       const i = state.tabs.findIndex(
         (t) => t.key === key || t.fullPath === key
       );
@@ -496,7 +503,7 @@ export default {
     /**
      * 关闭左侧页签
      */
-    async tabRemoveLeft ({ dispatch, state }, { key, active }) {
+    async tabRemoveLeft({ dispatch, state }, { key, active }) {
       let index = -1; // 选中页签的 index
       for (let i = 0; i < state.tabs.length; i++) {
         if (state.tabs[i].key === active) {
@@ -520,7 +527,7 @@ export default {
     /**
      * 关闭右侧页签
      */
-    async tabRemoveRight ({ dispatch, state }, { key, active }) {
+    async tabRemoveRight({ dispatch, state }, { key, active }) {
       if (state.tabs.length) {
         let index = -1; // 选中页签的 index
         for (let i = 0; i < state.tabs.length; i++) {
@@ -557,7 +564,7 @@ export default {
     /**
      * 关闭其它页签
      */
-    async tabRemoveOther ({ dispatch, state }, { key, active }) {
+    async tabRemoveOther({ dispatch, state }, { key, active }) {
       let index = -1; // 选中页签的 index
       let path; // 关闭后跳转的 path
       const temp = state.tabs.filter((d, i) => {
@@ -582,7 +589,7 @@ export default {
      * 关闭全部页签
      * @param active 选中页签的 key
      */
-    async tabRemoveAll ({ dispatch, state }, active) {
+    async tabRemoveAll({ dispatch, state }, active) {
       const t = state.tabs.find((d) => d.key === active);
       const home = typeof t !== 'undefined' && t.closable === true; // 是否跳转主页
       const temp = state.tabs.filter((d) => !d.closable);
@@ -596,7 +603,7 @@ export default {
      * 修改页签
      * @param data 页签数据
      */
-    tabSetItem ({ dispatch, state }, data) {
+    tabSetItem({ dispatch, state }, data) {
       let i = -1;
       if (data.key) {
         i = state.tabs.findIndex((d) => d.key === data.key);