From cfeba2dea02c1de54cde6c95f2a3f46c121d34aa Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期五, 16 八月 2019 15:16:14 +0800
Subject: [PATCH] dev add publicDomain

---
 middlewares/auth/auth.go |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/middlewares/auth/auth.go b/middlewares/auth/auth.go
index 449ae51..831ba8a 100644
--- a/middlewares/auth/auth.go
+++ b/middlewares/auth/auth.go
@@ -3,9 +3,10 @@
 import (
 	"github.com/gin-gonic/gin"
 	"net/http"
+	"regexp"
 	"strings"
-	"webserver/extend/code"
-	"webserver/extend/util"
+	"webserver/extend/config"
+	"webserver/extend/logger"
 )
 
 const (
@@ -28,13 +29,40 @@
 func AuthHandler() gin.HandlerFunc {
 	return func(c *gin.Context) {
 		urlPath := c.Request.URL.Path
+
 		if strings.Contains(urlPath,"/data/api-v") && !strings.Contains(urlPath,"login"){
-			jwtDriver :=NewJwtAuthDriver()
-			if !jwtDriver.Check(c) {
-				util.ResponseFormat(c,code.TokenNotFound,"灏氭湭鐧诲綍锛岃鐧诲綍")
-				c.Abort()
-			}
+			//jwtDriver :=NewJwtAuthDriver()
+			//if !jwtDriver.Check(c) {
+			//	util.ResponseFormat(c,code.TokenNotFound,"灏氭湭鐧诲綍锛岃鐧诲綍")
+			//	c.Abort()
+			//}
 			c.Next()
+		} else if strings.HasPrefix(urlPath,"/httpImage") {
+			host := c.Request.Host
+			logger.Debug("host:", host)
+
+			imgUrl := config.Server.ImageUrl
+
+			domain := config.Server.PublicDomain
+			domainReg := regexp.MustCompile(``+domain+``)
+			if domainReg.MatchString(host) {//鍩熷悕璁块棶
+				imgUrl = domain
+			}
+
+			urlPath = strings.Replace(urlPath, "/httpImage", "", -1)
+			idx := strings.Index(urlPath, ":")
+			tmpPath := urlPath
+			if idx >-1 {//璺緞涓寘鍚湁绔彛,鍙栫鍙d互鍚庤矾寰�
+				tmpPath = urlPath[idx:]
+				imgIndx := strings.LastIndex(imgUrl, ":")
+				if imgIndx > -1 {
+					imgUrl = imgUrl[:imgIndx]
+				}
+			}
+			logger.Debug("imgUrl+tmpPath:", imgUrl+tmpPath)
+			c.Header("Access-Control-Allow-Origin","*")
+			c.Redirect(http.StatusMovedPermanently, imgUrl+tmpPath)
+			return
 		} else {
 			c.Next()
 		}

--
Gitblit v1.8.0