diff --git a/src/http/http.ts b/src/http/http.ts index 953bdbd..2e1dd4a 100644 --- a/src/http/http.ts +++ b/src/http/http.ts @@ -24,10 +24,10 @@ export function http(options: CustomRequestOptions) { // 状态码 2xx,参考 axios 的设计 if (res.statusCode >= 200 && res.statusCode < 300) { // 2.1 处理业务逻辑错误 - const { code, message, data } = res.data as IResponse + const { code, message, msg, data } = res.data as IResponse // 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) } diff --git a/src/http/types.ts b/src/http/types.ts index a622e0b..42ac8e9 100644 --- a/src/http/types.ts +++ b/src/http/types.ts @@ -12,12 +12,17 @@ export interface HttpRequestResult { requestTask: UniApp.RequestTask } -// 通用响应格式 -export interface IResponse { - code: number | string +// 通用响应格式(兼容 msg + message 字段) +export type IResponse = { + code: number data: T message: string - status: string | number + [key: string]: any // 允许额外属性 +} | { + code: number + data: T + msg: string + [key: string]: any // 允许额外属性 } // 分页请求参数