app.go 998 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package global
  2. import (
  3. "designs/utils"
  4. "github.com/go-redis/redis/v8"
  5. "github.com/robfig/cron/v3"
  6. "go.mongodb.org/mongo-driver/v2/mongo"
  7. "go.uber.org/zap"
  8. "io"
  9. )
  10. type InitConfig struct {
  11. //InitDBFunc func() *gorm.DB
  12. InitRedisFunc func() *redis.Client
  13. }
  14. var Init = new(InitConfig)
  15. type Application struct {
  16. //配置
  17. //数据库
  18. DB *utils.WtDB
  19. Redis *redis.Client
  20. Cron *cron.Cron
  21. //Machinery *machinery.Server
  22. //日志
  23. Log *zap.SugaredLogger
  24. LogWriter io.Writer
  25. MongoDB *mongo.Client
  26. PwdPath string
  27. }
  28. var (
  29. // DB *utils.WtDB
  30. // Redis *redis.Client
  31. Log *zap.SugaredLogger
  32. )
  33. var App = new(Application)
  34. func InitFacade() {
  35. // DB = App.DB
  36. // Redis = App.Redis
  37. Log = App.Log
  38. }
  39. //func DB() *utils.WtDB {
  40. // if App.DB != nil {
  41. // return App.DB
  42. // }
  43. //
  44. // App.DB = &utils.WtDB{DB: Init.InitDBFunc()}
  45. // return App.DB
  46. //}
  47. func Redis() *redis.Client {
  48. if App.Redis != nil {
  49. return App.Redis
  50. }
  51. App.Redis = Init.InitRedisFunc()
  52. return App.Redis
  53. }