60 lines
1.4 KiB
TypeScript
Raw Normal View History

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