package global import ( "go.uber.org/zap" "io" "github.com/go-redis/redis/v8" ) type InitConfig struct { //InitDBFunc func() *gorm.DB InitRedisFunc func() *redis.Client } var Init = new(InitConfig) type Application struct { //配置 //数据库 //DB *utils.WtDB Redis *redis.Client //Cron *cron.Cron //Machinery *machinery.Server //日志 Log *zap.SugaredLogger LogWriter io.Writer PwdPath string } var ( // DB *utils.WtDB // Redis *redis.Client Log *zap.SugaredLogger ) var App = new(Application) func InitFacade() { // DB = App.DB // Redis = App.Redis Log = App.Log } //func DB() *utils.WtDB { // if App.DB != nil { // return App.DB // } // // App.DB = &utils.WtDB{DB: Init.InitDBFunc()} // return App.DB //} func Redis() *redis.Client { if App.Redis != nil { return App.Redis } App.Redis = Init.InitRedisFunc() return App.Redis }