From 1310b47a24f0cc70f0128c820bd490dca6a1a921 Mon Sep 17 00:00:00 2001
From: yyk <2336760928@qq.com>
Date: 星期四, 22 八月 2024 14:08:03 +0800
Subject: [PATCH] Merge branch 'master' into yyk

---
 Pda/js/public.js |  171 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 110 insertions(+), 61 deletions(-)

diff --git a/Pda/js/public.js b/Pda/js/public.js
index f5ee6a9..5217d3a 100644
--- a/Pda/js/public.js
+++ b/Pda/js/public.js
@@ -1,8 +1,8 @@
 //  var IP = "http://47.104.149.73:1991";//鎺ュ彛IP
 // var IP = "https://localhost:44368";
- //var IP = "http://localhost:13243/api";
- var IP = "http://localhost:50515/api";
- //var IP = "http://192.168.1.2:8017/";
+//var IP = "http://localhost:13243/api";
+var IP = "http://localhost:50515/api";
+//var IP = "http://192.168.1.2:8017/";
 // var IP = "http://192.168.10.112/WmsService/";
 // var IP = "http://192.168.1.226:8086";
 // var IP = "http://192.168.62.200:8888/api";  
@@ -10,92 +10,141 @@
 function sendData(url, data, type, callbackFun) {
 	// callbackFun("{}");
 	// return;
-	
- 	var deferred = $.Deferred();
- 	if (type != "get") {
+	var deferred = $.Deferred();
+	if (type != "get") {
 		data = JSON.stringify(data);
-	} 
-	if (url!=IP+"/WeatherForecast/Login") {
+	}
+	if (url != IP + "/WeatherForecast/Login") {
 		if (!$.cookie('token')) {
 			callbackFun("鐧诲綍浜轰俊鎭凡澶辨晥");
+			try {
+				parent.window.location.href = '/views/Login.html';
+			}
+			catch (error) {
+				window.location.href = '/views/Login.html';
+			}
+			return;
 		}
-	} 
- 	$.ajax({
- 		url: url,
- 		data: data,
- 		type: type,
- 		headers: {
- 			'Content-Type': 'application/json',
-			"ToKen":$.cookie('token')
- 		},
- 		timeout: 45000,
- 		async: true,
- 		cache: false,
- 		beforeSend: function(xhr, settings) {},
- 		success: function(res, status, xhr) {
- 			callbackFun(res);
- 		},
- 		error: function(xhr, status, error) {
+		if (isTokenExpired($.cookie('token'))) {
+			try {
+				parent.window.location.href = '/views/Login.html';
+			}
+			catch (error) {
+				window.location.href = '/views/Login.html';
+			}
+			return;
+		}
+	}
+	$.ajax({
+		url: url,
+		data: data,
+		type: type,
+		headers: {
+			'Content-Type': 'application/json',
+			"ToKen": $.cookie('token')
+		},
+		timeout: 45000,
+		async: true,
+		cache: false,
+		beforeSend: function (xhr, settings) { },
+		success: function (res, status, xhr) {
+			callbackFun(res);
+		},
+		error: function (xhr, status, error) {
 			callbackFun(xhr, status, error);
 			// layer.msg(xhr.statusText, {
 			//   icon: 2,
 			//   time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
 			// }, function() {});
- 		}
- 	});
+		}
+	});
 }
 function synData(url, data, type, callbackFun) {
 	var deferred = $.Deferred();
 	if (type != "get") {
 		data = JSON.stringify(data);
-	} 
-	if (url!=IP+"/WeatherForecast/Login") {
+	}
+	if (url != IP + "/WeatherForecast/Login") {
 		if (!$.cookie('token')) {
 			callbackFun("鐧诲綍浜轰俊鎭凡澶辨晥");
+			try {
+				parent.window.location.href = '/view/Login.html';
+			}
+			catch (error) {
+				window.location.href = '/view/Login.html';
+			}
+			return;
 		}
-	} 
+		if (isTokenExpired($.cookie('token'))) {
+			try {
+				parent.window.location.href = '/view/Login.html';
+			}
+			catch (error) {
+				window.location.href = '/view/Login.html';
+			}
+			return;
+		}
+	}
 	$.ajax({
-	  url: url,
-	  data: data,
-	  type: type,
-	  headers: {
-		"Content-Type": "application/json",
-		"ToKen":$.cookie('token'),
-	  },
-	  timeout: 45000,
-	  async: false,
-	  cache: false,
-	  beforeSend: function (xhr, settings) {},
-	  success: function (res, status, xhr) {
-		callbackFun(res);
-	  },
-	  error: function (xhr, status, error) {
-		console.log("澶辫触浜�");
-		console.log(xhr);
-		callbackFun(xhr, status, error);
-	  },
+		url: url,
+		data: data,
+		type: type,
+		headers: {
+			"Content-Type": "application/json",
+			"ToKen": $.cookie('token'),
+		},
+		timeout: 45000,
+		async: false,
+		cache: false,
+		beforeSend: function (xhr, settings) { },
+		success: function (res, status, xhr) {
+			callbackFun(res);
+		},
+		error: function (xhr, status, error) {
+			console.log("澶辫触浜�");
+			console.log(xhr);
+			callbackFun(xhr, status, error);
+		},
 	});
 }
-  
-$("#navIcon").click(function(){
-    if($(".nav_list").css('display')=='none'){
-        $(".nav_list").show();
-    }else{
-        $(".nav_list").hide();
-    }
+
+$("#navIcon").click(function () {
+	if ($(".nav_list").css('display') == 'none') {
+		$(".nav_list").show();
+	} else {
+		$(".nav_list").hide();
+	}
 });
 
 //娣辨嫹璐�
 function deepCopy(obj) {
 	let newobj = null     // 鎺ュ彈鎷疯礉鐨勬柊瀵硅薄
-	if(typeof(obj) == 'object' && typeof(obj) !== null) {   // 鍒ゆ柇鏄惁鏄紩鐢ㄧ被鍨�
-		newobj = obj instanceof Array? []: {}               // 鍒ゆ柇鏄暟缁勮繕鏄璞�
-		for(var i in obj) {   
+	if (typeof (obj) == 'object' && typeof (obj) !== null) {   // 鍒ゆ柇鏄惁鏄紩鐢ㄧ被鍨�
+		newobj = obj instanceof Array ? [] : {}               // 鍒ゆ柇鏄暟缁勮繕鏄璞�
+		for (var i in obj) {
 			newobj[i] = deepCopy(obj[i])                        // 鍒ゆ柇涓嬩竴绾ф槸鍚﹁繕鏄紩鐢ㄧ被鍨�
-		} 
+		}
 	} else {
 		newobj = obj
 	}
-	
+
 	return newobj
 }
+
+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;
+  }
\ No newline at end of file

--
Gitblit v1.8.0