config.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  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. func init() {
  60. tmpRunMode, err := web.AppConfig.String("run_mode")
  61. if err != nil {
  62. panic("配置文件读取run_mode错误 " + err.Error())
  63. }
  64. RunMode = tmpRunMode
  65. if RunMode == "" {
  66. localIp, err := GetLocalIP()
  67. fmt.Println("localIp:", localIp)
  68. if localIp == "10.0.0.123" {
  69. RunMode = "debug"
  70. } else {
  71. RunMode = "release"
  72. }
  73. fmt.Println("RunMode:", RunMode)
  74. configPath := `/home/code/config/eta_pub/conf/app.conf`
  75. fmt.Println("configPath:", configPath)
  76. err = web.LoadAppConfig("ini", configPath)
  77. if err != nil {
  78. fmt.Println("web.LoadAppConfig Err:" + err.Error())
  79. }
  80. }
  81. config, err := web.AppConfig.GetSection(RunMode)
  82. if err != nil {
  83. panic("配置文件读取错误 " + err.Error())
  84. }
  85. MYSQL_URL = config["mysql_url"]
  86. MYSQL_URL_RDDP = config["mysql_url_rddp"]
  87. REDIS_CACHE = config["beego_cache"]
  88. if len(REDIS_CACHE) <= 0 {
  89. panic("redis链接参数没有配置")
  90. }
  91. Rc, Re = cache.NewCache(REDIS_CACHE) //初始化缓存
  92. if Re != nil {
  93. fmt.Println(Re)
  94. panic(Re)
  95. }
  96. tmpLibreOfficePath, err := web.AppConfig.String("libreOfficePath")
  97. if err != nil {
  98. panic("配置文件读取libreOfficePath错误 " + err.Error())
  99. }
  100. LibreOfficePath = tmpLibreOfficePath
  101. beeLogger.Log.Info(RunMode + " 模式")
  102. // 系统类型
  103. systemType, err := web.AppConfig.String("system_type")
  104. if err != nil {
  105. panic(any("配置文件读取system_type错误 " + err.Error()))
  106. }
  107. SystemType = systemType
  108. // 项目中文名称
  109. appNameCn, err := web.AppConfig.String("app_name_cn")
  110. if err != nil {
  111. panic(any("配置文件读取app_name_cn错误 " + err.Error()))
  112. }
  113. APPNAME = appNameCn
  114. // 初始化内部服务配置
  115. // 报警服务地址
  116. AlarmMsgUrl = config["alarm_msg_url"]
  117. // 签名秘钥
  118. Authorization = config["authorization"]
  119. // 邮件提醒人员
  120. EmailSendToUsers = config["email_send_to_users"]
  121. // 微信消息
  122. {
  123. WxAppId = config["wx_appid"]
  124. WxAppSecret = config["wx_app_secret"]
  125. WxId = config["wx_id"]
  126. //内部员工公众号(弘则部门)
  127. AdminWxAppId = config["admin_wx_appid"]
  128. AdminWxAppSecret = config["admin_wx_app_secret"]
  129. WxAppList = make(map[string]string)
  130. if AdminWxAppId != "" && AdminWxAppSecret != "" {
  131. WxAppList[AdminWxAppId] = AdminWxAppSecret
  132. }
  133. if WxAppId != "" && WxAppSecret != "" {
  134. WxAppList[WxAppId] = WxAppSecret
  135. }
  136. WxAppIdCygx = config["wx_cygx_appid"]
  137. WxAppSecretCygx = config["wx_cygx_app_secret"]
  138. // 小程序相关
  139. WxCrmAppId = config["wx_crm_miniprogram_appid"]
  140. // WxCygxAppId 弘则研报小程序
  141. WxYbAppId = config["wx_yb_miniprogram_appid"]
  142. // WxCygxAppId 查研观向小程序
  143. WxCygxAppId = config["wx_cygx_miniprogram_appid"]
  144. // WxCopyYbAppId 不知道这是啥,先配置上去吧
  145. WxCopyYbAppId = config["wx_copy_yb_miniprogram_appid"]
  146. }
  147. // OSS相关
  148. {
  149. Endpoint = config["endpoint"]
  150. Bucketname = config["bucket_name"]
  151. Imghost = config["img_host"]
  152. UploadDir = config["upload_dir"]
  153. AccessKeyId = config["access_key_id"]
  154. AccessKeySecret = config["access_key_secret"]
  155. }
  156. }