App.go 837 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package core
  2. import (
  3. "fmt"
  4. "github.com/etlibgo/et"
  5. "github.com/gin-gonic/gin"
  6. )
  7. var sApp = struct {
  8. HttpServer *gin.Engine
  9. Running bool
  10. }{
  11. Running: false,
  12. }
  13. func AppInit(jsonCfg *et.ExJsonVal) {
  14. CfgInit(jsonCfg)
  15. sApp.HttpServer = gin.Default()
  16. }
  17. func AppGetHttpServer() *gin.Engine {
  18. return sApp.HttpServer
  19. }
  20. func AppStart() {
  21. if sApp.Running {
  22. return
  23. }
  24. sApp.Running = true
  25. sApp.HttpServer.GET("/ping", func(c *gin.Context) { // /ping是路由
  26. //输出json结果给调用方
  27. c.JSON(200, gin.H{
  28. "message": "pong",
  29. })
  30. })
  31. go sApp.HttpServer.Run(":8081") // 可以从本地的127.0.0.1:8081访问,不填的话,默认是8080端口
  32. fmt.Println("foot AppStart started")
  33. }
  34. func AppStop() {
  35. if !sApp.Running {
  36. return
  37. }
  38. sApp.Running = false
  39. }
  40. func AppIsRunning() bool {
  41. return sApp.Running
  42. }