-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patherror.go
More file actions
170 lines (147 loc) · 9.58 KB
/
error.go
File metadata and controls
170 lines (147 loc) · 9.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
// Code generated by i18n error platform, please DO NOT EDIT.
package contrib
import "fmt"
var (
ErrTokenUndefined = NewErr(44, "token undefined", "rest") // token未定义
ErrCtxUndefined = NewErr(45, "params context undefined", "rest") // ctx未定义
ErrCtxCtrlUndefined = NewErr(46, "ctrl undefined in context", "rest") // ctrl未取得
ErrCtxReqUndefined = NewErr(47, "request undefined in context", "rest") // req未取得
ErrPasswordUndefined = NewErr(48, "password undefined", "rest") // 密码未定义
ErrPasswordPayRequire = NewErr(49, "password-pay require", "rest") // 需要支付密码
ErrPasswordPayInvalid = NewErr(50, "payment password error", "rest") // 支付密码错误
ErrCtrlReqJsonUndefined = NewErr(51, "json: can not find string in request.Body", "rest") // 无法解析json
ErrGraphqlMetaUndefined = NewErr(52, "meta undefined", "rest") // meta对象nil
ErrGraphqlQueryLimitMax = NewErr(53, "query limit max 100", "rest") // limit超出范围
ErrHookPasswordVerify = NewErr(54, "HookPasswordVerify undefined", "rest") // 密码二次验证函数未定义
ErrQueryUndefined = NewErr(55, "query undefined", "rest") // query未定义
ErrConfigSavePathUndefined = NewErr(56, "config save path undefined", "rest") // 配置文件保存地址未定义
ErrConfigSavePointUndefined = NewErr(57, "config object undefined", "rest") // 配置文件保存地址未定义
ErrRouterHandleType = NewErr(58, "handle invalid, allow http.HandlerFunc/*http.HandlerFunc only", "rest") // handle函数非法
ErrOptionsNotAllow = NewErr(59, "options method not allow", "rest") // 参数不允许
ErrObjectUndefined = NewErr(60, "object undefined", "rest") // 参数未定义
ErrPermUndefined = NewErr(61, "permission undefined", "rest") // 权限未定义
ErrPermNotAllow = NewErr(62, "action not allow {{.var1}}", "rest") // 动作不允许 {{.var1}}
ErrParamUndefined = NewErr(63, "params undefined", "rest") // 无效的输入
ErrUndefined = NewErr(64, "undefined {{.var1}}", "rest") // 未定义 {{.var1}}
ErrRpcDevelopmentPhaseOnly = NewErr(65, "this rpc can user in development phase only", "rest") // 只能在开发阶段
ErrRpcConnectionRefused = NewErr(66, "rpc connection refused", "rest") // rpc无法连接
ErrRpcTimeFormatInvalid = NewErr(67, "rpc time format invalid", "rest") // 时间格式错误
ErrSessionKeyUndefined = NewErr(68, "session key undefined", "rest") // session key undefined
ErrSessionKeyDefaultUndefined = NewErr(69, "default key instance undefined", "rest") // 默认key实例未定义
ErrSessionUndefined = NewErr(70, "session undefined", "rest") // session undefined
ErrSessionExpUndefined = NewErr(71, "session expire time undefined", "rest") // session expire time undefined
ErrSessionUidUndefined = NewErr(72, "session uid undefine", "rest") // 没有定义uid的session视为非法
ErrSessionLevelInvalid = NewErr(73, "session level invalid", "rest") // session会话级别非法
ErrSessionExpMaxOutOfRange = NewErr(74, "session exp out of range", "rest") // session会话有效期超出范围
ErrTokenParseTypeNotSupport = NewErr(75, "session type not support", "rest") // 不支持的解析类型
ErrTokenParseSignMethodNotSupport = NewErr(76, "unexpected signing method", "rest") // 不支持的解析方法
ErrTokenInvalid = NewErr(77, "token invalid", "rest") // token.valid为false
ErrTokenClaimsInvalid = NewErr(78, "token claims invalid", "rest") // token.Claims无法解析出
ErrTokenChangePassword = NewErr(79, "token change password", "rest") // token密码改变
ErrTokenChangeFreeze = NewErr(80, "user freeze", "rest") // 已禁用的用户
ErrTokenChangeLogout = NewErr(81, "token change logout", "rest") // token状态改变
ErrHookPluginNotFound = NewErr(82, "not plugin file(s) found", "rest") // 读不到任何插件文件
ErrTimeout = NewErr(83, "timeout {{.var1}}", "rest") // 超时{{.var1}}
ErrPanicRecover = NewErr(84, "panic {{.var1}}", "rest") // 恐慌错误 {{.var1}}
ErrModelInited = NewErr(85, "model is not init", "rest") // 初始化错误
ErrSessionInvalid = NewErr(86, "session wrong {{.var1}}", "rest") // 会话错误 {{.var1}}
ErrOrmMatchNone = NewErr(116, "match none", "rest") // 数据库找不到对象
ErrOrmMatchMultiple = NewErr(117, "match multiple", "rest") // 期望搜到一条记录,但是返回多条
ErrParamInvalid = NewErr(129, "params invalid {{.var1}}", "rest") // 参数非法 {{.var1}}
ErrSessionExpired = NewErr(136, "session expired", "rest") // 会话已过期
ErrTokenExpired = NewErr(215, "token expired", "rest") // 身份令牌已过期
ErrPlaceHolder = NewErr(229, "error placeholder", "rest") // 错误的错误
ErrConfigInvalid = NewErr(273, "config file empty or invalid", "rest") // 配置文件非法或不完整
ErrRbacInherCircle = NewErr(308, "RBAC roles Inher circle {{.var1}} {{.var2}}", "rest") // 角色继承循环 {{.var1}} {{.var2}}
ErrUuidFormat = NewErr(309, "uuid format invalid {{.var1}}", "rest") // uuid 格式错误 {{.var1}}
ErrApiKeyInvalid = NewErr(317, "API KEY invalid", "rest") // 接口密钥错误
ErrLengthOutOfRange = NewErr(320, "length out of range {{.var1}}", "rest") // 长度超出范围 {{.var1}}
)
// Error translate
type Error struct {
Code int32
Detail string
Prefix string
//
vars map[string][]interface{}
isExt bool
}
func (e *Error) GetPrefix() string {
return e.Prefix
}
func (e *Error) GetCode() int32 {
return e.Code
}
func (e *Error) GetKey() string {
return fmt.Sprintf("%s%d", e.GetPrefix(), e.GetCode())
}
func (e *Error) GetDetail() string {
return e.Detail
}
func (e *Error) GetVars() []interface{} {
return e.GetVarsBy("")
}
func (e *Error) GetVarsBy(lang string) []interface{} {
return e.vars[lang]
}
func (e *Error) SetDetail(c string) *Error {
e.Detail = c
return e
}
func (e *Error) SetVars(con ...interface{}) *Error {
return e.SetVarsBy("", con...)
}
func (e *Error) SetVarsBy(lang string, con ...interface{}) *Error {
var e2 *Error
if e.isExt {
e2 = e
} else {
e2 = NewErr(e.Code, e.Detail, e.Prefix)
e2.isExt = true
}
e2.vars[lang] = con
return e2
}
func (e *Error) Error() string {
return e.GetKey()
}
func NewErr(c int32, t, m string) *Error {
e := &Error{Code: c, Detail: t, Prefix: m}
e.vars = make(map[string][]interface{})
return e
}
// Text translate
type Text struct {
Code int32
Detail string
Prefix string
vars []interface{}
}
func (e *Text) GetPrefix() string {
return e.Prefix
}
func (e *Text) GetCode() int32 {
return e.Code
}
func (e *Text) GetKey() string {
return fmt.Sprintf("%s%d", e.GetPrefix(), e.GetCode())
}
func (e *Text) GetDetail() string {
return e.Detail
}
func (e *Text) GetVars() []interface{} {
return e.vars
}
func (e *Text) SetDetail(c string) *Text {
e.Detail = c
return e
}
func (e *Text) SetVars(con ...interface{}) *Text {
e2 := &Text{}
*e2 = *e
e2.vars = con
return e2
}
func (e *Text) String() string {
return fmt.Sprintf("%s%d|%s", e.Prefix, e.Code, e.Detail)
}