config.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. package utils
  2. import (
  3. "fmt"
  4. beeLogger "github.com/beego/bee/v2/logger"
  5. "github.com/beego/beego/v2/server/web"
  6. "github.com/rdlucklib/rdluck_tools/cache"
  7. )
  8. var (
  9. RunMode string //运行模式
  10. MYSQL_URL string //数据库连接
  11. MYSQL_URL_RDDP string //报告库数据库连接
  12. REDIS_CACHE string //缓存地址
  13. Rc *cache.Cache //redis缓存
  14. Re error //redis错误
  15. )
  16. // 微信配置信息
  17. var (
  18. WxId string //微信原始ID
  19. WxAppId string
  20. WxAppSecret string
  21. //内部员工公众号(弘则部门)
  22. AdminWxAppId string
  23. AdminWxAppSecret string
  24. // WxAppList微信列表
  25. WxAppList map[string]string
  26. WxAppIdCygx string
  27. WxAppSecretCygx string
  28. // 小程序相关
  29. // WxCrmAppId 随手办公小程序
  30. WxCrmAppId string
  31. // WxCygxAppId 弘则研报小程序
  32. WxYbAppId string
  33. // WxCygxAppId 查研观向小程序
  34. WxCygxAppId string
  35. // 不知道这是啥,先配置上去吧
  36. WxCopyYbAppId string
  37. )
  38. // LibreOfficePath LibreOfficePath的地址
  39. var LibreOfficePath string
  40. // 基础配置
  41. var (
  42. SystemType string // 系统类型; hz:弘则;trial:试用平台;custom:客户
  43. APPNAME string //项目中文名称
  44. EmailSendToUsers string // 邮件提醒人员
  45. // Authorization 签名秘钥
  46. Authorization string
  47. // AlarmMsgUrl 报警服务地址
  48. AlarmMsgUrl string
  49. )
  50. // 后台用于传研报小程序二维码
  51. var (
  52. Bucketname string
  53. Endpoint string
  54. Imghost string
  55. UploadDir string
  56. AccessKeyId string
  57. AccessKeySecret string
  58. )
  59. // 日志配置
  60. var (
  61. LogPath string //调用过程中的日志存放地址
  62. LogFile string
  63. BinLogPath string
  64. BinLogFile string
  65. ApiLogPath string //接口请求地址和接口返回值日志存放地址
  66. ApiLogFile string
  67. )
  68. func init() {
  69. tmpRunMode, err := web.AppConfig.String("run_mode")
  70. if err != nil {
  71. panic("配置文件读取run_mode错误 " + err.Error())
  72. }
  73. RunMode = tmpRunMode
  74. if RunMode == "" {
  75. localIp, err := GetLocalIP()
  76. fmt.Println("localIp:", localIp)
  77. if localIp == "10.0.0.123" {
  78. RunMode = "debug"
  79. } else {
  80. RunMode = "release"
  81. }
  82. fmt.Println("RunMode:", RunMode)
  83. configPath := `/home/code/config/eta_pub/conf/app.conf`
  84. fmt.Println("configPath:", configPath)
  85. err = web.LoadAppConfig("ini", configPath)
  86. if err != nil {
  87. fmt.Println("web.LoadAppConfig Err:" + err.Error())
  88. }
  89. }
  90. config, err := web.AppConfig.GetSection(RunMode)
  91. if err != nil {
  92. panic("配置文件读取错误 " + err.Error())
  93. }
  94. MYSQL_URL = config["mysql_url"]
  95. MYSQL_URL_RDDP = config["mysql_url_rddp"]
  96. REDIS_CACHE = config["beego_cache"]
  97. if len(REDIS_CACHE) <= 0 {
  98. panic("redis链接参数没有配置")
  99. }
  100. Rc, Re = cache.NewCache(REDIS_CACHE) //初始化缓存
  101. if Re != nil {
  102. fmt.Println(Re)
  103. panic(Re)
  104. }
  105. tmpLibreOfficePath, err := web.AppConfig.String("libreOfficePath")
  106. if err != nil {
  107. panic("配置文件读取libreOfficePath错误 " + err.Error())
  108. }
  109. LibreOfficePath = tmpLibreOfficePath
  110. beeLogger.Log.Info(RunMode + " 模式")
  111. // 系统类型
  112. systemType, err := web.AppConfig.String("system_type")
  113. if err != nil {
  114. panic(any("配置文件读取system_type错误 " + err.Error()))
  115. }
  116. SystemType = systemType
  117. // 项目中文名称
  118. appNameCn, err := web.AppConfig.String("app_name_cn")
  119. if err != nil {
  120. panic(any("配置文件读取app_name_cn错误 " + err.Error()))
  121. }
  122. APPNAME = appNameCn
  123. // 初始化内部服务配置
  124. // 报警服务地址
  125. AlarmMsgUrl = config["alarm_msg_url"]
  126. // 签名秘钥
  127. Authorization = config["authorization"]
  128. // 邮件提醒人员
  129. EmailSendToUsers = config["email_send_to_users"]
  130. // 微信消息
  131. {
  132. WxAppId = config["wx_appid"]
  133. WxAppSecret = config["wx_app_secret"]
  134. WxId = config["wx_id"]
  135. //内部员工公众号(弘则部门)
  136. AdminWxAppId = config["admin_wx_appid"]
  137. AdminWxAppSecret = config["admin_wx_app_secret"]
  138. WxAppList = make(map[string]string)
  139. if AdminWxAppId != "" && AdminWxAppSecret != "" {
  140. WxAppList[AdminWxAppId] = AdminWxAppSecret
  141. }
  142. if WxAppId != "" && WxAppSecret != "" {
  143. WxAppList[WxAppId] = WxAppSecret
  144. }
  145. WxAppIdCygx = config["wx_cygx_appid"]
  146. WxAppSecretCygx = config["wx_cygx_app_secret"]
  147. // 小程序相关
  148. WxCrmAppId = config["wx_crm_miniprogram_appid"]
  149. // WxCygxAppId 弘则研报小程序
  150. WxYbAppId = config["wx_yb_miniprogram_appid"]
  151. // WxCygxAppId 查研观向小程序
  152. WxCygxAppId = config["wx_cygx_miniprogram_appid"]
  153. // WxCopyYbAppId 不知道这是啥,先配置上去吧
  154. WxCopyYbAppId = config["wx_copy_yb_miniprogram_appid"]
  155. }
  156. //日志配置
  157. {
  158. LogPath = config["log_path"]
  159. LogFile = config["log_file"]
  160. BinLogPath = config["binlog_path"]
  161. BinLogFile = config["binlog_file"]
  162. ApiLogPath = config["apilog_path"]
  163. ApiLogFile = config["apilog_file"]
  164. }
  165. // OSS相关
  166. {
  167. Endpoint = config["endpoint"]
  168. Bucketname = config["bucket_name"]
  169. Imghost = config["img_host"]
  170. UploadDir = config["upload_dir"]
  171. AccessKeyId = config["access_key_id"]
  172. AccessKeySecret = config["access_key_secret"]
  173. }
  174. }