From 7f79a47a5360ad66d9d93ded5e4b823d3ad7259e Mon Sep 17 00:00:00 2001 From: LAMMU Date: Sun, 14 Jan 2024 22:56:20 +0800 Subject: [PATCH] =?UTF-8?q?ts=E7=B1=BB=E5=9E=8B=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/types/index.d.ts | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 584ac92..8c29f77 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1,8 +1,18 @@ - +/** + * 基础对象类型 + */ interface BaseObj { [key: string]: T } +/** + * 提取函数参数的类型 + */ +type ParamsType = T extends (...args: infer P) => any ? P : never; + +/** + * 分页类型 + */ interface PageInfo { /** 每页数据 */ pageSize: number @@ -12,23 +22,33 @@ interface PageInfo { totalCount?: number } -/** 请求方法 */ +/** + * 请求方法 + */ type requestMethods = "GET" | "POST" | "DELETE" | "PUT" | "PATCH" | "OPTIONS"; -type ApiResponse = { - /** 1表示成功, -1表示失败 */ - code: 1 | -1 - /** 状态码, 0表示无异常, 其他为错误异常码 */ - status: 0 | number +/** + * 响应格式 + */ +type ApiResponse = { + /** 是否成功 */ + success: true + /** 数据 */ + data: T +} | { + /** 是否成功 */ + success: false + /** 错误响应码 */ + code: string /** 信息 */ - msg: 'ok' | string + msg: string /** 弹窗时间 */ msgTimeout?: number - /** 成功为json格式数据, 失败可能为null */ - data?: BaseObj } -/** 两个类型是否相等 */ +/** + * 判断两个类型是否相等 + */ type IsEqual = (() => T1 extends T ? 1 : 2) extends (() => T2 extends U ? 1 : 2)