Forráskód Böngészése

fix:新增token错误记录

Roc 3 éve
szülő
commit
bb290c7066
3 módosított fájl, 29 hozzáadás és 22 törlés
  1. 14 7
      controller/response/base.go
  2. 8 8
      middleware/token.go
  3. 7 7
      middleware/token_no_login.go

+ 14 - 7
controller/response/base.go

@@ -17,9 +17,10 @@ var (
 )
 
 type ResultData struct {
-	Code int         `json:"code" description:"状态码"`
-	Msg  string      `json:"msg" description:"提示信息"`
-	Data interface{} `json:"data" description:"返回数据"`
+	Code   int         `json:"code" description:"状态码"`
+	Msg    string      `json:"msg" description:"提示信息"`
+	Data   interface{} `json:"data" description:"返回数据"`
+	ErrMsg string      `json:"-" description:"错误信息,不用返回给前端,只是做日志记录"`
 }
 
 func result(code int, resultData ResultData, c *gin.Context) {
@@ -35,6 +36,11 @@ func result(code int, resultData ResultData, c *gin.Context) {
 	logSlice = append(logSlice, fmt.Sprint("Url:", c.Request.RequestURI))
 	logSlice = append(logSlice, fmt.Sprint("Token:", token))
 	logSlice = append(logSlice, fmt.Sprint("resultData:", string(jsonByte)))
+
+	//记录错误日志
+	if resultData.ErrMsg != "" {
+		logSlice = append(logSlice, fmt.Sprint("ErrMsg:", resultData.ErrMsg))
+	}
 	global.LOG.Info(strings.Join(logSlice, ";"))
 
 	//测试环境,数据不进行加密
@@ -106,11 +112,12 @@ func CustomData(code int, msg string, data interface{}, c *gin.Context) {
 }
 
 // TokenError token异常
-func TokenError(data interface{}, message string, c *gin.Context) {
+func TokenError(data interface{}, message, errMsg string, c *gin.Context) {
 	resultData := ResultData{
-		Code: TOKEN_ERROR_CODE,
-		Msg:  message,
-		Data: data,
+		Code:   TOKEN_ERROR_CODE,
+		Msg:    message,
+		Data:   data,
+		ErrMsg: errMsg,
 	}
 	result(200, resultData, c)
 }

+ 8 - 8
middleware/token.go

@@ -18,24 +18,24 @@ func Token() gin.HandlerFunc {
 			}
 		}
 		if token == "" {
-			response.TokenError(nil, "未登录或非法访问", c)
+			response.TokenError(nil, "未登录或非法访问", "未登录或非法访问", c)
 			c.Abort()
 			return
 		}
 		sessionInfo, err := session.GetTokenByToken(token)
 		if err != nil {
 			if err == utils.ErrNoRow {
-				response.TokenError(nil, "信息已变更,请重新登陆!", c)
+				response.TokenError(nil, "信息已变更,请重新登陆!", "找不到对应session", c)
 				c.Abort()
 				return
 			}
-			response.TokenError(nil, "网络异常,请稍后重试!", c)
+			response.TokenError(nil, "网络异常,请稍后重试!", err.Error(), c)
 			c.Abort()
 			return
 		}
 
 		if sessionInfo == nil {
-			response.TokenError(nil, "网络异常,请稍后重试1038!", c)
+			response.TokenError(nil, "网络异常,请稍后重试1038!", "找不到对应session", c)
 			c.Abort()
 			return
 		}
@@ -47,7 +47,7 @@ func Token() gin.HandlerFunc {
 			userInfo = tmpUserInfo
 			err = tmpErr
 		} else {
-			response.TokenError(nil, "数据异常!", c)
+			response.TokenError(nil, "数据异常!", "openid为空", c)
 			c.Abort()
 			return
 		}
@@ -55,18 +55,18 @@ func Token() gin.HandlerFunc {
 		if err != nil {
 			//用户openid查询出来发现没有绑定用户
 			if err == services.ERR_USER_NOT_BIND {
-				response.TokenError(nil, "信息已变更,请重新登陆1058!", c)
+				response.TokenError(nil, "信息已变更,请重新登陆1058!", err.Error(), c)
 				c.Abort()
 				return
 			}
 			//没有找到记录
 			if err == utils.ErrNoRow {
-				response.TokenError(nil, "信息已变更,请重新登陆2064!", c)
+				response.TokenError(nil, "信息已变更,请重新登陆2064!", err.Error(), c)
 				c.Abort()
 				return
 			}
 
-			response.TokenError(nil, "网络异常,请稍后重试3069!", c)
+			response.TokenError(nil, "网络异常,请稍后重试3069!", err.Error(), c)
 			c.Abort()
 			return
 		}

+ 7 - 7
middleware/token_no_login.go

@@ -18,24 +18,24 @@ func TokenNoLogin() gin.HandlerFunc {
 			}
 		}
 		if token == "" {
-			response.TokenError(nil, "未登录或非法访问", c)
+			response.TokenError(nil, "未登录或非法访问", "token为空", c)
 			c.Abort()
 			return
 		}
 		sessionInfo, err := session.GetTokenByToken(token)
 		if err != nil {
 			if err == utils.ErrNoRow {
-				response.TokenError(nil, "信息已变更,请重新登陆!", c)
+				response.TokenError(nil, "信息已变更,请重新登陆!", "找不到session", c)
 				c.Abort()
 				return
 			}
-			response.TokenError(nil, "网络异常,请稍后重试!", c)
+			response.TokenError(nil, "网络异常,请稍后重试!", err.Error(), c)
 			c.Abort()
 			return
 		}
 
 		if sessionInfo == nil {
-			response.TokenError(nil, "网络异常,请稍后重试!", c)
+			response.TokenError(nil, "网络异常,请稍后重试!", "session为空", c)
 			c.Abort()
 			return
 		}
@@ -47,7 +47,7 @@ func TokenNoLogin() gin.HandlerFunc {
 			userInfo = tmpUserInfo
 			err = tmpErr
 		} else {
-			response.TokenError(nil, "数据异常!", c)
+			response.TokenError(nil, "数据异常!", "openid为空", c)
 			c.Abort()
 			return
 		}
@@ -56,12 +56,12 @@ func TokenNoLogin() gin.HandlerFunc {
 		if err != nil && err != services.ERR_USER_NOT_BIND {
 			//没有找到记录
 			if err == utils.ErrNoRow {
-				response.TokenError(nil, "信息已变更,请重新登陆!", c)
+				response.TokenError(nil, "信息已变更,请重新登陆!", err.Error(), c)
 				c.Abort()
 				return
 			}
 
-			response.TokenError(nil, "网络异常,请稍后重试!", c)
+			response.TokenError(nil, "网络异常,请稍后重试!", err.Error(), c)
 			c.Abort()
 			return
 		}