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)
|
|
|
|
|
}
|
|
|
|
|
}
|