This commit is contained in:
@@ -1,5 +1,131 @@
|
||||
package response
|
||||
|
||||
// 微信小程序错误码定义
|
||||
const (
|
||||
// 成功
|
||||
SUCCESS = 0
|
||||
|
||||
// 通用错误码 (1000-1999)
|
||||
ERROR_COMMON = 1000 // 通用错误
|
||||
ERROR_PARAM_INVALID = 1001 // 参数无效
|
||||
ERROR_PARAM_MISSING = 1002 // 参数缺失
|
||||
ERROR_INTERNAL = 1003 // 内部错误
|
||||
ERROR_NETWORK = 1004 // 网络错误
|
||||
ERROR_TIMEOUT = 1005 // 请求超时
|
||||
|
||||
// 认证相关错误码 (2000-2999)
|
||||
ERROR_AUTH_FAILED = 2000 // 认证失败
|
||||
ERROR_TOKEN_INVALID = 2001 // Token无效
|
||||
ERROR_TOKEN_EXPIRED = 2002 // Token过期
|
||||
ERROR_UNAUTHORIZED = 2003 // 未授权
|
||||
ERROR_PERMISSION_DENIED = 2004 // 权限不足
|
||||
|
||||
// 微信相关错误码 (3000-3999)
|
||||
ERROR_WX_CODE_INVALID = 3000 // 微信Code无效
|
||||
ERROR_WX_SESSION_FAILED = 3001 // 获取微信Session失败
|
||||
ERROR_WX_DECRYPT_FAILED = 3002 // 微信数据解密失败
|
||||
ERROR_WX_OPENID_EMPTY = 3003 // 微信OpenID为空
|
||||
ERROR_WX_SESSIONKEY_EMPTY = 3004 // 微信SessionKey为空
|
||||
ERROR_WX_PHONE_DECRYPT_FAILED = 3005 // 微信手机号解密失败
|
||||
ERROR_WX_PHONE_NOT_FOUND = 3006 // 解密数据中未找到手机号
|
||||
|
||||
// 用户相关错误码 (4000-4999)
|
||||
ERROR_USER_NOT_FOUND = 4000 // 用户不存在
|
||||
ERROR_USER_EXISTED = 4001 // 用户已存在
|
||||
ERROR_USER_CREATE_FAILED = 4002 // 用户创建失败
|
||||
ERROR_USER_UPDATE_FAILED = 4003 // 用户更新失败
|
||||
ERROR_USER_DELETE_FAILED = 4004 // 用户删除失败
|
||||
ERROR_USER_DISABLED = 4005 // 用户已禁用
|
||||
)
|
||||
|
||||
// 错误信息映射
|
||||
var ErrorMessages = map[int]string{
|
||||
SUCCESS: "操作成功",
|
||||
|
||||
// 通用错误
|
||||
ERROR_COMMON: "操作失败",
|
||||
ERROR_PARAM_INVALID: "参数无效",
|
||||
ERROR_PARAM_MISSING: "参数缺失",
|
||||
ERROR_INTERNAL: "内部错误",
|
||||
ERROR_NETWORK: "网络错误",
|
||||
ERROR_TIMEOUT: "请求超时",
|
||||
|
||||
// 认证相关错误
|
||||
ERROR_AUTH_FAILED: "认证失败",
|
||||
ERROR_TOKEN_INVALID: "Token无效",
|
||||
ERROR_TOKEN_EXPIRED: "Token已过期",
|
||||
ERROR_UNAUTHORIZED: "未授权访问",
|
||||
ERROR_PERMISSION_DENIED: "权限不足",
|
||||
|
||||
// 微信相关错误
|
||||
ERROR_WX_CODE_INVALID: "微信Code无效",
|
||||
ERROR_WX_SESSION_FAILED: "获取微信Session失败",
|
||||
ERROR_WX_DECRYPT_FAILED: "微信数据解密失败",
|
||||
ERROR_WX_OPENID_EMPTY: "微信OpenID为空",
|
||||
ERROR_WX_SESSIONKEY_EMPTY: "微信SessionKey为空",
|
||||
ERROR_WX_PHONE_DECRYPT_FAILED: "微信手机号解密失败",
|
||||
ERROR_WX_PHONE_NOT_FOUND: "解密数据中未找到手机号",
|
||||
|
||||
// 用户相关错误
|
||||
ERROR_USER_NOT_FOUND: "用户不存在",
|
||||
ERROR_USER_EXISTED: "用户已存在",
|
||||
ERROR_USER_CREATE_FAILED: "用户创建失败",
|
||||
ERROR_USER_UPDATE_FAILED: "用户更新失败",
|
||||
ERROR_USER_DELETE_FAILED: "用户删除失败",
|
||||
ERROR_USER_DISABLED: "用户已禁用",
|
||||
}
|
||||
|
||||
// GetErrorMessage 获取错误信息
|
||||
func GetErrorMessage(code int) string {
|
||||
if msg, exists := ErrorMessages[code]; exists {
|
||||
return msg
|
||||
}
|
||||
return "未知错误"
|
||||
}
|
||||
|
||||
// Response 标准响应结构
|
||||
type Response struct {
|
||||
Code int `json:"code"`
|
||||
Data interface{} `json:"data"`
|
||||
Msg string `json:"msg"`
|
||||
}
|
||||
|
||||
// SuccessResponse 成功响应
|
||||
func SuccessResponse(data interface{}) Response {
|
||||
return Response{
|
||||
Code: SUCCESS,
|
||||
Data: data,
|
||||
Msg: GetErrorMessage(SUCCESS),
|
||||
}
|
||||
}
|
||||
|
||||
// SuccessResponseWithMsg 带自定义消息的成功响应
|
||||
func SuccessResponseWithMsg(data interface{}, msg string) Response {
|
||||
return Response{
|
||||
Code: SUCCESS,
|
||||
Data: data,
|
||||
Msg: msg,
|
||||
}
|
||||
}
|
||||
|
||||
// ErrorResponse 错误响应
|
||||
func ErrorResponse(code int) Response {
|
||||
return Response{
|
||||
Code: code,
|
||||
Data: nil,
|
||||
Msg: GetErrorMessage(code),
|
||||
}
|
||||
}
|
||||
|
||||
// ErrorResponseWithMsg 带自定义消息的错误响应
|
||||
func ErrorResponseWithMsg(code int, msg string) Response {
|
||||
return Response{
|
||||
Code: code,
|
||||
Data: nil,
|
||||
Msg: msg,
|
||||
}
|
||||
}
|
||||
|
||||
// MiniLoginResponse 小程序登录响应
|
||||
type MiniLoginResponse struct {
|
||||
OpenID string `json:"openid"` // 用户openid
|
||||
@@ -7,6 +133,27 @@ type MiniLoginResponse struct {
|
||||
Token string `json:"token"` // JWT token
|
||||
}
|
||||
|
||||
// MiniUserInfoResponse 小程序用户信息响应
|
||||
type MiniUserInfoResponse struct {
|
||||
ID uint `json:"id"` // 用户ID
|
||||
OpenID string `json:"openid"` // 用户openid
|
||||
UnionID *string `json:"unionid"` // 用户unionid
|
||||
NickName *string `json:"nickName"` // 用户昵称
|
||||
Avatar *string `json:"avatar"` // 用户头像
|
||||
Phone *string `json:"phone"` // 用户手机号
|
||||
Gender *int `json:"gender"` // 性别:0-未知,1-男,2-女
|
||||
City *string `json:"city"` // 城市
|
||||
Province *string `json:"province"` // 省份
|
||||
Country *string `json:"country"` // 国家
|
||||
CreateTime string `json:"createTime"` // 创建时间
|
||||
UpdateTime string `json:"updateTime"` // 更新时间
|
||||
}
|
||||
|
||||
// PhoneUpdateResponse 手机号更新响应
|
||||
type PhoneUpdateResponse struct {
|
||||
Phone string `json:"phone"` // 更新后的手机号
|
||||
}
|
||||
|
||||
// PageResult 分页结果
|
||||
type PageResult struct {
|
||||
List interface{} `json:"list"` // 数据列表
|
||||
|
||||
Reference in New Issue
Block a user