|
@@ -4,6 +4,8 @@
|
|
|
import { formatMenus, toTreeData, formatTreeData } from 'ele-admin';
|
|
import { formatMenus, toTreeData, formatTreeData } from 'ele-admin';
|
|
|
import { USER_MENUS } from '@/config/setting';
|
|
import { USER_MENUS } from '@/config/setting';
|
|
|
import { getResourcesTree } from '@/api/layout';
|
|
import { getResourcesTree } from '@/api/layout';
|
|
|
|
|
+import { SYSTEM_NAME } from '@/config/setting';
|
|
|
|
|
+import Vue from 'vue';
|
|
|
|
|
|
|
|
const formatRouter = (list) => {
|
|
const formatRouter = (list) => {
|
|
|
let menuList = []; // menuType
|
|
let menuList = []; // menuType
|
|
@@ -51,23 +53,23 @@ export default {
|
|
|
},
|
|
},
|
|
|
mutations: {
|
|
mutations: {
|
|
|
// 设置登录用户的信息
|
|
// 设置登录用户的信息
|
|
|
- setUserInfo (state, info) {
|
|
|
|
|
|
|
+ setUserInfo(state, info) {
|
|
|
state.info = info;
|
|
state.info = info;
|
|
|
},
|
|
},
|
|
|
// 设置登录用户的菜单
|
|
// 设置登录用户的菜单
|
|
|
- setMenus (state, menus) {
|
|
|
|
|
|
|
+ setMenus(state, menus) {
|
|
|
state.menus = menus;
|
|
state.menus = menus;
|
|
|
},
|
|
},
|
|
|
// 设置登录用户的权限
|
|
// 设置登录用户的权限
|
|
|
- setAuthorities (state, authorities) {
|
|
|
|
|
|
|
+ setAuthorities(state, authorities) {
|
|
|
state.authorities = authorities;
|
|
state.authorities = authorities;
|
|
|
},
|
|
},
|
|
|
// 设置登录用户的权限路由
|
|
// 设置登录用户的权限路由
|
|
|
- setAuthoritiesRouter (state, authoritiesRouter) {
|
|
|
|
|
|
|
+ setAuthoritiesRouter(state, authoritiesRouter) {
|
|
|
state.authoritiesRouter = authoritiesRouter;
|
|
state.authoritiesRouter = authoritiesRouter;
|
|
|
},
|
|
},
|
|
|
// 设置登录用户的角色
|
|
// 设置登录用户的角色
|
|
|
- setRoles (state, roles) {
|
|
|
|
|
|
|
+ setRoles(state, roles) {
|
|
|
state.roles = roles;
|
|
state.roles = roles;
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
@@ -105,7 +107,7 @@ export default {
|
|
|
// return { menus, homePath };
|
|
// return { menus, homePath };
|
|
|
// },
|
|
// },
|
|
|
//动态路由
|
|
//动态路由
|
|
|
- async fetchUserInfo ({ commit }) {
|
|
|
|
|
|
|
+ async fetchUserInfo({ commit }) {
|
|
|
const result = await getResourcesTree().catch(() => {});
|
|
const result = await getResourcesTree().catch(() => {});
|
|
|
const list = result?.filter((i) => i.path === '/page-wt');
|
|
const list = result?.filter((i) => i.path === '/page-wt');
|
|
|
if (!list?.length) {
|
|
if (!list?.length) {
|
|
@@ -157,33 +159,41 @@ export default {
|
|
|
/**
|
|
/**
|
|
|
* 更新用户信息
|
|
* 更新用户信息
|
|
|
*/
|
|
*/
|
|
|
- setInfo ({ commit }, value) {
|
|
|
|
|
|
|
+ setInfo({ commit }, value) {
|
|
|
commit('setUserInfo', value);
|
|
commit('setUserInfo', value);
|
|
|
},
|
|
},
|
|
|
/**
|
|
/**
|
|
|
* 更新菜单数据
|
|
* 更新菜单数据
|
|
|
*/
|
|
*/
|
|
|
- setMenus ({ commit }, value) {
|
|
|
|
|
|
|
+ setMenus({ commit }, value) {
|
|
|
commit('setMenus', value);
|
|
commit('setMenus', value);
|
|
|
},
|
|
},
|
|
|
/**
|
|
/**
|
|
|
* 更新菜单的badge
|
|
* 更新菜单的badge
|
|
|
*/
|
|
*/
|
|
|
- setMenuBadge ({ commit, state }, { path, value, color }) {
|
|
|
|
|
- const menus = formatTreeData(state.menus, (m) => {
|
|
|
|
|
- if (path === m.path) {
|
|
|
|
|
- return {
|
|
|
|
|
- ...m,
|
|
|
|
|
- meta: {
|
|
|
|
|
- ...m.meta,
|
|
|
|
|
- badge: value,
|
|
|
|
|
- badgeColor: color
|
|
|
|
|
- }
|
|
|
|
|
- };
|
|
|
|
|
- }
|
|
|
|
|
- return m;
|
|
|
|
|
- });
|
|
|
|
|
- commit('setMenus', menus);
|
|
|
|
|
|
|
+ setMenuBadge({ commit, state }, { path, value, color }) {
|
|
|
|
|
+ if (window.__POWERED_BY_QIANKUN__) {
|
|
|
|
|
+ Vue.prototype.$portalStore?.dispatch('user/setMenuBadge', {
|
|
|
|
|
+ path: `/page-${SYSTEM_NAME}${path}`,
|
|
|
|
|
+ value,
|
|
|
|
|
+ color
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ const menus = formatTreeData(state.menus, (m) => {
|
|
|
|
|
+ if (path === m.path) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ ...m,
|
|
|
|
|
+ meta: {
|
|
|
|
|
+ ...m.meta,
|
|
|
|
|
+ badge: value,
|
|
|
|
|
+ badgeColor: color
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+ return m;
|
|
|
|
|
+ });
|
|
|
|
|
+ commit('setMenus', menus);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|