123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- 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
- 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 (
- WX_MINI_APPID string
- WX_MINI_APP_SECRET string
- //WX_ORIGIN_ID string
- //WX_APPID string
- //WX_APP_SECRET string
- )
- var SmsApiUrl string // 金瑞短信API调用地址
- 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 == "" {
- 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())
- }
- tmpRunMode, _ := web.AppConfig.String("run_mode")
- RunMode = tmpRunMode
- }
- config, err := web.AppConfig.GetSection(RunMode)
- if err != nil {
- panic(any("配置文件读取错误 " + err.Error()))
- }
- beeLogger.Log.Info(RunMode + " 模式")
- MYSQL_URL_RDDP = config["mysql_url_rddp"]
- MYSQL_URL_MASTER = config["mysql_url_master"]
- SMS_TPLID = config["sms_tplId"]
- DesKey = config["des_key"]
- WX_MINI_APPID = config["wx_mini_appid"]
- WX_MINI_APP_SECRET = config["wx_mini_app_secret"]
- //WX_ORIGIN_ID = config["wx_origin_id"]
- //WX_APPID = config["wx_appid"]
- //WX_APP_SECRET = config["wx_app_secret"]
- SmsApiUrl = config["sms_api_url"]
- 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())
- }
- // 日志配置
- {
- LogPath = config["log_path"]
- LogFile = config["log_file"]
- BinLogPath = config["binlog_path"]
- BinLogFile = config["binlog_file"]
- ApiLogPath = config["apilog_path"]
- ApiLogFile = config["apilog_file"]
- logMaxDaysStr := config["log_max_day"]
- LogMaxDays, _ = strconv.Atoi(logMaxDaysStr)
- }
- //全局赋值redis链接
- Redis = client
- }
|