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 }