config.go 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. package utils
  2. import (
  3. "fmt"
  4. beeLogger "github.com/beego/bee/v2/logger"
  5. "github.com/beego/beego/v2/server/web"
  6. )
  7. // 数据库配置
  8. var (
  9. RunMode string // 运行模式
  10. MYSQL_URL_MASTER string // 数据库地址
  11. MYSQL_URL_RDDP string // 数据库地址
  12. REDIS_CACHE string //缓存地址
  13. Rc RedisClient //redis缓存
  14. PRCPool ClientPool //rpc连接池
  15. )
  16. var ObjectStorageClient string // 目前有oss minio,默认oss
  17. // 推送模版消息
  18. var (
  19. ETA_PUB_URL string
  20. ETA_PUB_TOKEN string
  21. )
  22. // 阿里云配置
  23. var (
  24. Bucketname string
  25. Endpoint string
  26. Imghost string
  27. UploadDir string
  28. AccessKeyId string
  29. AccessKeySecret string
  30. )
  31. // MinIo配置
  32. var (
  33. MinIoBucketname string
  34. MinIoEndpoint string
  35. MinIoFrontEndpoint string
  36. MinIoBackEndpoint string
  37. MinIoPdfhost string
  38. MinIoUploadDir string
  39. MinIoAccessKeyId string
  40. MinIoAccessKeySecret string
  41. MinIoUseSSL string
  42. MinIoPort string
  43. MinIoRegion string
  44. )
  45. // 阿里云oss前端上传用
  46. var (
  47. AliStsScheme string
  48. RegionId string
  49. RoleArn string
  50. RoleSessionName string
  51. RAMAccessKeyId string
  52. RAMAccessKeySecret string
  53. STSTokenCacheKey string
  54. )
  55. // 基础配置
  56. var (
  57. STATIC_DIR string
  58. RESOURCE_DIR string
  59. UPLOAD_PDF_SIZE string // 单位MB
  60. UPLOAD_IMG_SIZE string
  61. UPLOAD_AUDIO_SIZE string
  62. UPLOAD_VIDEO_SIZE string
  63. UPLOAD_MULTI_VIDEO_SIZE string
  64. )
  65. // ES配置
  66. var (
  67. ES_URL string // ES服务器地址
  68. ES_USERNAME string // ES账号
  69. ES_PASSWORD string // ES密码
  70. MEDIA_INDEX string
  71. )
  72. var (
  73. HT_WX_APP_SECRET string
  74. HT_WX_APPID string
  75. HT_MINI_APPID string
  76. TEMPLATE_ID_BY_PRODUCT string
  77. RESOURCE string
  78. )
  79. var (
  80. ENABLE_TASK string
  81. )
  82. // ES索引配置
  83. var (
  84. MINI_REPORT_INDEX_NAME string // 小程序的pdf报告索引
  85. )
  86. var (
  87. LogPath string //调用过程中的日志存放地址
  88. LogFile string
  89. ApiLogPath string // 接口请求地址和接口返回值日志存放地址
  90. ApiLogFile string
  91. BinLogPath string // 数据库相关的日志存放地址
  92. BinLogFile string
  93. LogMaxDays int // 日志最大保留天数
  94. )
  95. // 钢联一期地址
  96. var (
  97. HT_ADDRESS string
  98. ETA_ADDRESS string
  99. )
  100. // etahub 签名
  101. var (
  102. APP_ID string
  103. SECRET string
  104. )
  105. // SSO登录
  106. var (
  107. SSO_URL string
  108. )
  109. var DesKey string // 接口返回加密KEY
  110. func init() {
  111. tmpRunMode, err := web.AppConfig.String("run_mode")
  112. if err != nil {
  113. panic(any("配置文件读取run_mode错误 " + err.Error()))
  114. }
  115. RunMode = tmpRunMode
  116. fmt.Println("RunMode:", RunMode)
  117. if RunMode == "" {
  118. configPath := `/home/code/config/eta_mini_crm_ht/conf/app.conf`
  119. fmt.Println("configPath:", configPath)
  120. err = web.LoadAppConfig("ini", configPath)
  121. if err != nil {
  122. fmt.Println("web.LoadAppConfig Err:" + err.Error())
  123. }
  124. tmpRunMode, _ := web.AppConfig.String("run_mode")
  125. RunMode = tmpRunMode
  126. }
  127. config, err := web.AppConfig.GetSection(RunMode)
  128. if err != nil {
  129. panic(any("配置文件读取错误 " + err.Error()))
  130. }
  131. beeLogger.Log.Info(RunMode + " 模式")
  132. MYSQL_URL_RDDP = config["mysql_url_rddp"]
  133. MYSQL_URL_MASTER = config["mysql_url_master"]
  134. REDIS_CACHE = config["beego_cache"]
  135. if len(REDIS_CACHE) <= 0 {
  136. panic(any("redis链接参数没有配置"))
  137. }
  138. // 接口返回加密KEY
  139. DesKey = config["des_key"]
  140. // 对象存储客户端
  141. ObjectStorageClient = config["object_storage_client"]
  142. if ObjectStorageClient == "" {
  143. ObjectStorageClient = "oss"
  144. }
  145. // OSS相关
  146. {
  147. Endpoint = config["endpoint"]
  148. Bucketname = config["bucket_name"]
  149. Imghost = config["img_host"]
  150. UploadDir = config["upload_dir"]
  151. AccessKeyId = config["access_key_id"]
  152. AccessKeySecret = config["access_key_secret"]
  153. }
  154. // MinIo相关
  155. {
  156. MinIoEndpoint = config["minio_endpoint"]
  157. MinIoFrontEndpoint = config["minio_front_endpoint"]
  158. MinIoBackEndpoint = config["minio_back_endpoint"]
  159. MinIoBucketname = config["minio_bucket_name"]
  160. MinIoPdfhost = config["minio_pdf_host"]
  161. MinIoUploadDir = config["minio_upload_dir"]
  162. MinIoAccessKeyId = config["minio_access_key_id"]
  163. MinIoAccessKeySecret = config["minio_access_key_secret"]
  164. MinIoUseSSL = config["minio_use_ssl"]
  165. MinIoPort = config["minio_port"]
  166. MinIoRegion = config["minio_region"]
  167. }
  168. // OSS相关(前端使用)
  169. {
  170. AliStsScheme = config["ali_sts_scheme"]
  171. RegionId = config["region_id"]
  172. RoleArn = config["role_arn"]
  173. RoleSessionName = config["role_session_name"]
  174. RAMAccessKeyId = config["ram_access_key_id"]
  175. RAMAccessKeySecret = config["ram_access_key_secret"]
  176. STSTokenCacheKey = config["sts_token_cache_key"]
  177. }
  178. //推送模版消息
  179. {
  180. ETA_PUB_URL = config["eta_pub_url"]
  181. ETA_PUB_TOKEN = config["eta_pub_authorization"]
  182. }
  183. // ES配置
  184. {
  185. ES_URL = config["es_url"]
  186. ES_USERNAME = config["es_username"]
  187. ES_PASSWORD = config["es_password"]
  188. }
  189. {
  190. ENABLE_TASK = config["enable_task"]
  191. }
  192. // ES 索引
  193. {
  194. MINI_REPORT_INDEX_NAME = config["mini_report_index_name"]
  195. MEDIA_INDEX = config["media_index"]
  196. }
  197. {
  198. HT_WX_APPID = config["ht_wx_appid"]
  199. HT_WX_APP_SECRET = config["ht_wx_app_secret"]
  200. TEMPLATE_ID_BY_PRODUCT = config["template_id_by_product"]
  201. HT_MINI_APPID = config["ht_mini_appid"]
  202. RESOURCE = config["resource"]
  203. }
  204. {
  205. SSO_URL = config["sso_url"]
  206. }
  207. {
  208. HT_ADDRESS = config["ht_address"]
  209. ETA_ADDRESS = config["eta_address"]
  210. }
  211. {
  212. APP_ID = config["app_id"]
  213. SECRET = config["secret"]
  214. }
  215. // 初始化ES
  216. initEs()
  217. // 静态文件目录
  218. STATIC_DIR = config["static_dir"]
  219. if STATIC_DIR == "" {
  220. STATIC_DIR = "./static"
  221. }
  222. RESOURCE_DIR = config["resource_dir"]
  223. if RESOURCE_DIR == "" {
  224. RESOURCE_DIR = "ht/"
  225. }
  226. UPLOAD_PDF_SIZE = config["upload_pdf_size"]
  227. if UPLOAD_PDF_SIZE == "" {
  228. UPLOAD_PDF_SIZE = "15"
  229. }
  230. UPLOAD_IMG_SIZE = config["upload_img_size"]
  231. if UPLOAD_IMG_SIZE == "" {
  232. UPLOAD_IMG_SIZE = "200"
  233. }
  234. UPLOAD_AUDIO_SIZE = config["upload_audio_size"]
  235. if UPLOAD_AUDIO_SIZE == "" {
  236. UPLOAD_AUDIO_SIZE = "100"
  237. }
  238. UPLOAD_VIDEO_SIZE = config["upload_video_size"]
  239. if UPLOAD_VIDEO_SIZE == "" {
  240. UPLOAD_VIDEO_SIZE = "1000"
  241. }
  242. UPLOAD_MULTI_VIDEO_SIZE = config["upload_multi_video_size"]
  243. if UPLOAD_MULTI_VIDEO_SIZE == "" {
  244. UPLOAD_MULTI_VIDEO_SIZE = "1"
  245. }
  246. // 初始化缓存
  247. redisClient, err := initRedis(config["redis_type"], config["beego_cache"])
  248. if err != nil {
  249. fmt.Println("redis链接异常:", err)
  250. panic(any("redis链接参数没有配置"))
  251. }
  252. Rc = redisClient
  253. //MinioClient = DefaultClient()
  254. }