代码拉取完成,页面将自动刷新
同步操作将从 qiqi/cfg 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package cfg
import (
"github.com/BurntSushi/toml"
"github.com/nacos-group/nacos-sdk-go/clients/config_client"
"github.com/nacos-group/nacos-sdk-go/vo"
"gopkg.in/yaml.v3"
"path/filepath"
"strings"
)
type NacosBase struct {
ConfigClient config_client.IConfigClient
GroupId string
DataId string
}
// NewNacosData get a cfg handler by toml string content
// nacos目前没有toml支持,暂时统一使用yaml格式
func NewNacos(baseInfo *NacosBase) *Handler {
if baseInfo == nil || baseInfo.ConfigClient == nil {
panic("not found nacos base config information")
}
if baseInfo.GroupId == "" || baseInfo.DataId == "" {
panic("not found nacos GroupId or DataId")
}
confFileType := strings.Trim(filepath.Ext(baseInfo.DataId), ".")
handler := Handler{ConfType: confFileType, Source: "nacos"}
content, err := baseInfo.ConfigClient.GetConfig(vo.ConfigParam{
DataId: baseInfo.DataId,
Group: baseInfo.GroupId})
if err != nil {
panic("nocos config content get error:" + err.Error())
}
switch confFileType {
case "toml":
if _, err := toml.Decode(content, &handler.confInfo); err != nil {
panic(err)
}
case "yml", "yaml":
if err := yaml.Unmarshal([]byte(content), &handler.confInfo); err != nil {
panic(err)
}
default:
panic("can not support this type config file:" + confFileType)
}
return &handler
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。