mh_server/config/config.go
chenlin c30fd5713d (1)ip改成读取配置文件;
(2)短期会员金额改成测试金额;
(3)员工邀请码地址修改,改成demo服务器地址;
(4)修改Makefile文件,添加demo编辑指令;
(5)添加demo配置文件,修改dev配置文件;
(6)修改AppAccessToken,读取配置信息,不再硬编码;
2024-01-22 11:37:47 +08:00

158 lines
4.1 KiB
Go

package config
import (
"errors"
"fmt"
"github.com/fsnotify/fsnotify"
"github.com/spf13/viper"
)
type config struct {
Env string
ServerPort int
ServerClientIp string
JwtUserAccessKey string
JwtUserRefreshKey string
JwtUserAccessExpire int64
JwtUserRefreshExpire int64
JwtAdminAccessKey string
JwtAdminRefreshKey string
JwtAdminAccessExpire int64
JwtAdminRefreshExpire int64
LogPath string
LogFile string
LogLevel int
DBDriver string
DBHost string
DBPort int
DBUser string
DBPassword string
DBName string
WxAppId string
WxAppSecret string
WxMchID string
WxMchSecret string
WxCertFile string
WxKeyFile string
WxRootCaFile string
ApplicationAppId string
ApplicationAppSecret string
ApplicationMchID string
ApplicationMchSecret string
WxPayCallBackUrl string
AliPayCallBackUrl string
SmsAccessKeyID string
SmsAccessKeySecret string
SmsSignName string
SmsTemplateCode string
RedisHost string
RedisPort int
RedisPassword string
RedisDB int
XianMaiBaseUrl string
}
var AppConfig config
func Init() {
viper.AutomaticEnv()
viper.SetDefault("ENV", "dev")
viper.SetDefault("CONFIG_PATH", "./configs")
viper.SetDefault("CONFIG_FILE_NAME", "server")
configPath := viper.GetString("CONFIG_PATH")
configFile := viper.GetString("CONFIG_FILE_NAME")
env := viper.GetString("ENV")
viper.AddConfigPath(fmt.Sprintf("%s/%s", configPath, env))
viper.SetConfigName(configFile)
viper.SetConfigType("json")
initConfig()
viper.WatchConfig()
viper.OnConfigChange(func(e fsnotify.Event) {
initConfig()
})
}
func initConfig() {
fmt.Println("initConfig....")
err := viper.ReadInConfig()
if err != nil {
panic(errors.New(fmt.Sprintf("Fatal error configs file: %s \n", err)))
}
AppConfig = config{
Env: viper.GetString("ENV"),
ServerPort: viper.GetInt("server.port"),
ServerClientIp: viper.GetString("server.client_ip"),
JwtUserAccessKey: viper.GetString("jwt.user.access_key"),
JwtUserRefreshKey: viper.GetString("jwt.user.refresh_key"),
JwtUserAccessExpire: viper.GetInt64("jwt.user.access_expire"),
JwtUserRefreshExpire: viper.GetInt64("jwt.user.refresh_expire"),
JwtAdminAccessKey: viper.GetString("jwt.admin.access_key"),
JwtAdminRefreshKey: viper.GetString("jwt.admin.refresh_key"),
JwtAdminAccessExpire: viper.GetInt64("jwt.admin.access_expire"),
JwtAdminRefreshExpire: viper.GetInt64("jwt.admin.refresh_expire"),
LogPath: viper.GetString("log.path"),
LogFile: viper.GetString("log.file"),
LogLevel: viper.GetInt("log.level"),
DBDriver: viper.GetString("db.driver"),
DBHost: viper.GetString("db.host"),
DBPort: viper.GetInt("db.port"),
DBUser: viper.GetString("db.user"),
DBPassword: viper.GetString("db.password"),
DBName: viper.GetString("db.db_name"),
WxAppId: viper.GetString("wx.app_id"),
WxAppSecret: viper.GetString("wx.app_secret"),
WxMchID: viper.GetString("wx.app_mchId"),
WxMchSecret: viper.GetString("wx.app_mchSecret"),
WxCertFile: viper.GetString("wx_pay.cert_file"),
WxKeyFile: viper.GetString("wx_pay.key_file"),
WxRootCaFile: viper.GetString("wx_pay.root_ca_file"),
WxPayCallBackUrl: viper.GetString("wx_pay.callback_url"),
AliPayCallBackUrl: viper.GetString("ali_pay.callback_url"),
ApplicationAppId: viper.GetString("app.app_id"),
ApplicationAppSecret: viper.GetString("app.app_secret"),
ApplicationMchID: viper.GetString("app.app_mchId"),
ApplicationMchSecret: viper.GetString("app.app_mchSecret"),
SmsAccessKeyID: viper.GetString("sms.access_key_id"),
SmsAccessKeySecret: viper.GetString("sms.access_key_secret"),
SmsSignName: viper.GetString("sms.sign_name"),
SmsTemplateCode: viper.GetString("sms.template_code"),
RedisHost: viper.GetString("redis.host"),
RedisPort: viper.GetInt("redis.port"),
RedisPassword: viper.GetString("redis.password"),
RedisDB: viper.GetInt("redis.db"),
XianMaiBaseUrl: viper.GetString("xianmai_base_url"),
}
fmt.Printf("%+v", AppConfig)
}