From bdacf27471620926bd61c245b5f80ce9d4a70e3e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 01 九月 2025 16:19:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev_tide' into dev
---
src/permission.js | 95 ++++++++++++++++++++++-------------------------
1 files changed, 44 insertions(+), 51 deletions(-)
diff --git a/src/permission.js b/src/permission.js
index 5b2566b..809df37 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -1,76 +1,69 @@
-import router from "./router";
-import { ElMessage } from "element-plus";
-import NProgress from "nprogress";
-import "nprogress/nprogress.css";
-import { getToken } from "@/utils/auth";
-import { isHttp, isPathMatch } from "@/utils/validate";
-import { isRelogin } from "@/utils/request";
-import useUserStore from "@/store/modules/user";
-import useSettingsStore from "@/store/modules/settings";
-import usePermissionStore from "@/store/modules/permission";
+import router from './router'
+import { ElMessage } from 'element-plus'
+import NProgress from 'nprogress'
+import 'nprogress/nprogress.css'
+import { getToken } from '@/utils/auth'
+import { isHttp, isPathMatch } from '@/utils/validate'
+import { isRelogin } from '@/utils/request'
+import useUserStore from '@/store/modules/user'
+import useSettingsStore from '@/store/modules/settings'
+import usePermissionStore from '@/store/modules/permission'
-NProgress.configure({ showSpinner: false });
+NProgress.configure({ showSpinner: false })
-const whiteList = ["/login", "/register", "/device-info"];
+const whiteList = ['/login', '/register', '/callbacklccpn']
const isWhiteList = (path) => {
- return whiteList.some((pattern) => isPathMatch(pattern, path));
-};
+ return whiteList.some(pattern => isPathMatch(pattern, path))
+}
router.beforeEach((to, from, next) => {
- NProgress.start();
+ NProgress.start()
if (getToken()) {
- to.meta.title && useSettingsStore().setTitle(to.meta.title);
+ to.meta.title && useSettingsStore().setTitle(to.meta.title)
/* has token*/
- if (to.path === "/login") {
- next({ path: "/" });
- NProgress.done();
+ if (to.path === '/login') {
+ next({ path: '/' })
+ NProgress.done()
} else if (isWhiteList(to.path)) {
- next();
+ next()
} else {
if (useUserStore().roles.length === 0) {
- isRelogin.show = true;
+ isRelogin.show = true
// 鍒ゆ柇褰撳墠鐢ㄦ埛鏄惁宸叉媺鍙栧畬user_info淇℃伅
- useUserStore()
- .getInfo()
- .then(() => {
- isRelogin.show = false;
- usePermissionStore()
- .generateRoutes()
- .then((accessRoutes) => {
- // 鏍规嵁roles鏉冮檺鐢熸垚鍙闂殑璺敱琛�
- accessRoutes.forEach((route) => {
- if (!isHttp(route.path)) {
- router.addRoute(route); // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
- }
- });
- next({ ...to, replace: true }); // hack鏂规硶 纭繚addRoutes宸插畬鎴�
- });
+ useUserStore().getInfo().then(() => {
+ isRelogin.show = false
+ usePermissionStore().generateRoutes().then(accessRoutes => {
+ // 鏍规嵁roles鏉冮檺鐢熸垚鍙闂殑璺敱琛�
+ accessRoutes.forEach(route => {
+ if (!isHttp(route.path)) {
+ router.addRoute(route) // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
+ }
+ })
+ next({ ...to, replace: true }) // hack鏂规硶 纭繚addRoutes宸插畬鎴�
})
- .catch((err) => {
- useUserStore()
- .logOut()
- .then(() => {
- ElMessage.error(err);
- next({ path: "/" });
- });
- });
+ }).catch(err => {
+ useUserStore().logOut().then(() => {
+ ElMessage.error(err)
+ next({ path: '/' })
+ })
+ })
} else {
- next();
+ next()
}
}
} else {
// 娌℃湁token
if (isWhiteList(to.path)) {
// 鍦ㄥ厤鐧诲綍鐧藉悕鍗曪紝鐩存帴杩涘叆
- next();
+ next()
} else {
- next(`/login?redirect=${to.fullPath}`); // 鍚﹀垯鍏ㄩ儴閲嶅畾鍚戝埌鐧诲綍椤�
- NProgress.done();
+ next(`/login?redirect=${to.fullPath}`) // 鍚﹀垯鍏ㄩ儴閲嶅畾鍚戝埌鐧诲綍椤�
+ NProgress.done()
}
}
-});
+})
router.afterEach(() => {
- NProgress.done();
-});
+ NProgress.done()
+})
--
Gitblit v1.9.3