main.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package main
  2. import (
  3. "os"
  4. "fmt"
  5. "gin-vue-admin/cmd"
  6. "gin-vue-admin/config"
  7. "gin-vue-admin/init/initRedis"
  8. "gin-vue-admin/init/initRouter"
  9. "gin-vue-admin/init/initlog/qmlog"
  10. "gin-vue-admin/init/qmsql"
  11. "gin-vue-admin/init/registTable"
  12. //"runtime"
  13. )
  14. // @title Swagger Example API
  15. // @version 0.0.1
  16. // @description This is a sample Server pets
  17. // @securityDefinitions.apikey ApiKeyAuth
  18. // @in header
  19. // @name x-token
  20. // @BasePath /
  21. var (
  22. mysqlHost = os.Getenv("MYSQLHOST")
  23. mysqlPort = os.Getenv("MYSQLPORT")
  24. )
  25. func main() {
  26. if err:= qmlog.NewLogger(); err != nil {
  27. fmt.Println(err)
  28. }
  29. // 可以通过环境变量来覆盖配置值
  30. // 未设定有效的环境变量时,使用配置值
  31. mysqlConfig := config.GinVueAdminconfig.MysqlAdmin
  32. if mysqlHost != "" && mysqlPort != "" {
  33. mysqlConfig.Path = mysqlHost + ":" + mysqlPort
  34. }
  35. // 链接初始化数据库
  36. db := qmsql.InitMysql(mysqlConfig) // 链接初始化数据库
  37. if config.GinVueAdminconfig.System.UseMultipoint {
  38. // 初始化redis服务
  39. _ = initRedis.InitRedis()
  40. }
  41. // 注册数据库表
  42. registTable.RegistTable(db)
  43. // 程序结束前关闭数据库链接
  44. defer qmsql.DEFAULTDB.Close()
  45. // 注册路由
  46. Router := initRouter.InitRouter()
  47. //Router.RunTLS(":443","ssl.pem", "ssl.key") // https支持 需要添加中间件
  48. //sysType := runtime.GOOS
  49. //
  50. //if sysType == "linux" {
  51. // // LINUX系统
  52. // // 借助endless开发无感知重启后台 以及前端接口重启后台功能
  53. //}
  54. //if sysType == "windows" {
  55. // WIN系统
  56. cmd.RunWindowsServer(Router)
  57. //}
  58. }