enum ResultCode { Success = 0, Fail = -1, NotMore = -2, PaySuccessful = 10003, NewDevice = 441 } interface ResultData { code: ResultCode data: Record message: string } export class Result { static resultsMap = new Map>([ [ResultCode.Success, { message: '成功', data: {} }], [ResultCode.Fail, { message: '网络加载失败', data: {} }], [ResultCode.NotMore, { message: '没有更多', data: {} }], [ResultCode.PaySuccessful, { message: '支付成功', data: {} }] ]) code: ResultCode message: string data: Record constructor(code: ResultCode, data?: Record, message?: string) { const result = Result.resultsMap.get(code) if (result) { this.code = code this.message = message || result.message this.data = data || result.data } else { this.code = code this.message = message || '' this.data = data || {} } } // 成功 static get Success(): Result { return new Result(ResultCode.Success) } // 失败(默认错误) static get Fail(): Result { return new Result(ResultCode.Fail) } // 没有更多 static get NotMore(): Result { return new Result(ResultCode.NotMore) } // 支付成功 static get PaySuccessful(): Result { return new Result(ResultCode.PaySuccessful) } // 新设备 static get NewDevice(): Result { return new Result(ResultCode.NewDevice) } }