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