framework

package
v0.0.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

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 ConfigApp

func ConfigApp(callCfg *CallSparrowCfg) (err error)

ConfigApp 配置默认实例需要的一些参数

func Execute

func Execute() (err error)

Execute 启动服务

func OnConfigChange

func OnConfigChange(configOnConfigChange func(e fsnotify.Event))

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 NewApp

func NewApp() (app *App)

NewApp 构造

func (*App) ConfigApp

func (a *App) ConfigApp(callCfg *CallSparrowCfg) (err error)

ConfigApp 配置框架需要的一些参数

func (*App) Execute

func (a *App) Execute() (err error)

Execute 启动服务

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 调用框架时需要的配置

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL