config.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. package utils
  2. import (
  3. "fmt"
  4. beeLogger "github.com/beego/bee/v2/logger"
  5. "github.com/beego/beego/v2/server/web"
  6. "go.mongodb.org/mongo-driver/mongo"
  7. "strconv"
  8. )
  9. var (
  10. RunMode string //运行模式
  11. APP_NAME_CN string
  12. MYSQL_URL string //数据库连接
  13. MYSQL_URL_WEEKLY_TRIAL string //eta试用数据库
  14. MYSQL_URL_EDB_TRIAL string
  15. MYSQL_URL_HZ_DATA_TRIAL string //
  16. /*MONGODB_URL string //mongodb连接
  17. MONGODB_COMMUNITY string //mongodb库名
  18. MONGODB_CREDENTIAL string*/
  19. Re error //redis错误
  20. Rc RedisClient //redis缓存
  21. MgoUrlData string // mongodb数据库连接配置
  22. MgoDataCli *mongo.Client // mongodb客户端连接
  23. MgoDataDbName string // mongodb指标数据的库名
  24. )
  25. var (
  26. // APP_NAME_EN 项目英文名称
  27. APP_NAME_EN string
  28. // Md5Key 签名秘钥
  29. Md5Key string
  30. )
  31. // ES配置
  32. var (
  33. ES_URL string // ES服务器地址
  34. ES_USERNAME string // ES账号
  35. ES_PASSWORD string // ES密码
  36. )
  37. // ES索引配置
  38. var (
  39. DATA_INDEX_NAME string //数据指标库索引
  40. CHART_INDEX_NAME string //研究图库索引
  41. CHART_COLLECT_INDEX_NAME string
  42. )
  43. // 弘则
  44. const (
  45. APPID = "SJCrpOPvagscPxEv"
  46. SECRET = "gLLjT72uFHQZEFtaFCuoZegD1z2ezfyX"
  47. )
  48. // 日志配置
  49. var (
  50. LogPath string //调用过程中的日志存放地址
  51. LogFile string
  52. LogDataPath string //调用过程中图表相关的日志存放地址
  53. LogDataFile string
  54. BinLogPath string //数据库相关的日志存放地址
  55. BinLogFile string
  56. ApiLogPath string //接口请求地址和接口返回值日志存放地址
  57. ApiLogFile string
  58. LogMaxDays int //日志最大保留天数
  59. )
  60. // AlarmMsgUrl 报警服务地址
  61. var AlarmMsgUrl string
  62. func init() {
  63. tmpRunMode, err := web.AppConfig.String("run_mode")
  64. if err != nil {
  65. panic("配置文件读取run_mode错误 " + err.Error())
  66. }
  67. RunMode = tmpRunMode
  68. fmt.Println("RunMode:", RunMode)
  69. if RunMode == "" {
  70. localIp, err := GetLocalIP()
  71. fmt.Println("localIp:", localIp)
  72. if localIp == "10.0.0.123" {
  73. RunMode = "debug"
  74. } else {
  75. RunMode = "release"
  76. }
  77. fmt.Println("RunMode:", RunMode)
  78. configPath := `/home/code/config/eta_forum_hub/conf/app.conf`
  79. fmt.Println("configPath:", configPath)
  80. err = web.LoadAppConfig("ini", configPath)
  81. if err != nil {
  82. fmt.Println("web.LoadAppConfig Err:" + err.Error())
  83. }
  84. }
  85. config, err := web.AppConfig.GetSection(RunMode)
  86. if err != nil {
  87. panic("配置文件读取错误 " + err.Error())
  88. }
  89. beeLogger.Log.Info(RunMode + " 模式")
  90. // 项目中文名称
  91. appNameCn, err := web.AppConfig.String("app_name_cn")
  92. if err != nil {
  93. panic(any("配置文件读取app_name_cn错误 " + err.Error()))
  94. }
  95. APP_NAME_CN = appNameCn
  96. // 项目英文文名称
  97. APP_NAME_EN = config["app_name_en"]
  98. // 签名秘钥
  99. Md5Key = config["md5_key"]
  100. MYSQL_URL = config["mysql_url"]
  101. MYSQL_URL_WEEKLY_TRIAL = config["mysql_url_weekly_trial"]
  102. MYSQL_URL_EDB_TRIAL = config["mysql_url_edb_trial"]
  103. MYSQL_URL_HZ_DATA_TRIAL = config["mysql_url_hz_data_trial"]
  104. // mongodb数据库连接配置
  105. MgoUrlData = config["mgo_url_data"]
  106. //日志配置
  107. {
  108. LogPath = config["log_path"]
  109. LogFile = config["log_file"]
  110. LogDataPath = config["log_data_path"]
  111. LogDataFile = config["log_data_file"]
  112. BinLogPath = config["binlog_path"]
  113. BinLogFile = config["binlog_file"]
  114. ApiLogPath = config["apilog_path"]
  115. ApiLogFile = config["apilog_file"]
  116. logMaxDaysStr := config["log_max_day"]
  117. LogMaxDays, _ = strconv.Atoi(logMaxDaysStr)
  118. }
  119. {
  120. // 报警服务地址
  121. AlarmMsgUrl = config["alarm_msg_url"]
  122. }
  123. // 初始化缓存
  124. redisClient, err := initRedis(config["redis_type"], config["beego_cache"])
  125. if err != nil {
  126. fmt.Println("redis链接异常:", err)
  127. panic(any(Re))
  128. }
  129. Rc = redisClient
  130. // ES配置
  131. {
  132. ES_URL = config["es_url"]
  133. ES_USERNAME = config["es_username"]
  134. ES_PASSWORD = config["es_password"]
  135. }
  136. // 初始化ES
  137. initEs()
  138. // ES 索引
  139. {
  140. DATA_INDEX_NAME = config["data_index_name"]
  141. CHART_INDEX_NAME = config["chart_index_name"]
  142. CHART_COLLECT_INDEX_NAME = config["chart_collect_index_name"]
  143. }
  144. }
  145. //修改接口文档
  146. //http://8.136.199.33:8300/swagger/