65 lines
1.5 KiB
TypeScript
Raw Normal View History

enum ResultCode {
Success = 0,
Fail = -1,
NotMore = -2,
PaySuccessful = 10003,
NewDevice = 441
}
2025-01-03 18:14:33 +08:00
interface ResultData {
code: ResultCode
2025-01-03 18:14:33 +08:00
data: Record<string, any>
message: string
2025-01-03 18:14:33 +08:00
}
2025-01-02 16:10:27 +08:00
export class Result {
static resultsMap = new Map<ResultCode, Omit<ResultData, 'code'>>([
[ResultCode.Success, { message: '成功', data: {} }],
[ResultCode.Fail, { message: '网络加载失败', data: {} }],
[ResultCode.NotMore, { message: '没有更多', data: {} }],
[ResultCode.PaySuccessful, { message: '支付成功', data: {} }]
2025-01-02 16:10:27 +08:00
])
2025-01-03 18:14:33 +08:00
code: ResultCode
message: string
data: Record<string, any>
constructor(code: ResultCode, data?: Record<string, any>, message?: string) {
2025-01-02 16:10:27 +08:00
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 || {}
}
}
// 成功
2025-01-03 18:14:33 +08:00
static get Success(): Result {
return new Result(ResultCode.Success)
2025-01-02 16:10:27 +08:00
}
// 失败(默认错误)
2025-01-03 18:14:33 +08:00
static get Fail(): Result {
return new Result(ResultCode.Fail)
2025-01-02 16:10:27 +08:00
}
// 没有更多
2025-01-03 18:14:33 +08:00
static get NotMore(): Result {
return new Result(ResultCode.NotMore)
2025-01-02 16:10:27 +08:00
}
// 支付成功
2025-01-03 18:14:33 +08:00
static get PaySuccessful(): Result {
return new Result(ResultCode.PaySuccessful)
}
// 新设备
static get NewDevice(): Result {
return new Result(ResultCode.NewDevice)
2025-01-02 16:10:27 +08:00
}
}