From 9f4c61d83f48afa6df174e39da6ddbd1f3f0ea99 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期五, 02 八月 2024 15:39:21 +0800
Subject: [PATCH] PDA端优化异步
---
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