package configure import "time" /* 系统 服务配置中心 */ type ( //配置文件信息 FileInfo struct { Name string // 文件名 Size int64 // 文件大小 ModTime time.Time // 文件修改时间 } ISys interface { Start() (err error) Stop() (err error) 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 Start() (err error) { return defsys.Start() } func Stop() (err error) { return defsys.Stop() } 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) }