ソースを参照

Merge branch 'main' into base-useRequest

菲鸽 7 ヶ月 前
コミット
b89ebb76d8
3 ファイル変更13 行追加5 行削除
  1. 3 0
      manifest.config.ts
  2. 1 1
      src/http/http.ts
  3. 9 4
      src/http/types.ts

+ 3 - 0
manifest.config.ts

@@ -128,6 +128,9 @@ export default defineManifestConfig({
     optimization: {
       subPackages: true,
     },
+    // 是否合并组件虚拟节点外层属性,uni-app 3.5.1+ 开始支持。目前仅支持 style、class 属性。
+    // 默认不开启(undefined),这里设置为开启。
+    mergeVirtualHostAttributes: true,
     // styleIsolation: 'shared',
     usingComponents: true,
     // __usePrivacyCheck__: true,

+ 1 - 1
src/http/http.ts

@@ -27,7 +27,7 @@ export function http<T>(options: CustomRequestOptions) {
           const { code = 0, message = '', data = null } = res.data as IResponse<T>
           // 0和200当做成功都很普遍,这里直接兼容两者,见 ResultEnum
           if (code !== ResultEnum.Success0 && code !== ResultEnum.Success200) {
-            throw new Error(`请求错误[${code}]:${message}`)
+            throw new Error(`请求错误[${code}]:${message || msg}`)
           }
           return resolve(data as T)
         }

+ 9 - 4
src/http/types.ts

@@ -12,12 +12,17 @@ export interface HttpRequestResult<T> {
   requestTask: UniApp.RequestTask
 }
 
-// 通用响应格式
-export interface IResponse<T = any> {
-  code: number | string
+// 通用响应格式(兼容 msg + message 字段)
+export type IResponse<T = any> = {
+  code: number
   data: T
   message: string
-  status: string | number
+  [key: string]: any // 允许额外属性
+} | {
+  code: number
+  data: T
+  msg: string
+  [key: string]: any // 允许额外属性
 }
 
 // 分页请求参数