23 lines
562 B
TypeScript
23 lines
562 B
TypeScript
import { ApiProperty, Type } from '@midwayjs/swagger';
|
|
|
|
/**
|
|
* 动态包装分页返回数据
|
|
*/
|
|
export function PaginatedWrapper<T>(ItemCls: Type<T>): Type<any> {
|
|
class PaginatedResponse {
|
|
@ApiProperty({ description: '当前页码', example: 1 })
|
|
page: number;
|
|
|
|
@ApiProperty({ description: '每页大小', example: 10 })
|
|
pageSize: number;
|
|
|
|
@ApiProperty({ description: '总记录数', example: 100 })
|
|
total: number;
|
|
|
|
@ApiProperty({ description: '数据列表', type: [ItemCls] })
|
|
items: T[];
|
|
}
|
|
|
|
return PaginatedResponse;
|
|
}
|