config.go 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. package utils
  2. import (
  3. "fmt"
  4. "github.com/beego/beego/v2/server/web"
  5. "strconv"
  6. )
  7. var (
  8. RunMode string //运行模式
  9. MYSQL_URL string //数据库连接
  10. MYSQL_URL_ETA string
  11. MYSQL_WEEKLY_URL string //CRM主库
  12. REDIS_CACHE string //缓存地址
  13. //Rc *cache.Cache //redis缓存
  14. Re error //redis错误
  15. Rc RedisClient //redis缓存
  16. )
  17. // 日志配置
  18. var (
  19. LogPath string //调用过程中的日志存放地址
  20. LogFile string
  21. BinLogPath string //数据库相关的日志存放地址
  22. BinLogFile string
  23. ApiLogPath string //接口请求地址和接口返回值日志存放地址
  24. ApiLogFile string
  25. LogMaxDays int //日志最大保留天数
  26. )
  27. // 系统配置
  28. var (
  29. DesKey string // 加密key
  30. EmailSendToUsers string // 邮件提醒人员
  31. BusinessCode string // 商户号
  32. )
  33. // 公共api内部服务调用
  34. var (
  35. // EtaPubUrl 模板消息推送
  36. EtaPubUrl string
  37. // EtaPubAuthorization 模板推送秘钥
  38. EtaPubAuthorization string
  39. // AlarmMsgUrl 报警服务地址
  40. AlarmMsgUrl string
  41. Report2ImgServerUrl string // 报告详情转图片服务地址
  42. )
  43. // 对象存储客户端
  44. var (
  45. ObjectStorageClient string // 目前有oss minio,默认oss
  46. )
  47. // 阿里云配置
  48. var (
  49. Bucketname string
  50. Endpoint string
  51. Imghost string
  52. UploadDir string
  53. Upload_Audio_Dir string
  54. AccessKeyId string
  55. AccessKeySecret string
  56. )
  57. // MinIo配置
  58. var (
  59. MinIoBucketname string
  60. MinIoEndpoint string
  61. MinIoImghost string
  62. MinIoUploadDir string
  63. MinIoUpload_Audio_Dir string
  64. MinIoAccessKeyId string
  65. MinIoAccessKeySecret string
  66. MinIoUseSSL string
  67. MinIoPort string
  68. MinIoRegion string
  69. )
  70. // S3配置
  71. var (
  72. S3Endpoint string
  73. S3BucketName string
  74. S3UploadDir string
  75. S3AccessKeyId string
  76. S3AccessKeySecret string
  77. S3Host string
  78. S3Region string
  79. S3ForceStyle string
  80. S3EndpointPort string
  81. S3Protocol string
  82. )
  83. func init() {
  84. tmpRunMode, err := web.AppConfig.String("run_mode")
  85. if err != nil {
  86. panic("配置文件读取run_mode错误 " + err.Error())
  87. }
  88. RunMode = tmpRunMode
  89. if RunMode == "" {
  90. localIp, err := GetLocalIP()
  91. fmt.Println("localIp:", localIp)
  92. if localIp == "10.0.0.123" {
  93. RunMode = "debug"
  94. } else {
  95. RunMode = "release"
  96. }
  97. fmt.Println("RunMode:", RunMode)
  98. configPath := `/home/code/config/eta_report/conf/app.conf`
  99. fmt.Println("configPath:", configPath)
  100. err = web.LoadAppConfig("ini", configPath)
  101. if err != nil {
  102. fmt.Println("web.LoadAppConfig Err:" + err.Error())
  103. }
  104. }
  105. config, err := web.AppConfig.GetSection(RunMode)
  106. if err != nil {
  107. panic("配置文件读取错误 " + err.Error())
  108. }
  109. fmt.Println(RunMode + " 模式")
  110. MYSQL_URL = config["mysql_url"]
  111. MYSQL_URL_ETA = config["mysql_url_eta"]
  112. MYSQL_WEEKLY_URL = config["mysql_url_weekly"]
  113. REDIS_CACHE = config["beego_cache"]
  114. if len(REDIS_CACHE) <= 0 {
  115. panic(any("redis链接参数没有配置"))
  116. }
  117. //Rc, Re = cache.NewCache(REDIS_CACHE) //初始化缓存
  118. //if Re != nil {
  119. // fmt.Println(Re)
  120. // panic(any(Re))
  121. //}
  122. // 初始化缓存
  123. redisClient, err := initRedis(config["redis_type"], config["beego_cache"])
  124. if err != nil {
  125. fmt.Println("redis链接异常:", err)
  126. panic(any(Re))
  127. }
  128. Rc = redisClient
  129. //日志配置
  130. {
  131. LogPath = config["log_path"]
  132. LogFile = config["log_file"]
  133. BinLogPath = config["binlog_path"]
  134. BinLogFile = config["binlog_file"]
  135. ApiLogPath = config["apilog_path"]
  136. ApiLogFile = config["apilog_file"]
  137. logMaxDaysStr := config["log_max_day"]
  138. LogMaxDays, _ = strconv.Atoi(logMaxDaysStr)
  139. }
  140. // 系统配置
  141. {
  142. // 接口返回加密KEY
  143. DesKey = config["des_key"]
  144. // 邮件提醒人员
  145. EmailSendToUsers = config["email_send_to_users"]
  146. // 商户号
  147. BusinessCode = config["business_code"]
  148. }
  149. // 系统内部服务地址
  150. {
  151. // 发送微信模板消息地址
  152. EtaPubUrl = config["eta_pub_url"]
  153. // 发送微信模板消息地址
  154. EtaPubAuthorization = config["eta_pub_authorization"]
  155. // 报警服务地址
  156. AlarmMsgUrl = config["alarm_msg_url"]
  157. // 报告详情转图片服务地址
  158. Report2ImgServerUrl = config["report2img_server_url"]
  159. }
  160. // 对象存储客户端
  161. ObjectStorageClient = config["object_storage_client"]
  162. // OSS相关
  163. {
  164. Endpoint = config["endpoint"]
  165. Bucketname = config["bucket_name"]
  166. Imghost = config["img_host"]
  167. UploadDir = config["upload_dir"]
  168. Upload_Audio_Dir = config["upload_audio_dir"]
  169. AccessKeyId = config["access_key_id"]
  170. AccessKeySecret = config["access_key_secret"]
  171. }
  172. // MinIo相关
  173. {
  174. MinIoEndpoint = config["minio_endpoint"]
  175. MinIoBucketname = config["minio_bucket_name"]
  176. MinIoImghost = config["minio_img_host"]
  177. MinIoUploadDir = config["minio_upload_dir"]
  178. MinIoUpload_Audio_Dir = config["minio_upload_audio_dir"]
  179. MinIoAccessKeyId = config["minio_access_key_id"]
  180. MinIoAccessKeySecret = config["minio_access_key_secret"]
  181. MinIoUseSSL = config["minio_use_ssl"]
  182. MinIoPort = config["minio_port"]
  183. MinIoRegion = config["minio_region"]
  184. }
  185. // S3-OSS相关
  186. {
  187. S3Endpoint = config["s3_endpoint"]
  188. S3BucketName = config["s3_bucket_name"]
  189. S3Host = config["s3_host"]
  190. S3AccessKeyId = config["s3_access_key_id"]
  191. S3AccessKeySecret = config["s3_access_key_secret"]
  192. S3UploadDir = config["s3_upload_dir"]
  193. S3Region = config["s3_region"]
  194. S3ForceStyle = config["s3_force_style"]
  195. S3EndpointPort = config["s3_endpoint_port"]
  196. S3Protocol = config["s3_protocol"]
  197. }
  198. }