feat: 添加按钮权限

This commit is contained in:
xiaoxian521
2021-06-30 14:29:40 +08:00
parent a8bc76ed9c
commit ad1de9530a
11 changed files with 137 additions and 72 deletions

View File

@@ -6,7 +6,6 @@ import editorRouter from "./modules/editor";
import componentsRouter from "./modules/components";
import nestedRouter from "./modules/nested";
import errorRouter from "./modules/error";
import permissionRouter from "./modules/permission";
import externalLink from "./modules/externalLink";
import remainingRouter from "./modules/remaining"; //静态路由
@@ -26,7 +25,6 @@ const constantRoutes: Array<any> = [
editorRouter,
componentsRouter,
nestedRouter,
permissionRouter,
externalLink,
errorRouter,
];
@@ -83,7 +81,7 @@ export const initRouter = (name, next?, to?) => {
if (info.length === 0) {
usePermissionStoreHook().changeSetting(info);
} else {
addAsyncRoutes([info]).map((v: any) => {
addAsyncRoutes(info).map((v: any) => {
// 防止重复添加路由
if (
router.options.routes.findIndex(
@@ -99,8 +97,8 @@ export const initRouter = (name, next?, to?) => {
router.addRoute(v.name, v);
if (next && to) next({ ...to, replace: true });
usePermissionStoreHook().changeSetting(info);
resolve(router);
}
resolve(router);
});
}
router.addRoute({
@@ -135,9 +133,10 @@ router.beforeEach((to, _from, next) => {
if (_from?.name) {
next();
} else {
initRouter(name.username, next, to).then((router: Router) => {
router.push(to.path);
});
if (usePermissionStoreHook().wholeRoutes.length === 0)
initRouter(name.username, next, to).then((router: Router) => {
router.push(to.path);
});
next();
}
} else {

View File

@@ -1,39 +0,0 @@
import Layout from "/@/layout/index.vue";
const permissionRouter = {
path: "/permission",
component: Layout,
redirect: "/permission/page",
name: "permission",
meta: {
title: "message.permission",
icon: "el-icon-lollipop",
showLink: true,
savedPosition: false,
rank: 3,
},
children: [
{
path: "/permission/page",
component: () => import("/@/views/permission/page.vue"),
name: "permissionPage",
meta: {
title: "message.permissionPage",
showLink: true,
savedPosition: false,
},
},
{
path: "/permission/button",
component: () => import("/@/views/permission/button.vue"),
name: "permissionButton",
meta: {
title: "message.permissionButton",
showLink: true,
savedPosition: false,
},
},
],
};
export default permissionRouter;