diff --git a/Dockerfile b/Dockerfile index 7e1251c..12eddf9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ ADD go.sum . RUN go mod download COPY . . -RUN CGO_ENABLED=0 GOOS=linux go build -o main main.go +RUN go build -o main main.go FROM alpine diff --git a/api/v1/init.go b/api/v1/init.go new file mode 100644 index 0000000..e356e4f --- /dev/null +++ b/api/v1/init.go @@ -0,0 +1,8 @@ +package v1 + +import "github.com/gin-gonic/gin" + +func InitRouters(prefix string, e *gin.Engine) { + g := e.Group(prefix) + g.GET("", WxCheckSignature) +} diff --git a/api/v1/sign.go b/api/v1/sign.go new file mode 100644 index 0000000..f385106 --- /dev/null +++ b/api/v1/sign.go @@ -0,0 +1,26 @@ +package v1 + +import( + "log" + "github.com/gin-gonic/gin" + "wx-backend-go/util" +) + +const Token = "aaa325" + +func WxCheckSignature(c *gin.Context) { + signature := c.Query("signature") + timestamp := c.Query("timestamp") + nonce := c.Query("nonce") + echostr := c.Query("echostr") + + ok := util.CheckSignature(signature, timestamp, nonce, Token) + if !ok { + log.Println("微信公众号接入校验失败!") + c.Writer.WriteString("微信公众号接入校验失败!") + return + } + + log.Println("微信公众号接入校验成功!") + _, _ = c.Writer.WriteString(echostr) +} \ No newline at end of file diff --git a/api/v2/init.go b/api/v2/init.go new file mode 100644 index 0000000..e7c4ef2 --- /dev/null +++ b/api/v2/init.go @@ -0,0 +1,8 @@ +package v2 + +import "github.com/gin-gonic/gin" + +func InitRouters(prefix string, e *gin.Engine) { + g := e.Group(prefix) + g.GET("", Greeting) +} \ No newline at end of file diff --git a/api/v2/mini.go b/api/v2/mini.go new file mode 100644 index 0000000..4604633 --- /dev/null +++ b/api/v2/mini.go @@ -0,0 +1,15 @@ +package v2 + +import ( + "log" + "github.com/gin-gonic/gin" +) + +func Greeting(c *gin.Context) { + value := c.Query("key") + + log.Println("value:", value) + c.JSON(200, gin.H{ + "message": "Chen" , + }) +} \ No newline at end of file diff --git a/main.go b/main.go index d7db939..417cbda 100644 --- a/main.go +++ b/main.go @@ -2,33 +2,19 @@ package main import ( "log" - "wx-backend-go/util" + v1 "wx-backend-go/api/v1" + v2 "wx-backend-go/api/v2" "github.com/gin-gonic/gin" ) -const Token = "aaa325" + func main() { router := gin.Default() - router.GET("/api/v1", WxCheckSignature) + v1.InitRouters("/api/v1", router) + v2.InitRouters("/api/v2", router) - log.Fatalln(router.Run(":8000")) + log.Fatalln(router.Run(":8008")) } -func WxCheckSignature(c *gin.Context) { - signature := c.Query("signature") - timestamp := c.Query("timestamp") - nonce := c.Query("nonce") - echostr := c.Query("echostr") - - ok := util.CheckSignature(signature, timestamp, nonce, Token) - if !ok { - log.Println("微信公众号接入校验失败!") - c.Writer.WriteString("微信公众号接入校验失败!") - return - } - - log.Println("微信公众号接入校验成功!") - _, _ = c.Writer.WriteString(echostr) -} \ No newline at end of file