Przeglądaj źródła

Merge branch 'feature/user_login_1206' into debug

hsun 1 rok temu
rodzic
commit
5d3673c7fb

+ 3 - 1
controllers/base_auth.go

@@ -72,6 +72,8 @@ func (c *BaseAuthController) ServeJSON(encoding ...bool) {
 
 func (c *BaseAuthController) JSON(data interface{}, hasIndent bool, coding bool) error {
 	c.Ctx.Output.Header("Content-Type", "application/json; charset=utf-8")
+	desEncrypt := utils.DesBase64Encrypt([]byte(utils.DesKey), utils.DesKeySalt)
+	c.Ctx.Output.Header("Dk", string(desEncrypt)) // des3加解密key
 	var content []byte
 	var err error
 	if hasIndent {
@@ -89,7 +91,7 @@ func (c *BaseAuthController) JSON(data interface{}, hasIndent bool, coding bool)
 
 	// 数据加密
 	if services.CheckEncryption() {
-		content = utils.DesBase64Encrypt(content)
+		content = utils.DesBase64Encrypt(content, utils.DesKey)
 		// get请求时,不加双引号就获取不到数据,不知道什么原因,所以还是在前后加上双引号吧
 		content = []byte(`"` + string(content) + `"`)
 	}

+ 3 - 1
controllers/base_common.go

@@ -43,6 +43,8 @@ func (c *BaseCommonController) ServeJSON(encoding ...bool) {
 
 func (c *BaseCommonController) JSON(data interface{}, hasIndent bool, coding bool) error {
 	c.Ctx.Output.Header("Content-Type", "application/json; charset=utf-8")
+	desEncrypt := utils.DesBase64Encrypt([]byte(utils.DesKey), utils.DesKeySalt)
+	c.Ctx.Output.Header("Dk", string(desEncrypt)) // des3加解密key
 	var content []byte
 	var err error
 	if hasIndent {
@@ -69,7 +71,7 @@ func (c *BaseCommonController) JSON(data interface{}, hasIndent bool, coding boo
 
 	// 数据加密
 	if services.CheckEncryption() {
-		content = utils.DesBase64Encrypt(content)
+		content = utils.DesBase64Encrypt(content, utils.DesKey)
 		// get请求时,不加双引号就获取不到数据,不知道什么原因,所以还是在前后加上双引号吧
 		content = []byte(`"` + string(content) + `"`)
 	}

+ 21 - 0
controllers/error.go

@@ -0,0 +1,21 @@
+package controllers
+
+import "eta/eta_report/models"
+
+// ErrorController
+// @Description: 该控制器处理页面错误请求
+type ErrorController struct {
+	BaseCommonController
+}
+
+func (c *ErrorController) Error404() {
+	c.Data["content"] = "很抱歉您访问的地址或者方法不存在"
+	//c.TplName = "error/404.html"
+
+	br := new(models.BaseResponse).Init()
+
+	br.Msg = "您访问的资源不存在"
+	br.Ret = 404
+	c.Data["json"] = br
+	c.ServeJSON()
+}

+ 4 - 0
main.go

@@ -1,6 +1,7 @@
 package main
 
 import (
+	"eta/eta_report/controllers"
 	_ "eta/eta_report/routers"
 	"eta/eta_report/services"
 
@@ -13,5 +14,8 @@ func main() {
 		web.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
 	}
 	go services.InitTask()
+
+	// 异常处理
+	web.ErrorController(&controllers.ErrorController{})
 	web.Run()
 }

+ 1 - 0
models/business_conf.go

@@ -16,6 +16,7 @@ const (
 	BusinessConfWxAppId          = "WxAppId"
 	BusinessConfWxAppSecret      = "WxAppSecret"
 	BusinessConfReportViewUrl    = "ReportViewUrl"
+	BusinessConfReport2ImgUrl    = "Report2ImgUrl"
 )
 
 // BusinessConf 商户配置表

+ 4 - 4
services/report2img.go

@@ -36,15 +36,15 @@ func CreateReportImgAndPdf(req Report2ImgQueueReq) {
 		}
 	}()
 
-	// 报告分享域名
-	reportViewHost := ""
+	// 先取报告转长图的host配置, 如果没有再取原有的报告分享配置(兼容只配了其中一个的客户)
 	conf, e := models.GetBusinessConf()
 	if e != nil {
 		err = fmt.Errorf("获取商家配置失败, Err: %s", e.Error())
 		return
 	}
-	if v, ok := conf[models.BusinessConfReportViewUrl]; ok {
-		reportViewHost = v
+	reportViewHost := conf[models.BusinessConfReport2ImgUrl]
+	if reportViewHost == "" {
+		reportViewHost = conf[models.BusinessConfReportViewUrl]
 	}
 	if reportViewHost == "" {
 		err = fmt.Errorf("报告分享域名未配置")

+ 1 - 3
utils/constants.go

@@ -45,8 +45,6 @@ const (
 	ETA_WX_ACCESS_TOEKN        = "eta:wx:access_token:"
 )
 
-// 自用商户号
 const (
-	BusinessCodeSandbox = "E2023080700" // 试用平台
-	BusinessCodeRelease = "E2023080900" // 生产环境
+	DesKeySalt = "JMCqSoUrTAmyNNIRb0TtlrPk" // DesKey盐值
 )

+ 4 - 4
utils/des3.go

@@ -12,15 +12,15 @@ import (
 )
 
 // des3 + base64 encrypt
-func DesBase64Encrypt(origData []byte) []byte {
-	result, err := TripleDesEncrypt(origData, []byte(DesKey))
+func DesBase64Encrypt(origData []byte, desKey string) []byte {
+	result, err := TripleDesEncrypt(origData, []byte(desKey))
 	if err != nil {
 		panic(err)
 	}
 	return []byte(base64.StdEncoding.EncodeToString(result))
 }
 
-func DesBase64Decrypt(crypted []byte) []byte {
+func DesBase64Decrypt(crypted []byte, desKey string) []byte {
 	result, _ := base64.StdEncoding.DecodeString(string(crypted))
 	remain := len(result) % 8
 	if remain > 0 {
@@ -29,7 +29,7 @@ func DesBase64Decrypt(crypted []byte) []byte {
 			result = append(result, 0)
 		}
 	}
-	origData, err := TripleDesDecrypt(result, []byte(DesKey))
+	origData, err := TripleDesDecrypt(result, []byte(desKey))
 	if err != nil {
 		panic(err)
 	}