Documentation ¶
Index ¶
- Variables
- func GenConfigTemplate(format encoding.Format, config Config, dao Dao, dir string)
- func GetConfig[T any]() *T
- func GetDao[T any]() *T
- func GlobalConfig() *globalConfig
- func ParseTagSetting(str string, sep string, settings any)
- func RegisterDeferFunc(deferf ...func())
- func Start(conf Config, dao Dao, configCenter ...conf_center.ConfigCenter) func()
- type BasicConfig
- type CloseFunc
- type Config
- type Dao
- type DaoConfig
- type DaoEntity
- type DaoField
- type DaoFieldCloser
- type DaoFieldCloserWithError
- type EmbeddedPresets
- type EnvConfig
- type FileConfig
- type FlagTagSettings
- type InitAfterInject
- type InitAfterInjectConfig
- type InitBeforeInject
- type InitTagSettings
- type Marshal
- type Unmarshal
Constants ¶
This section is empty.
Variables ¶
View Source
var DaoFieldType = reflect.TypeOf((*DaoField)(nil)).Elem()
View Source
var EmbeddedPresetsType = reflect.TypeOf((*EmbeddedPresets)(nil)).Elem()
Functions ¶
func GenConfigTemplate ¶
func GlobalConfig ¶
func GlobalConfig() *globalConfig
func ParseTagSetting ¶
ParseTagSetting default sep ;
func RegisterDeferFunc ¶ added in v1.2.1
func RegisterDeferFunc(deferf ...func())
func Start ¶
func Start(conf Config, dao Dao, configCenter ...conf_center.ConfigCenter) func()
Types ¶
type BasicConfig ¶
type BasicConfig struct { // 配置文件路径 ConfUrl string `` /* 152-byte string literal not displayed */ // 模块名 Module string `flag:"name:mod;short:m;default:cherry-app;usage:模块名;env:MODULE" json:"module,omitempty"` // environment Env string `flag:"name:env;short:e;default:dev;usage:环境;env:ENV" json:"env,omitempty"` }
BasicConfig zh: 基本配置,包含模块名
type Config ¶
type Config interface { // 注入之前设置默认值 InitBeforeInject // 注入之后初始化 InitAfterInject }
type Dao ¶
type Dao interface { InitBeforeInject // 注入config后执行 InitAfterInjectConfig() // 注入dao后执行 InitAfterInject }
type DaoEntity ¶
type DaoFieldCloser ¶
type DaoFieldCloser interface {
Close()
}
type EmbeddedPresets ¶
type EmbeddedPresets struct { }
func (EmbeddedPresets) InitAfterInject ¶
func (u EmbeddedPresets) InitAfterInject()
func (EmbeddedPresets) InitAfterInjectConfig ¶
func (u EmbeddedPresets) InitAfterInjectConfig()
func (EmbeddedPresets) InitBeforeInject ¶
func (u EmbeddedPresets) InitBeforeInject()
type EnvConfig ¶
type EnvConfig struct { Debug bool `flag:"name:debug;short:d;default:debug;usage:是否测试;env:DEBUG" json:"debug" toml:"debug"` ConfigTemplateDir string `flag:"name:conf_tmpl_dir;short:t;usage:是否生成配置模板;env:CONFIG_TEMPLATE_DIR" json:"config_template_dir"` // 代理, socks5://localhost:1080 Proxy string `flag:"name:proxy;short:p;default:'socks5://localhost:1080';usage:代理;env:HTTP_PROXY" json:"proxy"` NoInject []string // config字段顺序不能变,ConfigCenter 保持在最后 ConfigCenter conf_center.Config }
type FileConfig ¶
FileConfig unused example 配置文件映射结构体,每个启动都有一个必要的配置文件,用于初始化基本配置及配置中心配置
type FlagTagSettings ¶
type InitAfterInject ¶
type InitAfterInject interface {
InitAfterInject()
}
type InitAfterInjectConfig ¶
type InitAfterInjectConfig interface {
InitAfterInjectConfig()
}
type InitBeforeInject ¶
type InitBeforeInject interface {
InitBeforeInject()
}
type InitTagSettings ¶
type InitTagSettings struct { ConfigName string `meta:"config"` DefaultValue string `meta:"default"` }
func ParseInitTagSettings ¶
func ParseInitTagSettings(str string) *InitTagSettings
Source Files ¶
Click to show internal directories.
Click to hide internal directories.