forked from yoone/API
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import { ApiProperty, Type } from '@midwayjs/swagger';
|
|
|
|
/**
|
|
* 动态包装通用返回格式
|
|
*/
|
|
export function SuccessWrapper<T>(ResourceCls: Type<T>): Type<any> {
|
|
class SuccessResponse {
|
|
@ApiProperty({ description: '状态码', example: 200 })
|
|
code: number;
|
|
|
|
@ApiProperty({ description: '是否成功', example: true })
|
|
success: boolean;
|
|
|
|
@ApiProperty({ description: '消息内容', example: '操作成功' })
|
|
message: string;
|
|
|
|
@ApiProperty({ description: '响应数据', type: ResourceCls })
|
|
data: T;
|
|
}
|
|
|
|
return SuccessResponse;
|
|
}
|
|
|
|
export function SuccessArrayWrapper<T>(ResourceCls: Type<T>): Type<any> {
|
|
class SuccessArrayResponse {
|
|
@ApiProperty({ description: '状态码', example: 200 })
|
|
code: number;
|
|
|
|
@ApiProperty({ description: '是否成功', example: true })
|
|
success: boolean;
|
|
|
|
@ApiProperty({ description: '消息内容', example: '操作成功' })
|
|
message: string;
|
|
|
|
@ApiProperty({ description: '响应数据', type: ResourceCls, isArray: true })
|
|
data: T[];
|
|
}
|
|
|
|
return SuccessArrayResponse;
|
|
}
|