123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- 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)
- }
- }
- }
- }
|