From 2dd922eb3ab68c0314f5828fcae1ed7db0e17d9e Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期四, 04 七月 2024 08:06:26 +0800
Subject: [PATCH] 客户、物流、单位

---
 HTML/js/public.js |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/HTML/js/public.js b/HTML/js/public.js
index b1ca696..879c061 100644
--- a/HTML/js/public.js
+++ b/HTML/js/public.js
@@ -39,6 +39,15 @@
     if (!$.cookie('token')) {
       callbackFun("鐧诲綍浜轰俊鎭凡澶辨晥");
     }
+    if(isExpired = isTokenExpired($.cookie('token'))){
+      try{
+        parent.window.location.href = '/views/Login.html';
+      }
+      catch(error){
+        window.location.href = '/views/Login.html';
+      }
+      return;
+    }
   } 
   $.ajax({
     url: url,
@@ -57,9 +66,7 @@
       // console.log(status);
       callbackFun(res);
     },
-    error: function (res, status, error) {  
-      // console.log(res);
-      // console.log(status);
+    error: function (res, status, error) {
       callbackFun(res.responseJSON, status, error);
       // layer.msg(res.statusText, {
       //   icon: 2,
@@ -68,6 +75,23 @@
     },
   });
 }
+function isTokenExpired(token) {
+  const tokenParts = token.split('.');
+  if (tokenParts.length !== 3) {
+    return true; // JWT 鏍煎紡涓嶆纭�
+  }
+  const payloadBase64 = tokenParts[1];
+  const payload = JSON.parse(atob(payloadBase64));
+  
+  if (!payload || !payload.exp) {
+    return true; // 娌℃湁鏈夋晥杞借嵎鎴栬�呮病鏈夎繃鏈熸椂闂�
+  }
+  
+  const now = Date.now() / 1000; // 褰撳墠鏃堕棿鎴筹紙绉掞級
+  const expiration = payload.exp;
+  
+  return now >= expiration;
+}
 function synData(url, data, type, callbackFun) {
   var deferred = $.Deferred();
   if (type != "get") {

--
Gitblit v1.8.0