PageStore.ts 805 B

123456789101112131415161718192021222324
  1. import { APP_PAGE_MODULE, success } from "../../api";
  2. import { Http } from "../../request";
  3. import { IGameInfo, IModuleGameTabs } from "./data";
  4. class PageStore {
  5. private _gameList: IGameInfo[];
  6. public get gameList() { return this._gameList; }
  7. async reqPageModules(pageID = 1) {
  8. let res = await Http.get(APP_PAGE_MODULE + pageID);
  9. if (!success(res)) return;
  10. const gameTabs: IModuleGameTabs = (res.data as IModuleGameTabs[]).find(item => item.type === 'ModuleGameTabs');
  11. if (!gameTabs) return;
  12. const gameMap = {};
  13. gameTabs.data.forEach(tab => (tab?.data || []).forEach(game => gameMap[game.id] = game));
  14. this._gameList = Object.values(gameMap);
  15. console.log(this._gameList);
  16. }
  17. }
  18. export const pageStore = new PageStore();