From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 28 五月 2025 16:48:52 +0800
Subject: [PATCH] 初始化项目

---
 uni_modules/wu-ui-tools/libs/luch-request/index.d.ts |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 116 insertions(+), 0 deletions(-)

diff --git a/uni_modules/wu-ui-tools/libs/luch-request/index.d.ts b/uni_modules/wu-ui-tools/libs/luch-request/index.d.ts
new file mode 100644
index 0000000..e939ce1
--- /dev/null
+++ b/uni_modules/wu-ui-tools/libs/luch-request/index.d.ts
@@ -0,0 +1,116 @@
+type AnyObject = Record<string | number | symbol, any>
+type HttpPromise<T> = Promise<HttpResponse<T>>;
+type Tasks = UniApp.RequestTask | UniApp.UploadTask | UniApp.DownloadTask
+export interface RequestTask {
+  abort: () => void;
+  offHeadersReceived: () => void;
+  onHeadersReceived: () => void;
+}
+export interface HttpRequestConfig<T = Tasks> {
+  /** 璇锋眰鍩哄湴鍧� */
+  baseURL?: string;
+  /** 璇锋眰鏈嶅姟鍣ㄦ帴鍙e湴鍧� */
+  url?: string;
+
+  /** 璇锋眰鏌ヨ鍙傛暟锛岃嚜鍔ㄦ嫾鎺ヤ负鏌ヨ瀛楃涓� */
+  params?: AnyObject;
+  /** 璇锋眰浣撳弬鏁� */
+  data?: AnyObject;
+
+  /** 鏂囦欢瀵瑰簲鐨� key */
+  name?: string;
+  /** HTTP 璇锋眰涓叾浠栭澶栫殑 form data */
+  formData?: AnyObject;
+  /** 瑕佷笂浼犳枃浠惰祫婧愮殑璺緞銆� */
+  filePath?: string;
+  /** 闇�瑕佷笂浼犵殑鏂囦欢鍒楄〃銆備娇鐢� files 鏃讹紝filePath 鍜� name 涓嶇敓鏁堬紝App銆丠5锛� 2.6.15+锛� */
+  files?: Array<{
+    name?: string;
+    file?: File;
+    uri: string;
+  }>;
+  /** 瑕佷笂浼犵殑鏂囦欢瀵硅薄锛屼粎H5锛�2.6.15+锛夋敮鎸� */
+  file?: File;
+
+  /** 璇锋眰澶翠俊鎭� */
+  header?: AnyObject;
+  /** 璇锋眰鏂瑰紡 */
+  method?: "GET" | "POST" | "PUT" | "DELETE" | "CONNECT" | "HEAD" | "OPTIONS" | "TRACE" | "UPLOAD" | "DOWNLOAD";
+  /** 濡傛灉璁句负 json锛屼細灏濊瘯瀵硅繑鍥炵殑鏁版嵁鍋氫竴娆� JSON.parse */
+  dataType?: string;
+  /** 璁剧疆鍝嶅簲鐨勬暟鎹被鍨嬶紝鏀粯瀹濆皬绋嬪簭涓嶆敮鎸� */
+  responseType?: "text" | "arraybuffer";
+  /** 鑷畾涔夊弬鏁� */
+  custom?: AnyObject;
+  /** 瓒呮椂鏃堕棿锛屼粎寰俊灏忕▼搴忥紙2.10.0锛夈�佹敮浠樺疂灏忕▼搴忔敮鎸� */
+  timeout?: number;
+  /** DNS瑙f瀽鏃朵紭鍏堜娇鐢╥pv4锛屼粎 App-Android 鏀寔 (HBuilderX 2.8.0+) */
+  firstIpv4?: boolean;
+  /** 楠岃瘉 ssl 璇佷功 浠�5+App瀹夊崜绔敮鎸侊紙HBuilderX 2.3.3+锛� */
+  sslVerify?: boolean;
+  /** 璺ㄥ煙璇锋眰鏃舵槸鍚︽惡甯﹀嚟璇侊紙cookies锛変粎H5鏀寔锛圚BuilderX 2.6.15+锛� */
+  withCredentials?: boolean;
+
+  /** 杩斿洖褰撳墠璇锋眰鐨則ask, options銆傝鍕垮湪姝ゅ淇敼options銆� */
+  getTask?: (task: T, options: HttpRequestConfig<T>) => void;
+  /**  鍏ㄥ眬鑷畾涔夐獙璇佸櫒 */
+  validateStatus?: (statusCode: number) => boolean | void;
+}
+export interface HttpResponse<T = any> {
+  config: HttpRequestConfig;
+  statusCode: number;
+  cookies: Array<string>;
+  data: T;
+  errMsg: string;
+  header: AnyObject;
+}
+export interface HttpUploadResponse<T = any> {
+  config: HttpRequestConfig;
+  statusCode: number;
+  data: T;
+  errMsg: string;
+}
+export interface HttpDownloadResponse extends HttpResponse {
+  tempFilePath: string;
+}
+export interface HttpError {
+  config: HttpRequestConfig;
+  statusCode?: number;
+  cookies?: Array<string>;
+  data?: any;
+  errMsg: string;
+  header?: AnyObject;
+}
+export interface HttpInterceptorManager<V, E = V> {
+  use(
+    onFulfilled?: (config: V) => Promise<V> | V,
+    onRejected?: (config: E) => Promise<E> | E
+  ): void;
+  eject(id: number): void;
+}
+export abstract class HttpRequestAbstract {
+  constructor(config?: HttpRequestConfig);
+  config: HttpRequestConfig;
+  interceptors: {
+    request: HttpInterceptorManager<HttpRequestConfig, HttpRequestConfig>;
+    response: HttpInterceptorManager<HttpResponse, HttpError>;
+  }
+  middleware<T = any>(config: HttpRequestConfig): HttpPromise<T>;
+  request<T = any>(config: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
+  get<T = any>(url: string, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
+  upload<T = any>(url: string, config?: HttpRequestConfig<UniApp.UploadTask>): HttpPromise<T>;
+  delete<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
+  head<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
+  post<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
+  put<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
+  connect<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
+  options<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
+  trace<T = any>(url: string, data?: AnyObject, config?: HttpRequestConfig<UniApp.RequestTask>): HttpPromise<T>;
+
+  download(url: string, config?: HttpRequestConfig<UniApp.DownloadTask>): Promise<HttpDownloadResponse>;
+
+  setConfig(onSend: (config: HttpRequestConfig) => HttpRequestConfig): void;
+}
+
+declare class HttpRequest extends HttpRequestAbstract { }
+export default HttpRequest;

--
Gitblit v1.9.3