47 lines
1.0 KiB
Go
47 lines
1.0 KiB
Go
package configure
|
|
|
|
/*
|
|
系统 服务配置中心
|
|
|
|
*/
|
|
|
|
type (
|
|
ISys interface {
|
|
RegisterConfigure(name string, fn interface{}) (err error) //注册配置
|
|
UpdateConfigure(names ...string) (err error) //更新配置
|
|
GetConfigure(name string) (v interface{}, err error) //获取配置
|
|
}
|
|
)
|
|
|
|
var defsys ISys
|
|
|
|
func OnInit(config map[string]interface{}, option ...Option) (err error) {
|
|
var options Options
|
|
if options, err = newOptions(config, option...); err != nil {
|
|
return
|
|
}
|
|
defsys, err = newSys(options)
|
|
return
|
|
}
|
|
|
|
func NewSys(option ...Option) (sys ISys, err error) {
|
|
var options Options
|
|
if options, err = newOptionsByOption(option...); err != nil {
|
|
return
|
|
}
|
|
defsys, err = newSys(options)
|
|
return
|
|
}
|
|
|
|
func RegisterConfigure(name string, fn interface{}) (err error) {
|
|
return defsys.RegisterConfigure(name, fn)
|
|
}
|
|
|
|
func UpdateConfigure(names ...string) (err error) {
|
|
return defsys.UpdateConfigure(names...)
|
|
}
|
|
|
|
func GetConfigure(name string) (v interface{}, err error) {
|
|
return defsys.GetConfigure(name)
|
|
}
|