package utils import ( "fmt" beeLogger "github.com/beego/bee/v2/logger" "github.com/beego/beego/v2/server/web" "github.com/rdlucklib/rdluck_tools/cache" "strconv" ) var ( RunMode string //运行模式 MYSQL_URL string //数据库连接 MYSQL_URL_RDDP string //数据库连接 MYSQL_URL_EDB string MYSQL_URL_DATA string MYSQL_URL_GL string MYSQL_LOG_URL string MYSQL_URL_COMEIN_DATA string // 路演记录数据库 MYSQL_URL_ETA string REDIS_CACHE string //缓存地址 Rc *cache.Cache //redis缓存 Re error //redis错误 ) // SystemType 系统类型; hz:弘则;trial:试用平台;custom:客户 var SystemType string // 基础配置 var ( STATIC_DIR string DesKey string // 接口返回加密KEY APPNAME string //项目中文名称 EmailSendToUsers string // 邮件提醒人员 // LibreOfficePath LibreOfficePath的地址 LibreOfficePath string ) // 公共api内部服务调用 var ( // EDB_LIB_URL 公共指标库 EDB_LIB_URL string APP_EDB_LIB_NAME_EN string EDB_LIB_Md5_KEY string // PublicChartHost 公共图库的host PublicChartHost string // SendWxTemplateMsgUrl 模板消息推送 SendWxTemplateMsgUrl string // SendTemplateMsgAuthorization 模板推送秘钥 SendTemplateMsgAuthorization string // HandleVideoDecibelUrl 处理音频分贝的url HandleVideoDecibelUrl string // Ppt2ImageUrl ppt转图片服务的地址 Ppt2ImageUrl string // EnglishShareUrl 英文研报群发邮件分享地址 EnglishShareUrl string // AlarmMsgUrl 报警服务地址 AlarmMsgUrl string ) // TemplateIdByProduct 微信配置信息 var ( TemplateIdByProduct string //产品运行报告通知-模板ID WxYbAppId string // 研报小程序appid WxYbId string // 研报小程序微信原始ID WxYbAppSecret string // 研报小程序秘钥 WxYbPlatform int //弘则研报来源 ) // ES配置 var ( ES_URL string // ES服务器地址 ES_USERNAME string // ES账号 ES_PASSWORD string // ES密码 ) // ES索引配置 var ( DATA_INDEX_NAME string //数据指标库索引 CHART_INDEX_NAME string //研究图库索引 EsReportIndexName string //研报ES索引 EsEnglishReportIndexName string //英文研报ES索引 MY_CHART_INDEX_NAME string //研究图库(MY ETA)索引 ) // 阿里云配置 var ( Bucketname string Endpoint string Imghost string UploadDir string Upload_Audio_Dir string AccessKeyId string AccessKeySecret string ) // 阿里云oss前端上传用 var ( AliStsScheme string RegionId string RoleArn string RoleSessionName string RAMAccessKeyId string RAMAccessKeySecret string STSTokenCacheKey string ) // 科大讯飞--语音合成 var ( XfSTATUS_FIRST_FRAME = 0 //第一帧标识 XfSTATUS_CONTINUE_FRAME = 1 //中间帧标识 XfSTATUS_LAST_FRAME = 2 //最后一帧标识 XfHost = "tts-api.xfyun.cn" XfMaxFontSize = 8000 XfAPPID string XfAPIKey string XfAPISecret string XfHostUrl string XfOrigin string XfVcn string //发言人 ) // 阿里云邮箱配置 var ( AliyunEmailAccountName string AliyunEmailAccessKeyId string AliyunEmailAccessKeySecret string AliyunEmailReplyAddress string AliyunEmailReplyAddressAlias string ) // 腾讯云邮箱配置 var ( TencentSDKSecretId string // 腾讯云主账号SecretId TencentSDKSecretKey string // 腾讯云主账号SecretKey TencentEmailFromEmailAddress string // 腾讯云邮件发信地址 TencentEmailTemplateID uint64 // 云邮件模板ID ) func init() { tmpRunMode, err := web.AppConfig.String("run_mode") if err != nil { panic("配置文件读取run_mode错误 " + err.Error()) } RunMode = tmpRunMode fmt.Println("RunMode:", RunMode) if RunMode == "" { localIp, err := GetLocalIP() fmt.Println("localIp:", localIp) if localIp == "10.0.0.123" { RunMode = "debug" } else { RunMode = "release" } fmt.Println("RunMode:", RunMode) configPath := `/home/code/config/eta_mobile/conf/app.conf` fmt.Println("configPath:", configPath) err = web.LoadAppConfig("ini", configPath) if err != nil { fmt.Println("web.LoadAppConfig Err:" + err.Error()) } } config, err := web.AppConfig.GetSection(RunMode) if err != nil { panic("配置文件读取错误 " + err.Error()) } beeLogger.Log.Info(RunMode + " 模式") MYSQL_URL = config["mysql_url"] MYSQL_URL_RDDP = config["mysql_url_rddp"] MYSQL_URL_EDB = config["mysql_url_edb"] MYSQL_URL_DATA = config["mysql_url_data"] MYSQL_URL_GL = config["mysql_url_gl"] MYSQL_LOG_URL = config["mysql_url_log"] MYSQL_URL_COMEIN_DATA = config["mysql_url_comein_data"] MYSQL_URL_ETA = config["mysql_url_eta"] REDIS_CACHE = config["beego_cache"] if len(REDIS_CACHE) <= 0 { panic("redis链接参数没有配置") } Rc, Re = cache.NewCache(REDIS_CACHE) //初始化缓存 if Re != nil { fmt.Println(Re) panic(Re) } // 系统类型 systemType, err := web.AppConfig.String("system_type") if err != nil { panic(any("配置文件读取system_type错误 " + err.Error())) } SystemType = systemType // 项目中文名称 appNameCn, err := web.AppConfig.String("app_name_cn") if err != nil { panic(any("配置文件读取app_name_cn错误 " + err.Error())) } APPNAME = appNameCn // 初始化内部服务配置 // 接口返回加密KEY DesKey = config["des_key"] // 服务基本配置 { // 邮件提醒人员 EmailSendToUsers = config["email_send_to_users"] // 静态文件目录 STATIC_DIR = config["static_dir"] } // 系统内部服务地址 { // 公共指标库相关 EDB_LIB_URL = config["edb_lib_url"] APP_EDB_LIB_NAME_EN = config["app_edb_lib_name_en"] EDB_LIB_Md5_KEY = config["edb_lib_md5_key"] // 图表项目域名 PublicChartHost = config["public_chart_host"] // 发送微信模板消息地址 SendWxTemplateMsgUrl = config["send_wx_template_msg_url"] // 发送微信模板消息地址 SendTemplateMsgAuthorization = config["send_template_msg_authorization"] // 语音分贝处理的地址 HandleVideoDecibelUrl = config["handle_video_decibel_url"] // 英文研报分享的地址 EnglishShareUrl = config["english_share_url"] // 报警服务地址 AlarmMsgUrl = config["alarm_msg_url"] // ppt 转图片服务地址 Ppt2ImageUrl = config["ppt2_image_url"] } // ES配置 { ES_URL = config["es_url"] ES_USERNAME = config["es_username"] ES_PASSWORD = config["es_password"] } // ES 索引 { DATA_INDEX_NAME = config["data_index_name"] CHART_INDEX_NAME = config["chart_index_name"] MY_CHART_INDEX_NAME = config["my_chart_index_name"] EsReportIndexName = config["es_report_index_name"] EsEnglishReportIndexName = config["es_english_report_index_name"] } // 微信相关 { //模板消息 TemplateIdByProduct = config["template_id_by_product"] WxYbAppId = config["wx_yb_appid"] //弘则研报小程序 WxYbId = config["wx_yb_id"] // 研报小程序微信原始ID WxYbAppSecret = config["wx_yb_app_secret"] // 研报小程序秘钥 wxYbPlatformStr := config["wx_yb_platform"] if wxYbPlatformStr != `` { WxYbPlatform, err = strconv.Atoi(wxYbPlatformStr) //弘则研报来源 if err != nil { panic(any("配置文件读取wx_yb_platform错误 " + err.Error())) } } } // OSS相关 { Endpoint = config["endpoint"] Bucketname = config["bucket_name"] Imghost = config["img_host"] UploadDir = config["upload_dir"] Upload_Audio_Dir = config["upload_audio_dir"] AccessKeyId = config["access_key_id"] AccessKeySecret = config["access_key_secret"] } // OSS相关(前端使用) { AliStsScheme = config["ali_sts_scheme"] RegionId = config["region_id"] RoleArn = config["role_arn"] RoleSessionName = config["role_session_name"] RAMAccessKeyId = config["ram_access_key_id"] RAMAccessKeySecret = config["ram_access_key_secret"] STSTokenCacheKey = config["sts_token_cache_key"] } // 阿里云邮箱配置 { AliyunEmailAccountName = config["aliyun_email_account_name"] AliyunEmailAccessKeyId = config["aliyun_email_access_key_id"] AliyunEmailAccessKeySecret = config["aliyun_email_access_key_secret"] AliyunEmailReplyAddress = config["aliyun_email_reply_address"] AliyunEmailReplyAddressAlias = config["aliyun_email_reply_address_alias"] } // 腾讯云邮箱配置 { TencentSDKSecretId = config["tencent_sdk_secret_id"] // 腾讯云主账号SecretId TencentSDKSecretKey = config["tencent_sdk_secret_key"] // 腾讯云主账号SecretKey TencentEmailFromEmailAddress = config["tencent_email_from_email_address"] // 腾讯云邮件发信地址 tencentEmailTemplateIDtr := config["tencent_email_template_id"] if tencentEmailTemplateIDtr != `` { tmpTencentEmailTemplateID, err := strconv.Atoi(tencentEmailTemplateIDtr) //弘则研报来源 if err != nil { panic(any("配置文件读取tencent_email_template_id错误 " + err.Error())) } TencentEmailTemplateID = uint64(tmpTencentEmailTemplateID) } } // 科大讯飞 { XfAPPID = config["xf_appid"] XfAPIKey = config["xf_api_key"] XfAPISecret = config["xf_api_secret"] XfHostUrl = config["xf_host_url"] XfOrigin = config["xf_origin"] XfVcn = config["xf_vcn"] } LibreOfficePath = config["libre_office_path"] // 初始化ES initEs() }