|
|
@@ -87,7 +87,7 @@ let disableTransitionTimer, updateContentSizeTimer;
|
|
|
/**
|
|
|
* 读取缓存配置
|
|
|
*/
|
|
|
-function getCacheSetting () {
|
|
|
+function getCacheSetting() {
|
|
|
try {
|
|
|
const value = localStorage.getItem(THEME_STORE_NAME);
|
|
|
if (value) {
|
|
|
@@ -105,7 +105,7 @@ function getCacheSetting () {
|
|
|
/**
|
|
|
* 缓存配置
|
|
|
*/
|
|
|
-function cacheSetting (key, value) {
|
|
|
+function cacheSetting(key, value) {
|
|
|
const cache = getCacheSetting();
|
|
|
if (cache[key] !== value) {
|
|
|
cache[key] = value;
|
|
|
@@ -116,7 +116,7 @@ function cacheSetting (key, value) {
|
|
|
/**
|
|
|
* 开关响应式布局
|
|
|
*/
|
|
|
-function changeStyleResponsive (styleResponsive) {
|
|
|
+function changeStyleResponsive(styleResponsive) {
|
|
|
if (styleResponsive) {
|
|
|
document.body.classList.remove(BODY_LIMIT_CLASS);
|
|
|
} else {
|
|
|
@@ -127,7 +127,7 @@ function changeStyleResponsive (styleResponsive) {
|
|
|
/**
|
|
|
* 切换色弱模式
|
|
|
*/
|
|
|
-function changeWeakMode (weakMode) {
|
|
|
+function changeWeakMode(weakMode) {
|
|
|
if (weakMode) {
|
|
|
document.body.classList.add(WEAK_CLASS);
|
|
|
} else {
|
|
|
@@ -138,7 +138,7 @@ function changeWeakMode (weakMode) {
|
|
|
/**
|
|
|
* 切换主题
|
|
|
*/
|
|
|
-function changeTheme (value, dark) {
|
|
|
+function changeTheme(value, dark) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
try {
|
|
|
changeColor(value, dark);
|
|
|
@@ -152,7 +152,7 @@ function changeTheme (value, dark) {
|
|
|
/**
|
|
|
* 切换布局时禁用过渡动画
|
|
|
*/
|
|
|
-function disableTransition () {
|
|
|
+function disableTransition() {
|
|
|
disableTransitionTimer && clearTimeout(disableTransitionTimer);
|
|
|
document.body.classList.add(DISABLES_CLASS);
|
|
|
disableTransitionTimer = setTimeout(() => {
|
|
|
@@ -174,7 +174,7 @@ export default {
|
|
|
})(),
|
|
|
getters: {
|
|
|
// 需要 keep-alive 的组件
|
|
|
- keepAliveInclude (state) {
|
|
|
+ keepAliveInclude(state) {
|
|
|
if (!TAB_KEEP_ALIVE || !state.showTabs) {
|
|
|
return [];
|
|
|
}
|
|
|
@@ -203,100 +203,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);
|
|
|
@@ -305,7 +305,7 @@ export default {
|
|
|
* 切换色弱模式
|
|
|
* @param value 是否是色弱模式
|
|
|
*/
|
|
|
- setWeakMode ({ commit }, value) {
|
|
|
+ setWeakMode({ commit }, value) {
|
|
|
return new Promise((resolve) => {
|
|
|
changeWeakMode(value);
|
|
|
commit('SET', { key: 'weakMode', value });
|
|
|
@@ -317,7 +317,7 @@ export default {
|
|
|
* 切换暗黑模式
|
|
|
* @param value 是否是暗黑模式
|
|
|
*/
|
|
|
- setDarkMode ({ commit, state }, value) {
|
|
|
+ setDarkMode({ commit, state }, value) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
changeTheme(state.color, value)
|
|
|
.then(() => {
|
|
|
@@ -334,7 +334,7 @@ export default {
|
|
|
* 切换主题色
|
|
|
* @param value 主题色
|
|
|
*/
|
|
|
- setColor ({ commit, state }, value) {
|
|
|
+ setColor({ commit, state }, value) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
changeTheme(value, state.darkMode)
|
|
|
.then(() => {
|
|
|
@@ -351,20 +351,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');
|
|
|
@@ -372,7 +372,7 @@ export default {
|
|
|
/**
|
|
|
* 更新内容区域尺寸
|
|
|
*/
|
|
|
- updateContentSize ({ commit }) {
|
|
|
+ updateContentSize({ commit }) {
|
|
|
commit('SET', { key: 'contentWidth', value: contentWidth() });
|
|
|
commit('SET', { key: 'contentHeight', value: contentHeight() });
|
|
|
},
|
|
|
@@ -380,7 +380,7 @@ export default {
|
|
|
* 延时更新内容区域尺寸
|
|
|
* @param delay 延迟时间
|
|
|
*/
|
|
|
- delayUpdateContentSize ({ dispatch }, delay) {
|
|
|
+ delayUpdateContentSize({ dispatch }, delay) {
|
|
|
updateContentSizeTimer && clearTimeout(updateContentSizeTimer);
|
|
|
updateContentSizeTimer = setTimeout(() => {
|
|
|
dispatch('updateContentSize');
|
|
|
@@ -389,7 +389,7 @@ export default {
|
|
|
/**
|
|
|
* 重置设置
|
|
|
*/
|
|
|
- resetSetting ({ commit, state }) {
|
|
|
+ resetSetting({ commit, state }) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
disableTransition();
|
|
|
[
|
|
|
@@ -432,7 +432,7 @@ export default {
|
|
|
/**
|
|
|
* 恢复主题
|
|
|
*/
|
|
|
- recoverTheme ({ state }) {
|
|
|
+ recoverTheme({ state }) {
|
|
|
// 关闭响应式布局
|
|
|
if (!state.styleResponsive) {
|
|
|
changeStyleResponsive(false);
|
|
|
@@ -452,7 +452,7 @@ export default {
|
|
|
* 添加页签或更新相同 key 的页签数据
|
|
|
* @param data 页签数据
|
|
|
*/
|
|
|
- tabAdd ({ dispatch, state }, data) {
|
|
|
+ tabAdd({ dispatch, state }, data) {
|
|
|
if (Array.isArray(data)) {
|
|
|
data.forEach((d) => {
|
|
|
dispatch('tabAdd', d);
|
|
|
@@ -476,7 +476,7 @@ export default {
|
|
|
* 关闭页签
|
|
|
* @param key 页签 key
|
|
|
*/
|
|
|
- async tabRemove ({ dispatch, state }, { key, active }) {
|
|
|
+ async tabRemove({ dispatch, state }, { key, active }) {
|
|
|
if (window.__POWERED_BY_QIANKUN__) {
|
|
|
return Vue.prototype.$portalStore?.dispatch('theme/tabRemove', {
|
|
|
key,
|
|
|
@@ -504,7 +504,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) {
|
|
|
@@ -528,7 +528,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++) {
|
|
|
@@ -565,7 +565,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) => {
|
|
|
@@ -590,7 +590,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);
|
|
|
@@ -604,7 +604,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);
|