From aa7a8daa767787cdd5849dc134ce11be86515a97 Mon Sep 17 00:00:00 2001 From: hwh <332078369@qq.com> Date: 星期三, 17 七月 2024 17:00:11 +0800 Subject: [PATCH] 视觉盘点 --- HTML/js/public.js | 61 ++++++++++++++++++++++++++++-- 1 files changed, 56 insertions(+), 5 deletions(-) diff --git a/HTML/js/public.js b/HTML/js/public.js index 27b625e..7438589 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, @@ -55,19 +64,33 @@ success: function (res, status, xhr) { // console.log(res); // console.log(status); - callbackFun(res); }, - error: function (res, status, error) { - // console.log(res); - // console.log(status); - callbackFun(res, status, error); + error: function (res, status, error) { + callbackFun(res.responseJSON, status, error); // layer.msg(res.statusText, { // icon: 2, // time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 // }, function() {}); }, }); +} +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(); @@ -333,4 +356,32 @@ } } }); +} + +//鍒嗛〉鏍煎紡鍖� +var FnParseData = function (res) { + return { + "code": res.code == 0 ? 0 : res.code, // 瑙f瀽鎺ュ彛鐘舵�� + "msg": res.msg, // 瑙f瀽鎻愮ず鏂囨湰 + "count": res.data.Total, // 瑙f瀽鏁版嵁闀垮害 + "data": res.data.Items // 瑙f瀽鏁版嵁鍒楄〃 + }; +} + +//璋冪敤鎵撳嵃 +function openPrintDialog(printData, printType){ + layer.open({ + type: 2, + title: '鎵撳嵃', + // content: '../../js/hiprint/custom.html', + content: '/views/SystemSettings/PrintModule.html', + maxmin: true, + area: ['100%', '100%'], + data: printData, + success: function (layero, index) { + var body = layer.getChildFrame('body',index); + body.find('#printData').val(JSON.stringify(printData)); + body.find('#printType').val(printType); + } + }); } \ No newline at end of file -- Gitblit v1.8.0