/** * 返回信息 */ import {JSONResponse, Result, TransformData} from "./interface"; import {ActivityDetail, HelpEntity, LeaveWord, PageProps, SeekHelpState, User, UserType} from "./entity"; /** * 空body响应 */ export enum SimpleMessage { //操作失败 ok="ok", //操作成功 fail="fail" } /** * 空body响应 */ export class EmptyBodyTransform extends TransformData>{ protected newObject(): JSONResponse { return new JSONResponse(); } } export abstract class EmptyBodyDiffMsg extends TransformData>{} /** * 注册响应信息 */ export enum RegisterMessage { //注册成功 ok = "ok", //系统异常,注册失败 fail = "fail", //用户id重复 user_repeat = "user_repeat", //表单解析错误 form_parse_error = "form_parse_error" } /** * 注册响应结果转换 */ export class RegisterTransform extends EmptyBodyDiffMsg{ protected newObject(): JSONResponse { return new JSONResponse(); } } /** * 登陆结果 */ export enum LoginResMessage { // 登陆成功 ok="ok", // 账号或密码错误 valid_error="valid_error", // 表单不合法,请联系管理员 form_error="form_error" } /** * 登录响应实体 */ export class LoginRes implements JSONResponse{ userId?:string userType?:UserType timeScore?:number customResult?: LoginResMessage; result?: Result; } /** * 登录响应数据转换 */ export class LoginTransform extends TransformData{ protected newObject(): LoginRes { return new LoginRes(); } protected transformBody(data: any) { if(data.body!==null) { this.target.userId = data.body.userId this.target.userType = data.body.userType this.target.timeScore = data.body.timeScore } } } /** * 分页数据转换 */ export enum PageDataMessage { ok="ok", fail="fail", //空数据 empty="empty" } export abstract class PageDataRes extends JSONResponse{ dataList?:any; page?:PageProps; } export abstract class PageDataTransform extends TransformData{ protected transformBody(data: any) { if(data.body!==null){ this.target.dataList=data.body.body this.target.page={ currentPage:data.body.currentPage, totalPage:data.body.totalPage, pageSize:data.body.pageSize } } } } /** * 查询活动列表响应实体 */ export class FindActivityRes extends PageDataRes{ dataList?:Array> } /** * 活动列表数据转换 */ export class FindActivityTransform extends PageDataTransform{ protected newObject(): FindActivityRes { return new FindActivityRes(); } } /** * 用户信息实体 */ export class FindUserRes extends PageDataRes{ dataList?:Array> } /** * 用户数据转换 */ export class FindUserTransform extends PageDataTransform{ protected newObject(): FindUserRes { return new FindUserRes(); } } export class ActivityDetailRes extends JSONResponse{ activity?:ActivityDetail } //活动详情转换 export class ActivityDetailTransform extends TransformData{ protected newObject(): ActivityDetailRes { return new ActivityDetailRes(); } protected transformBody(data: any) { this.target.activity=data.body } } export class FindUserInfo extends JSONResponse{ info?:User } //查找用户信息转换 export class FindUserInfoTransform extends TransformData{ protected newObject(): FindUserInfo { return new FindUserInfo(); } protected transformBody(data: any) { this.target.info=data.body } } export enum ModifyPwdMessage { ok='ok', pwd_fail='pwd_fail', fail='fail' } /** * 修改密码数据转换 */ export class ModifyPwdTransform extends EmptyBodyDiffMsg{ protected newObject(): JSONResponse { return new JSONResponse(); } } export class SeekHelpInfoRes extends PageDataRes{ dataList?:Array } /** * 求助信息转换 */ export class SeekHelpInfoTransform extends PageDataTransform{ protected newObject(): SeekHelpInfoRes { return new SeekHelpInfoRes(); } } export class SeekHelpUser extends JSONResponse{ dataList?:Array } /** * 求助信息志愿者列表 */ export class SeekHelpUserTransform extends TransformData{ protected newObject(): SeekHelpUser { return new SeekHelpUser(); } protected transformBody(data: any) { this.target.dataList=data.body } } /** * 留言信息转换 */ export class LeaveWordRes extends PageDataRes{ dataList?:Array } export class LeaveWordTransform extends PageDataTransform{ protected newObject(): LeaveWordRes { return new LeaveWordRes(); } } /** * 帮助信息转换 */ export class HelpRes extends PageDataRes{ dataList?:Array } export class HelpTransform extends PageDataTransform{ protected newObject(): HelpRes { return new HelpRes(); } } /** * 我的好友信息转换 */ export class UserRes extends PageDataRes{ dataList?:Array } export class UserTransform extends PageDataTransform{ protected newObject(): UserRes { return new UserRes(); } } /** * 改变活动状态 */ export class ChangeActivityRes implements JSONResponse{ timeScore?:number; customResult?:SimpleMessage; result?: Result; } export class ChangeActivityTransform extends TransformData{ protected newObject(): ChangeActivityRes { return new ChangeActivityRes(); } protected transformBody(data: any) { this.target.timeScore=data.body } }