1 Star 0 Fork 0

ichub / goconfig

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
ichub_config_ini.go 2.08 KB
一键复制 编辑 原始数据 按行查看 历史
leijmdas 提交于 2024-04-28 13:29 . add
package ichubconfig
import (
"fmt"
"gitee.com/ichub/goconfig/common/base/basedto"
"gitee.com/ichub/goconfig/common/base/baseutils"
"gitee.com/ichub/goconfig/common/base/baseutils/fileutils"
"github.com/sirupsen/logrus"
"gopkg.in/ini.v1"
)
const general = "general"
const cms = "cms"
type IchubConfigIni struct {
basedto.BaseEntity
ConfigFileName string
funcDefineMap map[string]string
cfg *ini.File `json:"-"`
}
func NewIchubConfigIni() *IchubConfigIni {
var ini = &IchubConfigIni{}
ini.InitProxy(ini)
return ini
}
func (ichubConfigIni *IchubConfigIni) Find2Map() map[string]string {
var maps = ichubConfigIni.FindMap(general)
var mapcms = ichubConfigIni.FindMap(cms)
for k, v := range mapcms {
maps["cms:"+k] = v
}
logrus.Debug(maps)
return maps
}
func (ichubConfigIni *IchubConfigIni) FindMap(domain string) map[string]string {
var sec = ichubConfigIni.Find(domain)
var funcmap = map[string]string{}
for _, v := range sec.Keys() {
funcmap[v.Name()] = v.Value()
}
ichubConfigIni.funcDefineMap = funcmap
if len(sec.Keys()) != len(funcmap) {
logrus.Error("func define有重复!")
}
return funcmap
}
// logrus.Debug(cfgIni.Find("general"))
func (ichubConfigIni *IchubConfigIni) FindGeneral() *ini.Section {
return ichubConfigIni.Find(general)
}
func (ichubConfigIni *IchubConfigIni) FindCms() *ini.Section {
return ichubConfigIni.Find(cms)
}
func (ichubConfigIni *IchubConfigIni) Find(key string) *ini.Section {
return ichubConfigIni.cfg.Section(key)
// Username: cfg.Section("mysql").RuleKey("user").String(),
}
func (ichubConfigIni *IchubConfigIni) Load(defFile string) error {
// defFile = ichubcontext.CommonContext.DefineRuleFile
ichubConfigIni.ConfigFileName = defFile
if !ichubConfigIni.CheckFileExist(defFile) {
return basedto.NewIchubError(500, "文件不存在!"+defFile)
}
cfg, err := baseutils.LoadIniCfg(defFile)
if err != nil {
fmt.Println(err)
return err
}
fmt.Println(cfg)
ichubConfigIni.cfg = cfg
return nil
}
func (ichubConfigIni *IchubConfigIni) CheckFileExist(filename string) bool {
return fileutils.CheckFileExist(filename)
}
1
https://gitee.com/ichub/goconfig.git
git@gitee.com:ichub/goconfig.git
ichub
goconfig
goconfig
v1.0.407

搜索帮助