代码拉取完成,页面将自动刷新
package Config
import (
"github.com/Peakchen/xcommon/akLog"
"encoding/json"
"io/ioutil"
)
/*
json parser for config load.
by stefan 20191108 v2.0
*/
var (
_JsonParseTool *TJsonParseTool
)
type TJsonParseTool struct {
}
func (this *TJsonParseTool) Parse(jsonName string, data interface{}) (err error) {
filedata, err := ioutil.ReadFile(jsonName)
if err != nil {
return
}
err = json.Unmarshal(filedata, data)
return
}
func NewJsonParseTool() *TJsonParseTool {
return &TJsonParseTool{}
}
func init() {
_JsonParseTool = NewJsonParseTool()
}
/*
purpose: parse json to related config module.
param 1: config module.
param 2: config read list.
param 3: file name.
*/
func ParseJson2Cache(obj ICommonConfig, data interface{}, filename string) {
if data == nil {
akLog.Error("config data is nil, filename: ", filename)
return
}
err := _JsonParseTool.Parse(filename, data)
if err != nil {
akLog.Error("[Parse json fail] err: ", err)
return
}
cfg := &TConfig{
data: data,
obj: obj,
}
errlist := cfg.Before()
if errlist != nil && len(errlist) > 0 {
for _, err := range errlist {
akLog.Error("[config Before] err: ", err)
}
return
}
errlist = cfg.After()
if errlist != nil && len(errlist) > 0 {
for _, err := range errlist {
akLog.Error("[config After] err: ", err)
}
return
}
return
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。