admin 初始化

This commit is contained in:
zoujiandong
2023-06-05 09:25:16 +08:00
parent 12ecc21e37
commit 51d369d4c1
82 changed files with 7662 additions and 11 deletions
+60
View File
@@ -0,0 +1,60 @@
import { defineStore } from 'pinia';
import { getUserMenuRole } from '@/api/admin/login';
const modules = import.meta.glob('../views/**/*.vue');
export const usePermissionStore = defineStore('permisson', {
state: () => {
return {
addRouters: [],
menuList: [],
};
},
getters: {
getRoutes: (state) => state.addRouters,
},
actions: {
setMenuList(menus) {
this.menuList = menus;
},
GenerateRoutes(routeList) {
const routes = [];
routeList.forEach((item) => {
const route = {};
// if (item.visible == 0) {
if (item.menuType === 'M' || item.menuType === 'C') {
route.path = item.path;
route.name = item.menuName;
if (item.menuType === 'M') {
route.component = modules[`../views/index.vue`];
} else if (item.menuType === 'C') {
route.component = modules[`../views${item.component}.vue`] || modules['../views/error-page/888.vue'];
}
route.meta = {
title: item.title,
permission: item.permission,
};
}
if (item.children) {
route.children = this.GenerateRoutes(item.children);
}
routes.push(route);
// }
});
return routes;
},
async getMenuRole() {
const res = await getUserMenuRole();
console.log(res.data);
this.setMenuList(res.data);
this.addRouters = await this.GenerateRoutes(res.data);
},
ClearMenuList() {
this.menuList = [];
}
},
});
+48
View File
@@ -0,0 +1,48 @@
import { defineStore } from 'pinia';
import { setLocalStorage, getLocalStorage } from '@/utils/storage';
import { getInfo } from '@/api/admin/sys-user';
import { getAppConfig } from '@/api/admin/login';
export const useUserStore = defineStore('user', {
state: () => {
return {
token: window.sessionStorage.getItem('token') || '',
uid: window.sessionStorage.getItem('uid') || '',
sysConfig: getLocalStorage('sysConfig'),
userInfo: '',
}
},
getters: {
roles: (state) => state.userInfo.roles || [],
},
actions: {
setToken(token) {
this.token = token;
window.sessionStorage.setItem('token', token);
},
async getUserInfo() {
try {
const res = await getInfo();
// window.sessionStorage.setItem('uid', res.data.userId);
window.localStorage.setItem('uid', res.data.userId);
this.userInfo = res.data;
} catch (err) {
console.error(err);
}
},
async getSysConfig() {
try {
const res = await getAppConfig();
setLocalStorage('sysConfig', res.data);
this.sysConfig = res.data;
} catch (err) {
console.error(err);
}
}
},
userLogout() {
this.token = null;
this.userInfo = null;
}
})