package config import ( "log" "app.yhyue.com/moapp/jybase/mail" util "app.yhyue.com/moapp/jybase/common" mg "app.yhyue.com/moapp/jybase/mongodb" "app.yhyue.com/moapp/jybase/mysql" "app.yhyue.com/moapp/jybase/redis" ) type config struct { Webport string Webdomain string Mail *[]mailConf Mongodb struct { Main *mgoConf Log *mgoConf Ent *mgoConf } Elasticsearch struct { Main *esConf } Redis struct { Main *redisConf Login *redisConf } Mysql struct { Main *mysqlConf Push *mysqlConf } WorkerNum int JobNum int Modular map[string]interface{} UploadPath string CatchoutTimesMonth int64 AuthCost float64 TermValidity int } type mgoConf struct { Address string Size int DbName string UserName string Password string } type esConf struct { Address string Size int } type redisConf struct { Address string } type mysqlConf struct { DbName string Address string UserName string PassWord string MaxOpenConns int MaxIdleConns int } type mailConf struct { Addr string Port int Pwd string User string } var ( Sysconfig *config Mysql *mysql.Mysql MQFW mg.MongodbSim Mgo_Log mg.MongodbSim GmailAuth []*mail.GmailAuth ) func init() { util.ReadConfig(&Sysconfig) if Sysconfig != nil { //初始化redis if Sysconfig.Redis.Main != nil { log.Println("初始化 redis") redis.InitRedisBySize(Sysconfig.Redis.Main.Address, 100, 30, 300) } // if Sysconfig.Mongodb.Main != nil { log.Println("初始化 mongodb main") MQFW = mg.MongodbSim{ MongodbAddr: Sysconfig.Mongodb.Main.Address, Size: Sysconfig.Mongodb.Main.Size, DbName: Sysconfig.Mongodb.Main.DbName, } MQFW.InitPool() } if Sysconfig.Mongodb.Log != nil { log.Println("初始化 mongodb log") Mgo_Log = mg.MongodbSim{ MongodbAddr: Sysconfig.Mongodb.Log.Address, Size: Sysconfig.Mongodb.Log.Size, DbName: Sysconfig.Mongodb.Log.DbName, UserName: Sysconfig.Mongodb.Log.UserName, Password: Sysconfig.Mongodb.Log.Password, } Mgo_Log.InitPool() } if Sysconfig.Mysql.Main != nil { log.Println("初始化 mysql") Mysql = &mysql.Mysql{ Address: Sysconfig.Mysql.Main.Address, UserName: Sysconfig.Mysql.Main.UserName, PassWord: Sysconfig.Mysql.Main.PassWord, DBName: Sysconfig.Mysql.Main.DbName, MaxOpenConns: Sysconfig.Mysql.Main.MaxOpenConns, MaxIdleConns: Sysconfig.Mysql.Main.MaxIdleConns, } Mysql.Init() } // if Sysconfig.Mail != nil { log.Println("初始化 Mail") mailConfigArrMap := Sysconfig.Mail for _, v := range *mailConfigArrMap { mail := &mail.GmailAuth{ SmtpHost: v.Addr, SmtpPort: v.Port, User: v.User, Pwd: v.Pwd, } GmailAuth = append(GmailAuth, mail) } } } }