Documentation ¶
Index ¶
- Constants
- Variables
- func AssertValidate() (*validator.Validate, error)
- func ConfigApp(callCfg *CallSparrowCfg) (err error)
- func Execute() (err error)
- func OnConfigChange(configOnConfigChange func(e fsnotify.Event))
- func RegisterStructValidation(fn validator.StructLevelFunc, types ...interface{})
- func RegisterValidation(tag string, fn validator.Func, callValidationEvenIfNull ...bool) (err error)
- func UseDefaultMiddleware(stack bool)
- type App
- type CallSparrowCfg
Constants ¶
View Source
const ( FileType cfgType = 0 CodeType cfgType = 1 )
Variables ¶
View Source
var ( GinCfgRelease = &conf.GinConf{ Addr: ":8080", Mode: "release", NoRoute: true, NoMethod: true, } // 本地开发使用 SparrowCfgLocal = &conf.SparrowConf{ Gin: GinCfgRelease, Log: log.LocalBusinessLogCfg(), } // 开发环境 SparrowCfgDev = &conf.SparrowConf{ Gin: GinCfgRelease, Access: access.DevAccessLogCfg(), Log: log.DevBusinessLogCfg(), } // 测试环境 SparrowCfgBeta = &conf.SparrowConf{ Gin: GinCfgRelease, Access: access.DevAccessLogCfg(), Log: log.BetaBusinessLogCfg(), } // uat/pre环境 SparrowCfgUat = &conf.SparrowConf{ Gin: GinCfgRelease, Access: access.ProdAccessLogCfg(), Log: log.UatBusinessLogCfg(), } // 发布线上使用 SparrowCfgProd = &conf.SparrowConf{ Gin: GinCfgRelease, Access: access.ProdAccessLogCfg(), Log: log.ProdBusinessLogCfg(), } )
View Source
var ( Sparrow = NewApp() // 框架实例方便调用方 快捷使用 FileCfg = &CallSparrowCfg{ CmdCfg: true, CfgType: FileType, } // 本地开发 提供默认使用 Code 的方式配置框架 CodeCfgLocal = &CallSparrowCfg{ CmdCfg: false, CfgType: CodeType, SparrowCfg: SparrowCfgLocal, } // 开发环境 提供默认使用 Code 的方式配置框架 CodeCfgDev = &CallSparrowCfg{ CmdCfg: false, CfgType: CodeType, SparrowCfg: SparrowCfgDev, } // uat/pre环境 CodeCfgBeta = &CallSparrowCfg{ CmdCfg: false, CfgType: CodeType, SparrowCfg: SparrowCfgBeta, } // 测试环境 CodeCfgUat = &CallSparrowCfg{ CmdCfg: false, CfgType: CodeType, SparrowCfg: SparrowCfgUat, } // 线上环境提供默认使用 Code 的方式配置框架 CodeCfgProd = &CallSparrowCfg{ CmdCfg: false, CfgType: CodeType, SparrowCfg: SparrowCfgProd, } )
View Source
var ( ValidateAssertErr = fmt.Errorf("gin Validator.Engine cannot be converted to *validator.Validate") Validate *validator.Validate )
Functions ¶
func AssertValidate ¶ added in v0.0.11
func AssertValidate() (*validator.Validate, error)
AssertValidate 初始化 gin 使用的单例的 Validate,让调用方可以快速使用 binding.Validator 的进行注册校验规则
func OnConfigChange ¶
OnConfigChange 项目/调用方 配置文件发生变更后的回调函数
func RegisterStructValidation ¶ added in v0.0.11
func RegisterStructValidation(fn validator.StructLevelFunc, types ...interface{})
func RegisterValidation ¶ added in v0.0.11
func RegisterValidation(tag string, fn validator.Func, callValidationEvenIfNull ...bool) (err error)
RegisterValidation 注册定义校验规则函数
func UseDefaultMiddleware ¶
func UseDefaultMiddleware(stack bool)
UseDefaultMiddleware 使用默认的中间件, stack参数用了指定是否在 recovery 时 是否单独记录 debug.Stack()
Types ¶
type App ¶
type App struct { Engine *gin.Engine EtcConf *conf.ViperConf // 框架配置 ConfigConf *conf.ViperConf // 项目/业务方 使用配置 // contains filtered or unexported fields }
App sparrow结构体
func (*App) ConfigApp ¶
func (a *App) ConfigApp(callCfg *CallSparrowCfg) (err error)
ConfigApp 配置框架需要的一些参数
type CallSparrowCfg ¶
type CallSparrowCfg struct { Use string Short string Long string Version string AssertValidate bool // 是否 默认调用 AssertValidate() CallerRun func(*cobra.Command, []string) error CmdCfg bool // 控制 项目本身配置是否由cmd指定的 -c 参数指定 // 如果 CmdCfg 为 true 下面的这 3 个值才有意义 CallRawVal interface{} // 调用方 配置结构体 实例, 一定要是指针类型 CallOnConfigChange func(e fsnotify.Event) CallDecoderConfigOption []viper.DecoderConfigOption CfgType cfgType // 框架读取框架配置的方式: file, code SparrowCfg *conf.SparrowConf }
CallSparrowCfg 调用框架时需要的配置
Click to show internal directories.
Click to hide internal directories.