|
@@ -5,12 +5,24 @@ export default function usePermission() {
|
|
|
const userStore = useUserStore();
|
|
const userStore = useUserStore();
|
|
|
return {
|
|
return {
|
|
|
accessRouter(route: RouteLocationNormalized | RouteRecordRaw) {
|
|
accessRouter(route: RouteLocationNormalized | RouteRecordRaw) {
|
|
|
- return (
|
|
|
|
|
- !route.meta?.requiresAuth ||
|
|
|
|
|
- !route.meta?.roles ||
|
|
|
|
|
- route.meta?.roles?.includes('*') ||
|
|
|
|
|
- route.meta?.roles?.includes(userStore.role)
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ //遍历userStore.resource
|
|
|
|
|
+ let isok = false;
|
|
|
|
|
+ if (userStore.resources) {
|
|
|
|
|
+ userStore.resources.forEach(r => {
|
|
|
|
|
+ if ((r.menuType == 0 || r.menuType == 3) && (route.name == r.component || route.path == r.component)) {
|
|
|
|
|
+ isok = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ return isok;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return (
|
|
|
|
|
+ !route.meta?.requiresAuth ||
|
|
|
|
|
+ !route.meta?.roles ||
|
|
|
|
|
+ route.meta?.roles?.includes("*") ||
|
|
|
|
|
+ route.meta?.roles?.includes(userStore.role)
|
|
|
|
|
+ );
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
findFirstPermissionRoute(_routers: any, role = 'admin') {
|
|
findFirstPermissionRoute(_routers: any, role = 'admin') {
|
|
|
const cloneRouters = [..._routers];
|
|
const cloneRouters = [..._routers];
|