update oss config
This commit is contained in:
parent
130bb26ebf
commit
6c4578b8aa
@ -14,12 +14,12 @@ BosBaseDir = "fonchain-main"
|
||||
BosHttp = "https://"
|
||||
BosDomain = "cdns.fontree.cn"
|
||||
[oss]
|
||||
AccessKeyId = "LTAI5tLz1fSK53FQAEC9uNSb"
|
||||
AccessKeySecret = "oGB9chrQzQzITXR2IGv37Ji5WxZh4j"
|
||||
Endpoint = "oss-cn-hangzhou.aliyuncs.com"
|
||||
BucketName = "fontree-test"
|
||||
BaseDir = "fonchain-main"
|
||||
CdnHost = "https://cdn-test.szjixun.cn"
|
||||
AccessKeyId = "${OSS_AK}"
|
||||
AccessKeySecret = "${OSS_SK}"
|
||||
Endpoint = "${OSS_ENDPOINTT}"
|
||||
BucketName = "${OSS_BUCKETNAME}"
|
||||
BaseDir = "fontree-fiee-test"
|
||||
CdnHost = "${OSS_CDN}"
|
||||
[redis]
|
||||
RedisDB = "2"
|
||||
RedisAddr = "127.0.0.1:6379"
|
||||
|
@ -15,12 +15,12 @@ BosBaseDir = "fiee"
|
||||
BosHttp = "https://"
|
||||
BosDomain = "cdns.fontree.cn"
|
||||
[oss]
|
||||
AccessKeyId = "LTAI5tLz1fSK53FQAEC9uNSb"
|
||||
AccessKeySecret = "oGB9chrQzQzITXR2IGv37Ji5WxZh4j"
|
||||
Endpoint = "oss-cn-hangzhou.aliyuncs.com"
|
||||
BucketName = "fontree-test"
|
||||
BaseDir = "fiee"
|
||||
CdnHost = "https://cdn-test.szjixun.cn"
|
||||
AccessKeyId = "${OSS_AK}"
|
||||
AccessKeySecret = "${OSS_SK}"
|
||||
Endpoint = "${OSS_ENDPOINTT}"
|
||||
BucketName = "${OSS_BUCKETNAME}"
|
||||
BaseDir = "fontree-fiee-test"
|
||||
CdnHost = "${OSS_CDN}"
|
||||
|
||||
[redis]
|
||||
RedisDB = "2"
|
||||
|
@ -26,12 +26,12 @@ TelNum = "18021272627"
|
||||
Password = "Gy.123456"
|
||||
|
||||
[oss]
|
||||
AccessKeyId = "LTAI5tHfjSmWXHqfWgaL7Uo5"
|
||||
AccessKeySecret = "kOPctFZ3DHsbdSSym1fLyDK39hkzPI"
|
||||
Endpoint = "oss-cn-hangzhou.aliyuncs.com"
|
||||
BucketName = "erp-k8s-store"
|
||||
BaseDir = "fiee"
|
||||
CdnHost = "https://e-cdn.fontree.cn"
|
||||
AccessKeyId = "${OSS_AK}"
|
||||
AccessKeySecret = "${OSS_SK}"
|
||||
Endpoint = "${OSS_ENDPOINTT}"
|
||||
BucketName = "${OSS_BUCKETNAME}"
|
||||
BaseDir = "fontree-fiee"
|
||||
CdnHost = "${OSS_CDN}"
|
||||
|
||||
[stripe]
|
||||
Webhookkey = "whsec_Mol32WD1KcKHUdYsSwap0LR03q2g9qNY"
|
||||
|
@ -15,20 +15,12 @@ BosBaseDir = "fiee"
|
||||
BosHttp = "https://"
|
||||
BosDomain = "cdns.fontree.cn"
|
||||
[oss]
|
||||
AccessKeyId = "LTAI5tLz1fSK53FQAEC9uNSb"
|
||||
AccessKeySecret = "oGB9chrQzQzITXR2IGv37Ji5WxZh4j"
|
||||
Endpoint = "oss-cn-hangzhou.aliyuncs.com"
|
||||
BucketName = "fontree-test"
|
||||
BaseDir = "fiee"
|
||||
CdnHost = "https://cdn-test.szjixun.cn"
|
||||
|
||||
[oss]
|
||||
AccessKeyId="LTAI5tLz1fSK53FQAEC9uNSb"
|
||||
AccessKeysecret ="oGB9chrQzQzITXR2IGv37Ji5WxZh4j"
|
||||
Endpoint = "oss-cn-hangzhou.aliyuncs.com"
|
||||
BucketName = "fontree-test"
|
||||
BaseDir = "fiee"
|
||||
CdnHost = "https://cdn-test.szjixun.cn"
|
||||
AccessKeyId = "${OSS_AK}"
|
||||
AccessKeySecret = "${OSS_SK}"
|
||||
Endpoint = "${OSS_ENDPOINTT}"
|
||||
BucketName = "${OSS_BUCKETNAME}"
|
||||
BaseDir = "fontree-fiee-test"
|
||||
CdnHost = "${OSS_CDN}"
|
||||
|
||||
[redis]
|
||||
RedisDB = "2"
|
||||
|
@ -4,9 +4,12 @@ import (
|
||||
"fmt"
|
||||
"fonchain-fiee/pkg/common"
|
||||
"github.com/spf13/viper"
|
||||
"go.uber.org/zap"
|
||||
"gopkg.in/ini.v1"
|
||||
"os"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -249,5 +252,63 @@ func Viper(iniConf string) (err error) {
|
||||
panic("viper.Unmarshal failed" + err.Error())
|
||||
return
|
||||
}
|
||||
traverseFields(reflect.ValueOf(*ConfigData), "", ConfigData)
|
||||
zap.L().Info("ConfigData", zap.Any("ConfigData", ConfigData))
|
||||
fmt.Printf("ConfigData--%+v", ConfigData)
|
||||
return
|
||||
}
|
||||
func traverseFields(value reflect.Value, prefix string, configPtr interface{}) {
|
||||
valueType := value.Type()
|
||||
prefixEnv := "${"
|
||||
suffixEnv := "}"
|
||||
// 遍历结构体的字段
|
||||
for i := 0; i < valueType.NumField(); i++ {
|
||||
field := valueType.Field(i)
|
||||
fieldValue := value.Field(i)
|
||||
// 拼接字段名(带有前缀)
|
||||
fieldName := prefix + field.Name
|
||||
// 判断字段的类型
|
||||
if fieldValue.Kind() == reflect.Struct {
|
||||
// 递归遍历嵌套结构体字段
|
||||
traverseFields(fieldValue, fieldName+".", configPtr)
|
||||
} else {
|
||||
// 获取字段的值
|
||||
fieldValueStr := fmt.Sprintf("%v", fieldValue.Interface())
|
||||
// 判断是不是需要通过环境变量获取
|
||||
if len(fieldValueStr) > 3 && strings.HasPrefix(fieldValueStr, prefixEnv) && strings.HasSuffix(fieldValueStr, suffixEnv) {
|
||||
end := len(fieldValueStr) - len(suffixEnv)
|
||||
var hasDefault bool
|
||||
if strings.Index(fieldValueStr, "|") > 0 {
|
||||
hasDefault = true
|
||||
end = strings.Index(fieldValueStr, "|")
|
||||
}
|
||||
envStr := fieldValueStr[len(prefixEnv):end]
|
||||
getValue := os.Getenv(envStr)
|
||||
if getValue == "" && hasDefault {
|
||||
getValue = fieldValueStr[end+1 : len(fieldValueStr)-len(suffixEnv)]
|
||||
}
|
||||
setSubFieldValue(configPtr, fieldName, getValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func setSubFieldValue(configPtr interface{}, fieldPath string, newValue interface{}) {
|
||||
value := reflect.ValueOf(configPtr).Elem()
|
||||
fields := strings.Split(fieldPath, ".")
|
||||
for _, field := range fields {
|
||||
value = value.FieldByName(field)
|
||||
if !value.IsValid() {
|
||||
return // 字段不存在,直接返回
|
||||
}
|
||||
if value.Kind() == reflect.Ptr {
|
||||
value = value.Elem() // 解引用指针类型的字段
|
||||
}
|
||||
}
|
||||
// 检查字段是否可设置
|
||||
if value.CanSet() {
|
||||
// 根据字段类型,将新值转换为对应类型并设置字段的值
|
||||
newValue := reflect.ValueOf(newValue).Convert(value.Type())
|
||||
value.Set(newValue)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user