package utils import ( "context" "encoding/json" "fmt" "strconv" beeLogger "github.com/beego/bee/v2/logger" "github.com/beego/beego/v2/server/web" "github.com/go-redis/redis/v8" ) // 数据库配置 var ( RunMode string MYSQL_URL_MASTER string MYSQL_URL_RDDP string MYSQL_URL string //数据库连接 REDIS_CACHE string //缓存地址 Redis *redis.Client //redis链接 ) // 日志配置 var ( LogPath string //调用过程中的日志存放地址 LogFile string ApiLogPath string // 接口请求地址和接口返回值日志存放地址 ApiLogFile string BinLogPath string // 数据库相关的日志存放地址 BinLogFile string LogMaxDays int // 日志最大保留天数 ) var ( SMS_TPLID string // 短信模板 ) var AlarmMsgUrl string // 报警地址 // 微信相关 var ( HZ_WX_APPID string HZ_WX_APP_SECRET string DW_WX_Id string //微信原始ID WX_APPID string WX_APP_SECRET string DW_WX_APPID string DW_WX_APP_SECRET string TEMPLATE_ID_BY_PRODUCT string ) // 桥接服务 var ( ETA_MINI_BRIDGE_URL string ETA_MINI_APPID string ETA_MINI_APP_SECRET string ) var DesKey string // 接口返回加密KEY func init() { tmpRunMode, err := web.AppConfig.String("run_mode") if err != nil { panic(any("配置文件读取run_mode错误 " + err.Error())) } RunMode = tmpRunMode fmt.Println("RunMode:", RunMode) if RunMode == "" { RunMode = "debug" configPath := `/home/code/config/eta_mini_api/conf/app.conf` fmt.Println("configPath:", configPath) err = web.LoadAppConfig("ini", configPath) if err != nil { fmt.Println("web.LoadAppConfig Err:" + err.Error()) } } config, err := web.AppConfig.GetSection(RunMode) if err != nil { panic(any("配置文件读取错误 " + err.Error())) } beeLogger.Log.Info(RunMode + " 模式") MYSQL_URL = config["mysql_url"] MYSQL_URL_RDDP = config["mysql_url_rddp"] MYSQL_URL_MASTER = config["mysql_url_master"] SMS_TPLID = config["sms_tplId"] DesKey = config["des_key"] WX_APPID = config["wx_appid"] WX_APP_SECRET = config["wx_app_secret"] TEMPLATE_ID_BY_PRODUCT = config["template_id_by_product"] DW_WX_Id = config["dw_wx_id"] DW_WX_APPID = config["dw_wx_appid"] DW_WX_APP_SECRET = config["dw_wx_app_secret"] ETA_MINI_BRIDGE_URL = config["eta_mini_bridge_url"] ETA_MINI_APPID = config["eta_mini_appid"] ETA_MINI_APP_SECRET = config["eta_mini_app_secret"] // HZ_WX_APPID = config["hz_wx_appid"] // HZ_WX_APP_SECRET = config["hz_wx_app_secret"] HZ_WX_APPID = "wx9b5d7291e581233a" HZ_WX_APP_SECRET = "f4d52e34021eee262dce9682b31f8861" AlarmMsgUrl = "http://127.0.0.1:8606/api/alarm/send" initRedis(config) } // initRedis 初始化redis配置 func initRedis(config map[string]string) { REDIS_CACHE = config["beego_cache"] if len(REDIS_CACHE) <= 0 { panic("redis链接参数没有配置") } var redisConf map[string]string err := json.Unmarshal([]byte(REDIS_CACHE), &redisConf) if err != nil { panic("redis 配置异常失败:" + err.Error()) } redisDb := 0 //默认使用redis的0库 if dbStr, ok := redisConf["db"]; ok { redisDb, err = strconv.Atoi(dbStr) if err != nil { panic("redis 操作db库配置异常,db:" + dbStr) } } client := redis.NewClient(&redis.Options{ Addr: redisConf["conn"], Password: redisConf["password"], DB: redisDb, //PoolSize: 10, //连接池最大socket连接数,默认为10倍CPU数, 10 * runtime.NumCPU(暂不配置) }) _, err = client.Ping(context.TODO()).Result() if err != nil { panic("redis 链接失败:" + err.Error()) } //全局赋值redis链接 Redis = client }