main.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package main
  2. import (
  3. "github.com/flipped-aurora/gin-vue-admin/server/core"
  4. "github.com/flipped-aurora/gin-vue-admin/server/global"
  5. "github.com/flipped-aurora/gin-vue-admin/server/initialize"
  6. _ "go.uber.org/automaxprocs"
  7. "go.uber.org/zap"
  8. )
  9. //go:generate go env -w GO111MODULE=on
  10. //go:generate go env -w GOPROXY=https://goproxy.cn,direct
  11. //go:generate go mod tidy
  12. //go:generate go mod download
  13. // 这部分 @Tag 设置用于排序, 需要排序的接口请按照下面的格式添加
  14. // swag init 对 @Tag 只会从入口文件解析, 默认 main.go
  15. // 也可通过 --generalInfo flag 指定其他文件
  16. // @Tag.Name Base
  17. // @Tag.Name SysUser
  18. // @Tag.Description 用户
  19. // @title Gin-Vue-Admin Swagger API接口文档
  20. // @version v2.8.5
  21. // @description 使用gin+vue进行极速开发的全栈开发基础平台
  22. // @securityDefinitions.apikey ApiKeyAuth
  23. // @in header
  24. // @name x-token
  25. // @BasePath /
  26. func main() {
  27. // 初始化系统
  28. initializeSystem()
  29. // 运行服务器
  30. core.RunServer()
  31. }
  32. // initializeSystem 初始化系统所有组件
  33. // 提取为单独函数以便于系统重载时调用
  34. func initializeSystem() {
  35. global.GVA_VP = core.Viper() // 初始化Viper
  36. initialize.OtherInit()
  37. global.GVA_LOG = core.Zap() // 初始化zap日志库
  38. zap.ReplaceGlobals(global.GVA_LOG)
  39. global.GVA_DB = initialize.Gorm() // gorm连接数据库
  40. initialize.Timer()
  41. initialize.DBList()
  42. initialize.SetupHandlers() // 注册全局函数
  43. if global.GVA_DB != nil {
  44. initialize.RegisterTables() // 初始化表
  45. }
  46. }