/** * @Author: jager * @Email: lhj168os@gmail.com * @File: main * @Date: 2021/12/20 2:24 下午 * @package: ss * @Version: v1.0.0 * * @Description: * */ package main import ( "github.com/gin-gonic/gin" "github.com/jageros/hawox/contextx" "github.com/jageros/hawox/httpx" "github.com/jageros/hawox/logx" "net/http" "stock/msg" "time" ) func main() { ctx, cancel := contextx.Default() defer cancel() logx.Init(logx.DebugLevel, logx.SetCaller(), logx.SetRequest()) defer logx.Sync() httpx.InitializeHttpServer(ctx, func(engine *gin.Engine) { r := engine.Group("/api") r.GET("/sayhello", func(c *gin.Context) { httpx.PkgMsgWrite(c, map[string]interface{}{"say": "hello world!"}) }) r.POST("/receive", func(c *gin.Context) { rMsg := &msg.RData{} err := c.BindXML(rMsg) if err != nil { logx.Error(err) } else { logx.Info(rMsg) } wMsg := &xml{ ToUserName: rMsg.FromUserName, FromUserName: rMsg.ToUserName, CreateTime: int(time.Now().Unix()), MsgType: "text", Content: "收到,谢谢!", } c.XML(http.StatusOK, wMsg) //c.XML(http.StatusOK, wMsg) //err = msg.Rcv(rMsg.FromUserName) //if err != nil { // logx.Error(err) //} //c.String(http.StatusOK, "success") }) r.GET("/receive", func(c *gin.Context) { echostr := c.Query("echostr") logx.Infof("=== %s ===", echostr) c.String(http.StatusOK, echostr) }) }, func(s *httpx.Server) { s.Mode = "debug" s.Port = 8567 }) err := ctx.Wait() logx.Infof("Stop With: %v", err) } type xml struct { ToUserName string `xml:"ToUserName"` FromUserName string `xml:"FromUserName"` CreateTime int `xml:"CreateTime"` MsgType string `xml:"MsgType"` Content string `xml:"Content"` }