import _ from 'lodash'; | |
export interface BodyOptions { | |
code?: number; | |
message?: string; | |
data?: any; | |
statusCode?: number; | |
} | |
export default class Body { | |
/** 状态码 */ | |
code: number; | |
/** 状态消息 */ | |
message: string; | |
/** 载荷 */ | |
data: any; | |
/** HTTP状态码 */ | |
statusCode: number; | |
constructor(options: BodyOptions = {}) { | |
const { code, message, data, statusCode } = options; | |
this.code = Number(_.defaultTo(code, 0)); | |
this.message = _.defaultTo(message, 'OK'); | |
this.data = _.defaultTo(data, null); | |
this.statusCode = Number(_.defaultTo(statusCode, 200)); | |
} | |
toObject() { | |
return { | |
code: this.code, | |
message: this.message, | |
data: this.data | |
}; | |
} | |
static isInstance(value) { | |
return value instanceof Body; | |
} | |
} |