package main import ( // "fmt" // "os" // "runtime" "github.com/astaxie/beego" "github.com/beego/i18n" "dashoo.cn/base_common/business/auth" "dashoo.cn/qatoolsweb/controllers" "dashoo.cn/qatoolsweb/routers" "dashoo.cn/base_common/utils" "dashoo.cn/base_common/utils/redis" ) const ( APP_VER = "1.0.0" CFG_PATH = "conf/app.ini" ) // We have to call a initialize function manully // because we use `bee bale` to pack static resources // and we cannot make sure that which init() execute first. func initialize() { utils.LoadConfig(CFG_PATH) //增加静态目录 beego.SetStaticPath("/upload", "upload") // Set App version and log level. // beego.AppName = utils.Cfg.MustValue("beego", "app_name") // beego.RunMode = utils.Cfg.MustValue("beego", "run_mode") // beego.HttpPort = utils.Cfg.MustInt("beego", "http_port_"+beego.RunMode) // beego.CopyRequestBody = utils.Cfg.MustBool("beego", "copyrequestbody", true) beego.BConfig.Listen.HTTPPort = utils.Cfg.MustInt("beego", "httpport") //初始化Session beego.BConfig.WebConfig.Session.SessionOn = utils.Cfg.MustBool("session", "on", false) sessionProvider := utils.Cfg.MustValue("session", "provider", "memory") beego.BConfig.WebConfig.Session.SessionProvider = utils.Cfg.MustValue("session", sessionProvider, "memory") // if sessionProvider == "mysql" { // dbhost := utils.Cfg.MustValue("db", "host") // dbName := utils.Cfg.MustValue("db", "name") // dbUser := utils.Cfg.MustValue("db", "user") // dbPwd := utils.Cfg.MustValue("db", "pwd_"+runtime.GOOS) // dbConnStr := fmt.Sprintf("%v:%v@tcp(%v:3306)/%v?charset=utf8", // dbUser, dbPwd, dbhost, dbName) // beego.SessionSavePath = dbConnStr // } beego.BConfig.WebConfig.Session.SessionName = utils.Cfg.MustValue("session", "name", "dashoo") beego.BConfig.WebConfig.Session.SessionGCMaxLifetime = utils.Cfg.MustInt64("session", "maxlifetime", 3600) //beego.TemplateLeft = "<%" //beego.TemplateRight = "%>" // controllers.IsPro = beego.RunMode == "prod" // if controllers.IsPro { // beego.SetLevel(beego.LevelInformational) // os.Mkdir("./log", os.ModePerm) // beego.BeeLogger.SetLogger("file", `{"filename": "log/runlog.log"}`) // } else { // beego.SetLevel(beego.LevelError) // } // Initialize data. utils.InitDb() utils.InitCache() controllers.InitApp() //初始化登陆cookie名 auth.CookieRememberName = "dsqa_magic" auth.CookieUserName = "dsqa_powerful" auth.AuthUserId = "dsqa_uid" //初始化redis password := utils.Cfg.MustValue("redis", "password", "") redis.InitRedis(utils.Cfg.MustInt("redis", "poolnum", 5), utils.Cfg.MustValue("redis", "addr"), password) } func main() { initialize() // beego.Info(beego.AppName, APP_VER) // Register routers. routers.Init() // Register template functions. beego.AddFuncMap("i18n", i18n.Tr) // beego.AddFilter("*", "AfterStatic", filter.UserLoginFilter) beego.Run() }