mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-24 07:49:47 +08:00
refactor(projects): 请求适配器函数范型重构、优化请求相关的命名
This commit is contained in:
@ -14,14 +14,11 @@ export async function handleServiceResult<T = any>(error: Service.RequestError |
|
||||
return success;
|
||||
}
|
||||
|
||||
type Adapter<T = any> = (...args: Service.RequestResult[]) => T;
|
||||
|
||||
/**
|
||||
* 请求结果的数据转换适配器
|
||||
* @param adapter - 适配器函数
|
||||
* @param args - 适配器函数的参数
|
||||
*/
|
||||
export function serviceAdapter<T extends Adapter>(adapter: T, ...args: TypeUtil.GetFunArgs<T>) {
|
||||
/** 请求结果的适配器:用于接收适配器函数和请求结果 */
|
||||
export function adapter<T extends Service.ServiceAdapter>(
|
||||
adapterFun: T,
|
||||
...args: Service.MultiRequestResult<TypeUtil.GetFunArgs<T>>
|
||||
): Service.RequestResult<TypeUtil.GetFunReturn<T>> {
|
||||
let result: Service.RequestResult | undefined;
|
||||
|
||||
const hasError = args.some(item => {
|
||||
@ -36,11 +33,12 @@ export function serviceAdapter<T extends Adapter>(adapter: T, ...args: TypeUtil.
|
||||
});
|
||||
|
||||
if (!hasError) {
|
||||
const adapterFunArgs = args.map(item => item.data);
|
||||
result = {
|
||||
error: null,
|
||||
data: adapter(...args)
|
||||
data: adapterFun(...adapterFunArgs)
|
||||
};
|
||||
}
|
||||
|
||||
return result as Service.RequestResult<TypeUtil.GetFunReturn<T>>;
|
||||
return result!;
|
||||
}
|
||||
|
Reference in New Issue
Block a user