index.ts 943 B

1234567891011121314151617181920212223242526272829303132
  1. import { seriesApi } from '@api/series';
  2. import { storage } from 'src/storage';
  3. const NAMESPACE = 'series';
  4. function saveData<T>(key: string, data: T) {
  5. const namespacedKey = `${NAMESPACE}:${key}`;
  6. const jsonData = JSON.stringify(data);
  7. storage.set(namespacedKey, jsonData);
  8. }
  9. export async function saveSeriesRankingData() {
  10. const response = await seriesApi.getSeriesGroupsRanking();
  11. if (response && response.data) {
  12. const groups = response.data.data;
  13. saveData('groups', groups);
  14. await Promise.all(
  15. groups.map(async (group) => {
  16. const res = await seriesApi.getSeriesRanking(group.id, 0, 50);
  17. saveData(`${group.id}`, res.data.data);
  18. if (group.series) {
  19. group.series.map(async (series) => {
  20. const subseries = await seriesApi.getSeriesRanking(series.id, 0, 50);
  21. saveData(`${series.id}`, subseries.data.data);
  22. });
  23. }
  24. })
  25. );
  26. }
  27. }