@asushiye/core

1.0.1 • Public • Published

@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;
}

Readme

Keywords

Package Sidebar

Install

npm i @asushiye/core

Weekly Downloads

1

Version

1.0.1

License

ISC

Unpacked Size

8.37 kB

Total Files

10

Last publish

Collaborators

  • asushiye