Browse Source

生产加密

kobe6258 3 months ago
parent
commit
038bf53df7
3 changed files with 23 additions and 8 deletions
  1. 1 0
      main.go
  2. 21 7
      middleware/auth_middleware.go
  3. 1 1
      models/sms/api_mt_zsyyt.go

+ 1 - 0
main.go

@@ -149,6 +149,7 @@ func initMerchant(merchantId string) {
 	}
 	if len(merchantList) == 0 {
 		logger.Warn("未配置商户信息,请配置商户信息")
+		return
 	}
 	if merchantId != "" {
 		find := false

+ 21 - 7
middleware/auth_middleware.go

@@ -1,9 +1,11 @@
 package middleware
 
 import (
+	"encoding/json"
 	"eta/eta_mini_ht_api/common/component/cache"
 	logger "eta/eta_mini_ht_api/common/component/log"
 	"eta/eta_mini_ht_api/common/exception"
+	authUtils "eta/eta_mini_ht_api/common/utils/auth"
 	"eta/eta_mini_ht_api/common/utils/jwt"
 	"eta/eta_mini_ht_api/common/utils/redis"
 	stringUtils "eta/eta_mini_ht_api/common/utils/string"
@@ -83,6 +85,18 @@ var privateRoutes = []string{
 	"/user/order/*",
 }
 
+func encoding(data interface{}) interface{} {
+	content, err := json.Marshal(data)
+	if err != nil {
+		logger.Error("json 序列化失败", err)
+		return data
+	}
+	if htConfig.NeedEncode() {
+		content = authUtils.DesBase64Encrypt(content, htConfig.GetDesCode())
+		content = []byte(`"` + string(content) + `"`)
+	}
+	return content
+}
 func AuthMiddleware() web.FilterFunc {
 	return func(ctx *context.Context) {
 		threadId := strings.ReplaceAll(uuid.New().String(), "-", "")
@@ -94,19 +108,19 @@ func AuthMiddleware() web.FilterFunc {
 			auth := ctx.Input.Header(authorization)
 			if auth == "" {
 				logger.Error("token信息不存在")
-				_ = ctx.JSONResp(rep)
+				_ = ctx.JSONResp(encoding(rep))
 				return
 			}
 			parts := strings.Split(auth, " ")
 			if len(parts) != 2 || parts[0] != Bearer {
 				logger.Error("token参数不符合格式" + auth)
-				_ = ctx.JSONResp(rep)
+				_ = ctx.JSONResp(encoding(rep))
 				return
 			}
 			info, err := jwt.CheckToken(parts[1])
 			if err != nil {
 				logger.Error("token无效:%v", err)
-				_ = ctx.JSONResp(rep)
+				_ = ctx.JSONResp(encoding(rep))
 				return
 			}
 			//组装用户信息
@@ -114,7 +128,7 @@ func AuthMiddleware() web.FilterFunc {
 			userInfo, err = user.GetUserByOpenId(info.OpenId)
 			if err != nil {
 				logger.Error("获取用户信息失败:%v", err)
-				_ = ctx.JSONResp(illegalUser())
+				_ = ctx.JSONResp(encoding(illegalUser()))
 				return
 			}
 			//校验redis中是否合法
@@ -126,18 +140,18 @@ func AuthMiddleware() web.FilterFunc {
 				//if err != nil {
 				//	logger.Error("重置用户状态失败:%v", err)
 				//}
-				_ = ctx.JSONResp(tokenExpired())
+				_ = ctx.JSONResp(encoding(tokenExpired()))
 				return
 			}
 			if redisToken != parts[1] {
 				logger.Error("token无效:用户token已刷新")
-				_ = ctx.JSONResp(tokenExpired())
+				_ = ctx.JSONResp(encoding(tokenExpired()))
 				return
 			}
 			if needCheckLoginStatus(path) {
 				if info.TokenType != jwt.AccessToken || info.Mobile == "-" || info.Mobile == "" {
 					logger.Error("token信息异常,当前token类型为:%v", jwt.GuestToken)
-					_ = ctx.JSONResp(LoginRequired())
+					_ = ctx.JSONResp(encoding(LoginRequired()))
 					return
 				}
 			}

+ 1 - 1
models/sms/api_mt_zsyyt.go

@@ -25,7 +25,7 @@ type ApiMtZsyyt struct {
 }
 
 func (ApiMtZsyyt) TableName() string {
-	return "api_mt_zsyyt"
+	return "api_mt_qhtxznty"
 }
 
 // 发送短信方法