DataModelManager.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import QuestionInfoModel from '../model/QuestionInfoModel';
  2. import PlayerInfoModel from '../model/PlayerInfoModel';
  3. import BootOptionData from '../model/BootOptionData';
  4. import ConfigData from '../model/ConfigData';
  5. import WeekRank from '../model/WeekRank';
  6. import WeekQuery from '../model/WeekQuery';
  7. let DataModelManager = (
  8. function()
  9. {
  10. var _modelMap = {};
  11. var _modelConsturctFun = {};
  12. var registerModelContruct = function(modelName,constructFun)
  13. {
  14. _modelConsturctFun[modelName] = constructFun;
  15. };
  16. registerModelContruct('ConfigData',ConfigData);
  17. registerModelContruct('BootOptionData',BootOptionData);
  18. registerModelContruct('PlayerInfoModel',PlayerInfoModel);
  19. registerModelContruct('QuestionInfoModel', QuestionInfoModel);
  20. registerModelContruct('WeekRank', WeekRank);
  21. registerModelContruct('WeekQuery', WeekQuery);
  22. return {
  23. getModel(modelName)
  24. {
  25. if(_modelMap[modelName])
  26. {
  27. return _modelMap[modelName];
  28. }
  29. else
  30. {
  31. if(_modelConsturctFun[modelName])
  32. {
  33. _modelMap[modelName] = new _modelConsturctFun[modelName];
  34. return _modelMap[modelName];
  35. }
  36. else
  37. {
  38. }
  39. }
  40. },
  41. destroyModel(modelName)
  42. {
  43. if(_modelMap[modelName])
  44. {
  45. _modelMap[modelName].destroy();
  46. delete _modelMap[modelName];
  47. }
  48. }
  49. };
  50. }
  51. )();
  52. export default DataModelManager;