Ai
6 Star 22 Fork 10

fast-crud/fs-admin-antdv

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
hook.ts 1.32 KB
一键复制 编辑 原始数据 按行查看 历史
Greper 提交于 2022-03-21 17:10 +08:00 . fix: 修复刷新页面丢失query参数的bug
import router from "/src/router";
import { useUserStore } from "/@/store/modules/user";
import { usePermissionStore } from "./store.permission";
import util from "./util.permission";
import { message } from "ant-design-vue";
import NProgress from "nprogress";
export function registerRouterHook() {
// 注册路由beforeEach钩子,在第一次加载路由页面时,加载权限
router.beforeEach(async (to, from, next) => {
const permissionStore = usePermissionStore();
if (permissionStore.isInited) {
if (to.meta.permission) {
//校验权限
// @ts-ignore
if (!util.hasPermissions(to.meta.permission)) {
//没有权限
message.warn("对不起,您没有权限");
//throw new Error("对不起,您没有权限");
NProgress.done();
return false;
}
}
next();
return;
}
const userStore = useUserStore();
const token = userStore.getToken;
if (!token || token === "undefined") {
next();
return;
}
// 初始化权限列表
try {
console.log("permission is enabled");
await permissionStore.loadFromRemote();
console.log("PM load success");
next({ ...to, replace: true });
} catch (e) {
console.error("加载动态路由失败", e);
next();
}
});
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/fast-crud/fs-admin-antdv.git
git@gitee.com:fast-crud/fs-admin-antdv.git
fast-crud
fs-admin-antdv
fs-admin-antdv
main

搜索帮助