fix: 根据角色返回不同数据,权限管理

This commit is contained in:
xiaoxian521 2021-05-28 02:05:24 +08:00
parent ad0281839f
commit a26f711d83
4 changed files with 33 additions and 24 deletions

View File

@ -42,11 +42,18 @@ export default [
{
url: "/getAsyncRoutes",
method: "get",
response: () => {
return {
code: 0,
info: systemRouter,
};
response: ({ query }) => {
if (query.name === "admin") {
return {
code: 0,
info: systemRouter,
};
} else {
return {
code: 0,
info: [],
};
}
},
},
] as MockMethod[];

View File

@ -1,29 +1,29 @@
import { MockMethod } from 'vite-plugin-mock'
import { MockMethod } from "vite-plugin-mock";
// http://mockjs.com/examples.html#Object
const mapList = (): any => {
const result: any[] = []
const result: any[] = [];
for (let index = 0; index < 200; index++) {
result.push({
plateNumber: "豫A@natural(11111, 99999)@character('upper')",
driver: '@cname()',
driver: "@cname()",
"orientation|1-360": 100,
"lng|113-114.1-10": 1,
"lat|34-35.1-10": 1
})
"lat|34-35.1-10": 1,
});
}
return result
}
return result;
};
export default [
{
url: '/getMapInfo',
method: 'get',
url: "/getMapInfo",
method: "get",
response: () => {
return {
code: 0,
info: mapList()
}
info: mapList(),
};
},
}
] as MockMethod[]
},
] as MockMethod[];

View File

@ -50,9 +50,7 @@ export const getServerConfig = async (): Promise<any> => {
};
getServerConfig().then(async () => {
app.use(router).use(store).use(useElementPlus).use(useTable).use(usI18n);
app.use(router);
await router.isReady();
app.mount("#app");
app.use(store).use(useElementPlus).use(useTable).use(usI18n).mount("#app");
});

View File

@ -75,9 +75,12 @@ const whiteList = ["/login", "/register"];
router.beforeEach((to, _from, next) => {
let isLogin = storageSession.getItem("info");
// _from?.name;
if (isLogin && isLogin.username === "admin") {
if (isLogin) {
// 异步路由
getAsyncRoutes().then(({ info }) => {
getAsyncRoutes({ name: isLogin.username }).then(({ info }) => {
if (info.length === 0) {
return;
}
addAsyncRoutes([info]).forEach((v: any) => {
// 防止重复添加路由
if (
@ -92,6 +95,7 @@ router.beforeEach((to, _from, next) => {
router.addRoute(v.name, v);
});
});
console.log(router.options.routes);
}
NProgress.start();
const { t } = i18n.global;