component.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // 导入所有配置
  2. package data
  3. import (
  4. mhayaDataConfig "github.com/mhaya/components/data-config"
  5. "github.com/mhaya/game/game_cluster/internal/types"
  6. mhayaMapStructure "github.com/mhaya/extend/mapstructure"
  7. )
  8. var (
  9. ChannelConfig = &ChannelConfig{}
  10. PlatformConfig = &PlatformConfig{}
  11. RuleConfig = &RuleConfig{}
  12. achieveTaskConfig = &achieveTaskConfig{}
  13. dailyTaskConfig = &dailyTaskConfig{}
  14. discreteRuleConfig = &discreteRuleConfig{}
  15. drawConfig = &drawConfig{}
  16. itemConfig = &itemConfig{}
  17. levelConfig = &levelConfig{}
  18. rankConfig = &rankConfig{}
  19. rankRewardConfig = &rankRewardConfig{}
  20. sdkConfig = &sdkConfig{}
  21. weeklySignInConfig = &weeklySignInConfig{}
  22. )
  23. func New() *mhayaDataConfig.Component {
  24. dataConfig := mhayaDataConfig.New()
  25. dataConfig.Register(
  26. ChannelConfig,
  27. PlatformConfig,
  28. RuleConfig,
  29. achieveTaskConfig,
  30. dailyTaskConfig,
  31. discreteRuleConfig,
  32. drawConfig,
  33. itemConfig,
  34. levelConfig,
  35. rankConfig,
  36. rankRewardConfig,
  37. sdkConfig,
  38. weeklySignInConfig,
  39. )
  40. return dataConfig
  41. }
  42. func DecodeData(input interface{}, output interface{}) error {
  43. return mhayaMapStructure.HookDecode(
  44. input,
  45. output,
  46. "json",
  47. types.GetDecodeHooks(),
  48. )
  49. }