@asushiye/core
安装 功能描述 API result dto page
安装
npm install @asushiye/core --save
功能描述
result为我们提供了前后交互时,统一返回的结果,dto前后交互是统一请求结构,page用于需要分页
API
result
/*
* @Author: asushiye
* @Date: 2019-01-10 16:58:52
* @Commit: Result<T>
*/
export class Result<T> {
status: boolean;
code: number;
msg:string;
data: T;
}
dto
/*
* @Author: asushiye
* @Date: 2019-03-21 16:58:52
* @Commit: BodyDto, BodyPageDto, ParamBodyPageDto
*/
export class BodyDto<T>{
body?: T;
}
export class BodyPageDto<T,K> extends BodyDto<T>{
page?: K;
}
export class ParamBodyPageDto<J, T, K> extends BodyPageDto<T, K>{
param?: J;
}
page
/*
* @Author: asushiye
* @Date: 2019-01-10 16:58:52
* @Commit: RequestPage, PageConfig, ResponsePage, ResponsePageEx
*/
/*请求分页参数*/
export class RequestPage {
'paged':boolean; //分页标识,默认true
'page':number; //请求第几页, 默认第一页 0
'size':number; //请求每页限制数, 默认 10条
constructor(){
this.paged = true;
this.page = 0;
this.size=10;
}
}
/*分页配置属性*/
export class PageConfig extends RequestPage {
'showPage':number; //显示页数,默认 5
'realSize':number; //实际返回记录数,默认0
'realPage':number; //实际返回页码,默认0
'totalSize' :number; //实际返回总记录数,默认0
'totalPage': number; //实际返回总页数,默认 0
constructor(){
super();
this.showPage = 5;
this.realSize = 0;
this.realPage = 0;
this.totalSize = 0;
this.totalPage = 0;
}
}
/*返回响应分页数据*/
export class ResponsePage<T> {
'content':T;
'realSize':number;
'totalSize':number;
}
/*返回响应分页扩展数据*/
export class ResponsePageEx<T> extends ResponsePage<T> {
'paged':boolean;
'sorted':boolean;
'first':boolean;
'last':boolean;
'realPage':number;
'totalPage':number;
}