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