Files
junhong_cmp_fiber/pkg/errors/codes.go

40 lines
1.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package errors
// 应用错误码
const (
CodeSuccess = 0 // 成功
CodeInternalError = 1000 // 内部服务器错误
CodeMissingToken = 1001 // 缺失认证令牌
CodeInvalidToken = 1002 // 令牌无效或已过期
CodeTooManyRequests = 1003 // 请求过于频繁(限流)
CodeAuthServiceUnavailable = 1004 // 认证服务不可用Redis 宕机)
)
// ErrorMessage 表示双语错误消息
type ErrorMessage struct {
EN string
ZH string
}
// errorMessages 将错误码映射到双语消息
var errorMessages = map[int]ErrorMessage{
CodeSuccess: {"Success", "成功"},
CodeInternalError: {"Internal server error", "内部服务器错误"},
CodeMissingToken: {"Missing authentication token", "缺失认证令牌"},
CodeInvalidToken: {"Invalid or expired token", "令牌无效或已过期"},
CodeTooManyRequests: {"Too many requests", "请求过于频繁"},
CodeAuthServiceUnavailable: {"Authentication service unavailable", "认证服务不可用"},
}
// GetMessage 根据错误码和语言返回错误消息
func GetMessage(code int, lang string) string {
msg, ok := errorMessages[code]
if !ok {
return "Unknown error"
}
if lang == "zh" || lang == "zh-CN" {
return msg.ZH
}
return msg.EN
}