main.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package main
  2. import (
  3. _ "hongze/hongze_public_api/routers"
  4. "os"
  5. "github.com/beego/beego/v2/server/web"
  6. "github.com/kardianos/service"
  7. )
  8. var logger = service.ConsoleLogger
  9. type program struct{}
  10. func (p *program) Start(s service.Service) error {
  11. go p.run()
  12. return nil
  13. }
  14. func (p *program) run() {
  15. web.Run()
  16. // 运行逻辑
  17. }
  18. func (p *program) Stop(s service.Service) error {
  19. return nil
  20. }
  21. func main() {
  22. svcConfig := &service.Config{
  23. Name: "Trim", //服务显示名称
  24. DisplayName: "Trim Service", //服务名称
  25. Description: "微服务", //服务描述
  26. }
  27. prg := &program{}
  28. s, err := service.New(prg, svcConfig)
  29. if err != nil {
  30. logger.Error(err)
  31. }
  32. if err != nil {
  33. logger.Error(err)
  34. }
  35. if len(os.Args) > 1 {
  36. switch os.Args[1] {
  37. case "install":
  38. s.Install()
  39. logger.Info("服务安装成功!")
  40. s.Start()
  41. logger.Info("服务启动成功!")
  42. break
  43. case "start":
  44. s.Start()
  45. logger.Info("服务启动成功!")
  46. break
  47. case "stop":
  48. s.Stop()
  49. logger.Info("服务关闭成功!")
  50. break
  51. case "restart":
  52. s.Stop()
  53. logger.Info("服务关闭成功!")
  54. s.Start()
  55. logger.Info("服务启动成功!")
  56. break
  57. case "remove":
  58. s.Stop()
  59. logger.Info("服务关闭成功!")
  60. s.Uninstall()
  61. logger.Info("服务卸载成功!")
  62. break
  63. }
  64. return
  65. }
  66. err = s.Run()
  67. if err != nil {
  68. logger.Error(err)
  69. }
  70. if web.BConfig.RunMode == "dev" {
  71. web.BConfig.WebConfig.DirectoryIndex = true
  72. web.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
  73. }
  74. web.Run()
  75. }