dep.go 613 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package dep
  2. import (
  3. "kpt-temporary-mqtt/config"
  4. "kpt-temporary-mqtt/module/mqtt"
  5. "kpt-temporary-mqtt/store/kptstore"
  6. "gitee.com/xuyiping_admin/pkg/di"
  7. )
  8. func DI(opts ...di.HubOption) *di.Hub {
  9. var hubOpts []di.HubOption
  10. if len(opts) != 0 {
  11. hubOpts = append(opts, Global())
  12. } else {
  13. hubOpts = append(hubOpts, Global())
  14. }
  15. hub, err := di.New(hubOpts...)
  16. if err != nil {
  17. panic(err)
  18. }
  19. return hub
  20. }
  21. func Global() di.HubOption {
  22. return di.Options(Options()...)
  23. }
  24. func Options() []di.HubOption {
  25. return []di.HubOption{
  26. // 基础依赖
  27. config.Module,
  28. kptstore.Module,
  29. mqtt.Module,
  30. }
  31. }