From 0f5bd3db43a7ea07d3373b38bd24126544de5e2f Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期一, 21 四月 2025 18:32:39 +0800
Subject: [PATCH] 完成设备点检

---
 eims-ui-mobile/src/utils/http.ts |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/eims-ui-mobile/src/utils/http.ts b/eims-ui-mobile/src/utils/http.ts
index f98f884..f1d74ce 100644
--- a/eims-ui-mobile/src/utils/http.ts
+++ b/eims-ui-mobile/src/utils/http.ts
@@ -1,6 +1,10 @@
 import { CustomRequestOptions } from '@/interceptors/request'
+import { useUserStore, useAccessStore } from '@/store'
 
 export const http = <T>(options: CustomRequestOptions) => {
+  uni.showLoading({
+    title: '鍔犺浇涓�',
+  })
   // 1. 杩斿洖 Promise 瀵硅薄
   return new Promise<IResData<T>>((resolve, reject) => {
     uni.request({
@@ -11,11 +15,26 @@
       // #endif
       // 鍝嶅簲鎴愬姛
       success(res) {
+        uni.hideLoading()
         // 鐘舵�佺爜 2xx锛屽弬鑰� axios 鐨勮璁�
         if (res.statusCode >= 200 && res.statusCode < 300) {
           // 2.1 鎻愬彇鏍稿績鏁版嵁 res.data
           if ((res.data as IResData<T>).code === 200) {
             resolve(((res.data as IResData<T>).data || res.data) as IResData<T>)
+          } else if ((res.data as IResData<T>).code === 401) {
+            uni.showToast({
+              icon: 'none',
+              title: '鐧诲綍瓒呮椂锛岃閲嶆柊鐧诲綍锛�',
+            })
+            // 401閿欒  -> 娓呯悊鐢ㄦ埛淇℃伅锛岃烦杞埌鐧诲綍椤�
+            useAccessStore().clearAccessInfo()
+            useUserStore().clearUserInfo()
+            const loginRoute = '/pages/login/index'
+            // 閲嶆柊鐧诲綍鍚庤繑鍥為〉闈�
+            const url = '/pages/home/index'
+            const redirectRoute = `${loginRoute}?redirect=${encodeURIComponent(url)}`
+            uni.navigateTo({ url: redirectRoute })
+            reject(res)
           } else {
             uni.showToast({
               icon: 'none',
@@ -24,7 +43,8 @@
           }
         } else if (res.statusCode === 401) {
           // 401閿欒  -> 娓呯悊鐢ㄦ埛淇℃伅锛岃烦杞埌鐧诲綍椤�
-          // userStore.clearUserInfo()
+          useAccessStore().clearAccessInfo()
+          useUserStore().clearUserInfo()
           uni.navigateTo({ url: '/pages/login/index' })
           reject(res)
         } else {
@@ -44,6 +64,7 @@
           title: '缃戠粶閿欒锛屾崲涓綉缁滆瘯璇�',
         })
         reject(err)
+        uni.hideLoading()
       },
     })
   })
@@ -83,5 +104,19 @@
   })
 }
 
+export const httpPut = <T>(
+  url: string,
+  data?: Record<string, any>,
+  query?: Record<string, any>,
+) => {
+  return http<T>({
+    url,
+    query,
+    data,
+    method: 'PUT',
+  })
+}
+
 http.get = httpGet
 http.post = httpPost
+http.put = httpPut

--
Gitblit v1.9.3