From 21c2a7c125a5d07ad87fd7a266a697f61d0fdefd Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期一, 30 三月 2026 10:02:11 +0800
Subject: [PATCH] Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev

---
 main.js |   61 +++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 3 deletions(-)

diff --git a/main.js b/main.js
index eaccbc7..755b1e0 100644
--- a/main.js
+++ b/main.js
@@ -15,7 +15,7 @@
     locale: uni.getLocale(), // 鑾峰彇宸茶缃殑璇█
     messages,
     silentTranslationWarn: true,
-    
+
     // missing: function(locale, key, vm, values){
     //   // 椤甸潰涓惈鏈夎瑷�鍖呬腑涓嶅瓨鍦ㄧ殑瀛楁锛岄渶鍚屾鍒版暟鎹簱涓�
     //     console.log("[i18n]: 椤甸潰涓璳ey涓�: ", key ,"鐨勫瓧娈靛湪缈昏瘧鏂囦欢涓笉瀛樺湪锛屽悓姝ュ埌鏁版嵁搴�...")
@@ -26,6 +26,61 @@
     //   
     // }
 }
+
+// uniapp 鍏ㄥ眬璇锋眰鎷︽埅鍣�
+uni.addInterceptor('request', {
+    invoke(args) {
+        // 鑾峰彇鍒板綋鍓嶈皟鐢ㄧ殑椤甸潰
+        const pages = getCurrentPages()
+        const currentPage = pages[pages.length - 1]
+
+        // 鎷垮埌椤甸潰瀹氫箟鐨� modName
+        const modName = currentPage?.$vm.HModName || ''
+
+
+        // 璇锋眰澶村甫涓� token
+        let token = uni.getStorageSync('Token')
+        if (token) {
+            // 鍏堝垵濮嬪寲锛岄槻姝� undefined 鎶ラ敊
+            args.header = args.header || {}
+            args.header.Authorization = `Bearer ${token}`
+            args.header["X-HModName"] = modName
+        }
+    },
+    success(res) {
+        // 鑷姩缁湡 token
+        if (res.data && res.data.token) {
+            uni.setStorageSync('Token', res.data.token)
+        }
+
+
+        // 401 鑷姩璺崇櫥褰�
+        if (res.statusCode === 401) {
+            uni.removeStorageSync('Token')
+            uni.showModal({
+                title: '娓╅Θ鎻愮ず',
+                content: res.data.Message,
+                showCancel: false,
+                success: () => {
+                    uni.reLaunch({
+                        url: '/pages/index/login'
+                    })
+                }
+            })
+        }
+        // 403 杩斿洖涓婁竴涓〉闈�
+        if (res.statusCode === 403) {
+            uni.showModal({
+                title: '娓╅Θ鎻愮ず',
+                content: res.data.Message,
+                showCancel: false,
+                success: () => {
+                    uni.navigateBack()
+                }
+            })
+        }
+    }
+})
 
 import App from './App'
 import Printer from './plugins/printer'
@@ -53,8 +108,8 @@
 Vue.prototype.$t = function(key, ...args) {
     // 璋冪敤鍘熷 $t 鎵ц缈昏瘧
     const translated = originalT.call(this, key, args);
-    
-    // console.log(i18n.getLocaleMessage(i18n.locale))
+
+
     if (translated == key) {
         // 缈昏瘧鍚庣殑鏂囨湰涓庝紶鍏ョ殑key鐩稿悓锛屽垯琛ㄧず缈昏瘧鏂囨湰缂哄け 璁板綍缂哄け鐨勭炕璇戞枃鏈�
         let [moduleName, fieldCode] = key.split(".")

--
Gitblit v1.9.1