main.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package main
  2. import (
  3. // "fmt"
  4. // "os"
  5. // "runtime"
  6. "github.com/astaxie/beego"
  7. "github.com/beego/i18n"
  8. "dashoo.cn/base_common/business/auth"
  9. "dashoo.cn/qatoolsweb/controllers"
  10. "dashoo.cn/qatoolsweb/routers"
  11. "dashoo.cn/base_common/utils"
  12. "dashoo.cn/base_common/utils/redis"
  13. )
  14. const (
  15. APP_VER = "1.0.0"
  16. CFG_PATH = "conf/app.ini"
  17. )
  18. // We have to call a initialize function manully
  19. // because we use `bee bale` to pack static resources
  20. // and we cannot make sure that which init() execute first.
  21. func initialize() {
  22. utils.LoadConfig(CFG_PATH)
  23. //增加静态目录
  24. beego.SetStaticPath("/upload", "upload")
  25. // Set App version and log level.
  26. // beego.AppName = utils.Cfg.MustValue("beego", "app_name")
  27. // beego.RunMode = utils.Cfg.MustValue("beego", "run_mode")
  28. // beego.HttpPort = utils.Cfg.MustInt("beego", "http_port_"+beego.RunMode)
  29. // beego.CopyRequestBody = utils.Cfg.MustBool("beego", "copyrequestbody", true)
  30. beego.BConfig.Listen.HTTPPort = utils.Cfg.MustInt("beego", "httpport")
  31. //初始化Session
  32. beego.BConfig.WebConfig.Session.SessionOn = utils.Cfg.MustBool("session", "on", false)
  33. sessionProvider := utils.Cfg.MustValue("session", "provider", "memory")
  34. beego.BConfig.WebConfig.Session.SessionProvider = utils.Cfg.MustValue("session", sessionProvider, "memory")
  35. // if sessionProvider == "mysql" {
  36. // dbhost := utils.Cfg.MustValue("db", "host")
  37. // dbName := utils.Cfg.MustValue("db", "name")
  38. // dbUser := utils.Cfg.MustValue("db", "user")
  39. // dbPwd := utils.Cfg.MustValue("db", "pwd_"+runtime.GOOS)
  40. // dbConnStr := fmt.Sprintf("%v:%v@tcp(%v:3306)/%v?charset=utf8",
  41. // dbUser, dbPwd, dbhost, dbName)
  42. // beego.SessionSavePath = dbConnStr
  43. // }
  44. beego.BConfig.WebConfig.Session.SessionName = utils.Cfg.MustValue("session", "name", "dashoo")
  45. beego.BConfig.WebConfig.Session.SessionGCMaxLifetime = utils.Cfg.MustInt64("session", "maxlifetime", 3600)
  46. //beego.TemplateLeft = "<%"
  47. //beego.TemplateRight = "%>"
  48. // controllers.IsPro = beego.RunMode == "prod"
  49. // if controllers.IsPro {
  50. // beego.SetLevel(beego.LevelInformational)
  51. // os.Mkdir("./log", os.ModePerm)
  52. // beego.BeeLogger.SetLogger("file", `{"filename": "log/runlog.log"}`)
  53. // } else {
  54. // beego.SetLevel(beego.LevelError)
  55. // }
  56. // Initialize data.
  57. utils.InitDb()
  58. utils.InitCache()
  59. controllers.InitApp()
  60. //初始化登陆cookie名
  61. auth.CookieRememberName = "dsqa_magic"
  62. auth.CookieUserName = "dsqa_powerful"
  63. auth.AuthUserId = "dsqa_uid"
  64. //初始化redis
  65. password := utils.Cfg.MustValue("redis", "password", "")
  66. redis.InitRedis(utils.Cfg.MustInt("redis", "poolnum", 5), utils.Cfg.MustValue("redis", "addr"), password)
  67. }
  68. func main() {
  69. initialize()
  70. // beego.Info(beego.AppName, APP_VER)
  71. // Register routers.
  72. routers.Init()
  73. // Register template functions.
  74. beego.AddFuncMap("i18n", i18n.Tr)
  75. // beego.AddFilter("*", "AfterStatic", filter.UserLoginFilter)
  76. beego.Run()
  77. }