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 UnionID *string `json:"unionid"` // 用户unionid Token string `json:"token"` // JWT token } // MiniUserInfoResponse 小程序用户信息响应 type MiniUserInfoResponse struct { 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"` // 国家 NeedPhoneAuth bool `json:"needPhoneAuth"` // 是否需要授权手机号 } // PhoneUpdateResponse 手机号更新响应 type PhoneUpdateResponse struct { Phone string `json:"phone"` // 更新后的手机号 } // PageResult 分页结果 type PageResult struct { List interface{} `json:"list"` // 数据列表 Total int64 `json:"total"` // 总数 Page int `json:"page"` // 当前页 PageSize int `json:"pageSize"` // 每页数量 }