feat: 配置导出生成的 Go 代码支持获取所有线上配置的集合
This commit is contained in:
parent
afdda793bc
commit
68cb5f2516
|
@ -6,8 +6,8 @@
|
|||
},
|
||||
"Other": {
|
||||
"0": {
|
||||
"id": 1,
|
||||
"name": "张飞"
|
||||
"name": "张飞",
|
||||
"id": 1
|
||||
},
|
||||
"1": {
|
||||
"id": 2,
|
||||
|
|
|
@ -1,58 +1,58 @@
|
|||
{
|
||||
"1": {
|
||||
"b": {
|
||||
"Award": {
|
||||
"0": "asd",
|
||||
"1": "12"
|
||||
},
|
||||
"Other": {
|
||||
"0": {
|
||||
"name": "张飞",
|
||||
"id": 1
|
||||
},
|
||||
"1": {
|
||||
"name": "刘备",
|
||||
"id": 2
|
||||
}
|
||||
},
|
||||
"Id": 1,
|
||||
"Count": "b"
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"c": {
|
||||
"Count": "b",
|
||||
"Award": {
|
||||
"0": "asd",
|
||||
"1": "12"
|
||||
},
|
||||
"Other": {
|
||||
"0": {
|
||||
"name": "张飞",
|
||||
"id": 1
|
||||
},
|
||||
"1": {
|
||||
"id": 2,
|
||||
"name": "刘备"
|
||||
}
|
||||
},
|
||||
"Id": 2,
|
||||
"Count": "c"
|
||||
},
|
||||
"d": {
|
||||
"Id": 2,
|
||||
"Count": "d",
|
||||
"Award": {
|
||||
"1": "12",
|
||||
"0": "asd"
|
||||
},
|
||||
"Other": {
|
||||
"0": {
|
||||
"id": 1,
|
||||
"name": "张飞"
|
||||
},
|
||||
"1": {
|
||||
"name": "刘备",
|
||||
"id": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"c": {
|
||||
"Other": {
|
||||
"0": {
|
||||
"id": 1,
|
||||
"name": "张飞"
|
||||
},
|
||||
"1": {
|
||||
"name": "刘备",
|
||||
"id": 2
|
||||
}
|
||||
},
|
||||
"Id": 2,
|
||||
"Count": "c",
|
||||
"Award": {
|
||||
"0": "asd",
|
||||
"1": "12"
|
||||
}
|
||||
},
|
||||
"d": {
|
||||
"Id": 2,
|
||||
"Count": "d",
|
||||
"Award": {
|
||||
"0": "asd",
|
||||
"1": "12"
|
||||
},
|
||||
"Other": {
|
||||
"1": {
|
||||
"id": 2,
|
||||
"name": "刘备"
|
||||
},
|
||||
"0": {
|
||||
"id": 1,
|
||||
"name": "张飞"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ import (
|
|||
)
|
||||
|
||||
var json = jsonIter.ConfigCompatibleWithStandardLibrary
|
||||
var full map[string]any
|
||||
var (
|
||||
// IndexConfig 有索引
|
||||
IndexConfig map[int]map[string]*IndexConfigDefine
|
||||
|
@ -32,11 +33,16 @@ func LoadConfig(handle func(filename string, config any) error) {
|
|||
|
||||
}
|
||||
|
||||
// Refresh 将加载后的配置刷新到线上
|
||||
func Refresh() {
|
||||
full = make(map[string]any)
|
||||
IndexConfig = _IndexConfig
|
||||
full["IndexConfig"] = IndexConfig
|
||||
EasyConfig = _EasyConfig
|
||||
full["EasyConfig"] = EasyConfig
|
||||
}
|
||||
|
||||
// DefaultLoad 默认提供的配置加载函数
|
||||
func DefaultLoad(filepath string) {
|
||||
LoadConfig(func(filename string, config any) error {
|
||||
bytes, err := os.ReadFile(filepath)
|
||||
|
@ -47,3 +53,9 @@ func DefaultLoad(filepath string) {
|
|||
return json.Unmarshal(bytes, &config)
|
||||
})
|
||||
}
|
||||
|
||||
// GetFull 获取所有配置的 map 集合
|
||||
// - 通常用于前端配置通过后端接口获取的情况
|
||||
func GetFull() map[string]any {
|
||||
return full
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ import (
|
|||
)
|
||||
|
||||
var json = jsonIter.ConfigCompatibleWithStandardLibrary
|
||||
var full map[string]any
|
||||
|
||||
var (
|
||||
{{range $index, $config := .Configs}}
|
||||
|
@ -66,13 +67,16 @@ func LoadConfig(handle func(filename string, config any) error) {
|
|||
{{end}}
|
||||
}
|
||||
|
||||
// Refresh 将加载后的配置刷新到线上
|
||||
func Refresh() {
|
||||
full = make(map[string]any)
|
||||
{{range $index, $config := .Configs}}
|
||||
{{$config.Name}} = _{{$config.Name}}
|
||||
full["{{$config.Name}}"] = {{$config.Name}}
|
||||
{{end}}
|
||||
}
|
||||
|
||||
|
||||
// DefaultLoad 默认提供的配置加载函数
|
||||
func DefaultLoad(filepath string) {
|
||||
LoadConfig(func(filename string, config any) error {
|
||||
bytes, err := os.ReadFile(filepath)
|
||||
|
@ -82,6 +86,12 @@ func DefaultLoad(filepath string) {
|
|||
return json.Unmarshal(bytes, &config)
|
||||
})
|
||||
}
|
||||
|
||||
// GetFull 获取所有配置的 map 集合
|
||||
// - 通常用于前端配置通过后端接口获取的情况
|
||||
func GetFull() map[string]any {
|
||||
return full
|
||||
}
|
||||
`
|
||||
|
||||
GenerateGoDefineTemplate = `// Code generated by minotaur-config-export. DO NOT EDIT.
|
||||
|
|
Loading…
Reference in New Issue