Documentation ¶
Index ¶
- Variables
- func GenConfigTemplate(format encoding.Format, config Config, dao Dao, dir string)
- func GetConfig[T any]() *T
- func ParseTagSetting(str string, sep string, settings any)
- 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 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 ( GlobalConfig = &globalConfig{ BasicConfig: BasicConfig{ConfUrl: "./config.toml"}, EnvConfig: EnvConfig{Debug: true}, lock: sync.RWMutex{}, } )
约定大于配置
Functions ¶
func GenConfigTemplate ¶ added in v1.6.0
func ParseTagSetting ¶
ParseTagSetting default sep ;
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:tiga-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 EnvConfig ¶ added in v1.6.0
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 ¶ added in v1.6.0
type InitAfterInject interface {
InitAfterInject()
}
type InitAfterInjectConfig ¶ added in v1.6.0
type InitAfterInjectConfig interface {
InitAfterInjectConfig()
}
type InitBeforeInject ¶ added in v1.6.0
type InitBeforeInject interface {
InitBeforeInject()
}
type InitTagSettings ¶ added in v1.7.0
type InitTagSettings struct { ConfigName string `meta:"config"` DefaultValue string `meta:"default"` }
func ParseInitTagSettings ¶ added in v1.7.0
func ParseInitTagSettings(str string) *InitTagSettings
Source Files ¶
Click to show internal directories.
Click to hide internal directories.