app.go 974 B

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