feat: 引入签名认证、加密工具包及大量goctl代码生成模板,并更新API、Admin和Node服务逻辑。

This commit is contained in:
2026-02-27 08:49:37 -08:00
parent 9dacd85a89
commit e1896f677c
166 changed files with 2913 additions and 489 deletions
+5
View File
@@ -19,4 +19,9 @@ const (
PaymentFailed = 4001
SubscribeExpired = 5001
NodeAuthFailed = 6001
SignatureMissing = 7001
SignatureExpired = 7002
SignatureInvalid = 7003
SignatureReplay = 7004
DecryptFailed = 7005
)
+12
View File
@@ -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 {
+39
View File
@@ -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:%dErrMsg:%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}
}