component.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // 导入所有配置
  2. package data
  3. import (
  4. mhayaDataConfig "github.com/mhaya/components/data-config"
  5. mhayaMapStructure "github.com/mhaya/extend/mapstructure"
  6. "github.com/mhaya/game/game_cluster/internal/types"
  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. CodeConfig = &codeConfig{}
  23. )
  24. func New() *mhayaDataConfig.Component {
  25. dataConfig := mhayaDataConfig.New()
  26. dataConfig.Register(
  27. ChannelConfig,
  28. PlatformConfig,
  29. RuleConfig,
  30. AchieveTaskConfig,
  31. DailyTaskConfig,
  32. DiscreteRuleConfig,
  33. DrawConfig,
  34. ItemConfig,
  35. LevelConfig,
  36. RankConfig,
  37. RankRewardConfig,
  38. SdkConfig,
  39. WeeklySignInConfig,
  40. CodeConfig,
  41. )
  42. return dataConfig
  43. }
  44. func DecodeData(input interface{}, output interface{}) error {
  45. return mhayaMapStructure.HookDecode(
  46. input,
  47. output,
  48. "json",
  49. types.GetDecodeHooks(),
  50. )
  51. }