From b83cb8d8fa9dcd7c7c865446121d989fbc312a8e Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 04 十一月 2024 18:23:15 +0800
Subject: [PATCH] 钉钉登录

---
 src/permission.ts |   61 +++++++++++++++++++-----------
 1 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/src/permission.ts b/src/permission.ts
index 7a15bfa..45b0146 100644
--- a/src/permission.ts
+++ b/src/permission.ts
@@ -9,43 +9,46 @@
 import useSettingsStore from '@/store/modules/settings';
 import usePermissionStore from '@/store/modules/permission';
 import { ElMessage } from "element-plus";
+import { fa } from 'element-plus/es/locale';
 
 NProgress.configure({ showSpinner: false });
 const whiteList = ['/login', '/register', '/social-callback'];
 
 router.beforeEach(async (to, from, next) => {
   NProgress.start();
-  if (getToken()) {
+
+  if (judge(getToken())) {
     console.log('鍒ゆ柇褰撳墠鐢ㄦ埛鏄惁宸叉媺鍙栧畬user_info淇℃伅');
     to.meta.title && useSettingsStore().setTitle(to.meta.title as string);
+
     /* has token*/
     if (to.path === '/login') {
       next({ path: '/' });
       NProgress.done();
     } else {
-      if (useUserStore().roles.length === 0) {
-        isRelogin.show = true;
-        // 鍒ゆ柇褰撳墠鐢ㄦ埛鏄惁宸叉媺鍙栧畬user_info淇℃伅
+      // if (useUserStore().roles.length === 0) {
+      isRelogin.show = true;
+      //   // 鍒ゆ柇褰撳墠鐢ㄦ埛鏄惁宸叉媺鍙栧畬user_info淇℃伅
 
-        const [err] = await tos(useUserStore().getInfo());
-        if (err) {
-          await useUserStore().logout();
-          ElMessage.error(err);
-          next({ path: '/' });
-        } else {
-          isRelogin.show = false;
-          const accessRoutes = await usePermissionStore().generateRoutes();
-          // 鏍规嵁roles鏉冮檺鐢熸垚鍙闂殑璺敱琛�
-          accessRoutes.forEach((route) => {
-            if (!isHttp(route.path)) {
-              router.addRoute(route); // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
-            }
-          });
-          next({ ...to, replace: true }); // hack鏂规硶 纭繚addRoutes宸插畬鎴�
-        }
-      } else {
-        next();
-      }
+      //   const [err] = await tos(useUserStore().getInfo());
+      //   if (err) {
+      //     await useUserStore().logout();
+      //     ElMessage.error(err);
+      //     next({ path: '/' });
+      //   } else {
+      //     isRelogin.show = false;
+      //     const accessRoutes = await usePermissionStore().generateRoutes();
+      //     // 鏍规嵁roles鏉冮檺鐢熸垚鍙闂殑璺敱琛�
+      //     accessRoutes.forEach((route) => {
+      //       if (!isHttp(route.path)) {
+      //         router.addRoute(route); // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
+      //       }
+      //     });
+      // next({ ...to, replace: true }); // hack鏂规硶 纭繚addRoutes宸插畬鎴�
+      // }
+      // } else {
+      next();
+      // }
     }
   } else {
     // 娌℃湁token
@@ -63,3 +66,15 @@
 router.afterEach(() => {
   NProgress.done();
 });
+
+const judge = (token: string) => {
+  if (token) {
+    var data = JSON.parse(token)
+    if (data != null) {
+      if (data.expirse != null && new Date().getTime() - data.expirse < 60 * 60 * 1000) {
+        return true
+      }
+    }
+  }
+  return false
+}
\ No newline at end of file

--
Gitblit v1.8.0