feat: 引入签名认证、加密工具包及大量goctl代码生成模板,并更新API、Admin和Node服务逻辑。
This commit is contained in:
@@ -19,4 +19,9 @@ const (
|
||||
PaymentFailed = 4001
|
||||
SubscribeExpired = 5001
|
||||
NodeAuthFailed = 6001
|
||||
SignatureMissing = 7001
|
||||
SignatureExpired = 7002
|
||||
SignatureInvalid = 7003
|
||||
SignatureReplay = 7004
|
||||
DecryptFailed = 7005
|
||||
)
|
||||
|
||||
@@ -19,6 +19,18 @@ var codeText = map[int]string{
|
||||
PaymentFailed: "支付失败",
|
||||
SubscribeExpired: "订阅已过期",
|
||||
NodeAuthFailed: "节点认证失败",
|
||||
SignatureMissing: "缺少签名头",
|
||||
SignatureExpired: "签名已过期",
|
||||
SignatureInvalid: "签名错误",
|
||||
SignatureReplay: "重放攻击",
|
||||
DecryptFailed: "解密失败",
|
||||
}
|
||||
|
||||
func IsCodeErr(errcode uint32) bool {
|
||||
if _, ok := codeText[int(errcode)]; ok {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func MapErrMsg(code int) string {
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package xerr
|
||||
|
||||
import "fmt"
|
||||
|
||||
// ICodeError 定义业务错误接口,用于跨包识别
|
||||
type ICodeError interface {
|
||||
GetErrCode() int
|
||||
GetErrMsg() string
|
||||
}
|
||||
|
||||
type CodeError struct {
|
||||
errCode int
|
||||
errMsg string
|
||||
}
|
||||
|
||||
// 错误返回的 Error() 方法
|
||||
func (e *CodeError) Error() string {
|
||||
return fmt.Sprintf("ErrCode:%d,ErrMsg:%s", e.errCode, e.errMsg)
|
||||
}
|
||||
|
||||
func (e *CodeError) GetErrCode() int {
|
||||
return e.errCode
|
||||
}
|
||||
|
||||
func (e *CodeError) GetErrMsg() string {
|
||||
return e.errMsg
|
||||
}
|
||||
|
||||
func NewErrCodeMsg(errCode int, errMsg string) *CodeError {
|
||||
return &CodeError{errCode: errCode, errMsg: errMsg}
|
||||
}
|
||||
|
||||
func NewErrCode(errCode int) *CodeError {
|
||||
return &CodeError{errCode: errCode, errMsg: MapErrMsg(errCode)}
|
||||
}
|
||||
|
||||
func NewErrMsg(errMsg string) *CodeError {
|
||||
return &CodeError{errCode: ServerError, errMsg: errMsg}
|
||||
}
|
||||
Reference in New Issue
Block a user