From 2b3715f1610b4176d7abe33e34542389cef61853 Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期六, 12 四月 2025 17:12:22 +0800
Subject: [PATCH] Merge branch 'main' of http://lanpucloud.cn:1111/r/eims-master

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

diff --git a/eims-ui-mobile/src/utils/http.ts b/eims-ui-mobile/src/utils/http.ts
new file mode 100644
index 0000000..4e3f38c
--- /dev/null
+++ b/eims-ui-mobile/src/utils/http.ts
@@ -0,0 +1,80 @@
+import { CustomRequestOptions } from '@/interceptors/request'
+
+export const http = <T>(options: CustomRequestOptions) => {
+  // 1. 杩斿洖 Promise 瀵硅薄
+  return new Promise<IResData<T>>((resolve, reject) => {
+    uni.request({
+      ...options,
+      dataType: 'json',
+      // #ifndef MP-WEIXIN
+      responseType: 'json',
+      // #endif
+      // 鍝嶅簲鎴愬姛
+      success(res) {
+        // 鐘舵�佺爜 2xx锛屽弬鑰� axios 鐨勮璁�
+        if (res.statusCode >= 200 && res.statusCode < 300) {
+          // 2.1 鎻愬彇鏍稿績鏁版嵁 res.data
+          resolve(res.data as IResData<T>)
+        } else if (res.statusCode === 401) {
+          // 401閿欒  -> 娓呯悊鐢ㄦ埛淇℃伅锛岃烦杞埌鐧诲綍椤�
+          // userStore.clearUserInfo()
+          // uni.navigateTo({ url: '/pages/login/login' })
+          reject(res)
+        } else {
+          // 鍏朵粬閿欒 -> 鏍规嵁鍚庣閿欒淇℃伅杞绘彁绀�
+          !options.hideErrorToast &&
+            uni.showToast({
+              icon: 'none',
+              title: (res.data as IResData<T>).msg || '璇锋眰閿欒',
+            })
+          reject(res)
+        }
+      },
+      // 鍝嶅簲澶辫触
+      fail(err) {
+        uni.showToast({
+          icon: 'none',
+          title: '缃戠粶閿欒锛屾崲涓綉缁滆瘯璇�',
+        })
+        reject(err)
+      },
+    })
+  })
+}
+
+/**
+ * GET 璇锋眰
+ * @param url 鍚庡彴鍦板潃
+ * @param query 璇锋眰query鍙傛暟
+ * @returns
+ */
+export const httpGet = <T>(url: string, query?: Record<string, any>) => {
+  return http<T>({
+    url,
+    query,
+    method: 'GET',
+  })
+}
+
+/**
+ * POST 璇锋眰
+ * @param url 鍚庡彴鍦板潃
+ * @param data 璇锋眰body鍙傛暟
+ * @param query 璇锋眰query鍙傛暟锛宲ost璇锋眰涔熸敮鎸乹uery锛屽緢澶氬井淇℃帴鍙i兘闇�瑕�
+ * @returns
+ */
+export const httpPost = <T>(
+  url: string,
+  data?: Record<string, any>,
+  query?: Record<string, any>,
+) => {
+  return http<T>({
+    url,
+    query,
+    data,
+    method: 'POST',
+  })
+}
+
+http.get = httpGet
+http.post = httpPost

--
Gitblit v1.9.3