Compare commits

...

3 Commits

Author SHA1 Message Date
zhaoxiaorong 21f09ea41e fix 2025-04-24 17:52:29 +08:00
yanweidong 4d06ad3e8b add err code 2025-04-19 20:14:37 +08:00
yanweidong 52a81a404e fix infra response 2025-04-18 19:11:50 +08:00
3 changed files with 30 additions and 26 deletions
errcode
infra
middleware

View File

@ -15,13 +15,18 @@ var (
// standard error code ,start:110 // standard error code ,start:110
var ( var (
ErrEmpty = NewError(110, "Data Is Empty") ErrEmpty = NewError(110, "Data Is Empty")
ErrRequestParse = NewError(111, "Request Parse Fail") ErrRequestParse = NewError(111, "Request Parse Fail")
ErrRequestMust = NewError(112, "Request Params Required") ErrRequestMust = NewError(112, "Request Params Required")
ErrPermission = NewError(113, "Permission Denied") ErrPermission = NewError(113, "Permission Denied")
ErrJsonUnmarshal = NewError(114, "Json Unmarshal Fail") ErrJsonUnmarshal = NewError(114, "Json Unmarshal Fail")
ErrJsonMarshal = NewError(115, "Json Marshal Fail") ErrJsonMarshal = NewError(115, "Json Marshal Fail")
ErrInternal = NewError(116, "Internal Server Error") ErrInternal = NewError(116, "Internal Server Error")
ErrPassword = NewError(117, "Password Incorrect")
ErrAccountNotFound = NewError(118, "Account Not Found")
ErrAccountDisabled = NewError(119, "Account Disabled")
ErrDisabled = NewError(120, "Status Disabled")
ErrRecordNotFound = NewError(121, "Record Not Found")
) )
// jwt error code ,start:130 // jwt error code ,start:130

View File

@ -8,29 +8,29 @@ import (
var Response Reply var Response Reply
type Reply struct { type Reply struct {
Code int `json:"code"` Code int32 `json:"code"`
Msg string `json:"msg"` Message string `json:"message"`
Data any `json:"data"` Result any `json:"result"`
} }
func (reply *Reply) Success(ctx *gin.Context, data any) { func (reply *Reply) Success(ctx *gin.Context, data any) {
reply.Code = 200 reply.Code = 0
reply.Data = data reply.Result = data
reply.Msg = "" reply.Message = ""
if data == nil { if data == nil {
reply.Data = "" reply.Result = ""
} }
ctx.JSON(200, reply) ctx.JSON(200, reply)
} }
func (reply *Reply) Error(ctx *gin.Context, err error) { func (reply *Reply) Error(ctx *gin.Context, err error) {
reply.Code = 500 reply.Code = 500
reply.Data = "" reply.Result = ""
// Status code defaults to 500 // Status code defaults to 500
e, ok := status.FromError(err) e, ok := status.FromError(err)
if ok { if ok {
reply.Code = int(e.Code()) reply.Code = int32(e.Code())
} }
reply.Msg = e.Message() reply.Message = e.Message()
// Send error // Send error
ctx.JSON(200, reply) ctx.JSON(200, reply)

View File

@ -2,7 +2,6 @@ package middleware
import ( import (
"encoding/json" "encoding/json"
"fmt"
"log" "log"
"net/http" "net/http"
@ -33,14 +32,14 @@ func JwtAuth(redis *redis.RedisClient) gin.HandlerFunc {
} }
// 从redis 获取token,判断当前redis 是否为空 // 从redis 获取token,判断当前redis 是否为空
tokenKey := fmt.Sprintf("%d-%s-%s", claims.ID, claims.Role, "token") // tokenKey := fmt.Sprintf("%d-%s-%s", claims.ID, claims.Role, "token")
redisToken := redis.Client.Get(redis.Ctx, tokenKey) // redisToken := redis.Client.Get(redis.Ctx, tokenKey)
if redisToken.Val() == "" { // if redisToken.Val() == "" {
log.Println("redis异常", "Token status unauthorized") // log.Println("redis异常", "Token status unauthorized")
c.JSON(http.StatusUnauthorized, gin.H{"error": "Token status unauthorized"}) // c.JSON(http.StatusUnauthorized, gin.H{"error": "Token status unauthorized"})
c.Abort() // c.Abort()
return // return
} // }
// 将解析后的 Token 存储到上下文中 // 将解析后的 Token 存储到上下文中
c.Set("Auth", claims) c.Set("Auth", claims)