series-api.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { request } from '../../../utils';
  2. import { API } from '../../../types';
  3. import { ResponseType } from '../response-type';
  4. export interface PostGetSeries extends ResponseType {
  5. series: { id: number; name: string; icon: string }[];
  6. items: {
  7. id: number;
  8. series_id: number;
  9. name: string;
  10. region: number;
  11. pointJSON: any;
  12. polygonJSON: string;
  13. visited?: 0 | 1;
  14. }[];
  15. }
  16. export interface PostGetSeriesGroups extends ResponseType {
  17. data: {
  18. id: number;
  19. name: string;
  20. }[];
  21. }
  22. export interface PostGetSeriesList extends ResponseType {
  23. data: {
  24. id: number;
  25. name: string;
  26. icon: string;
  27. count: number;
  28. new: number;
  29. score: number;
  30. icon_png: string;
  31. count2: number;
  32. }[]
  33. }
  34. export const seriesApi = {
  35. getSeries: (token: string | null, regions: string) =>
  36. request.postForm<PostGetSeries>(API.SERIES, { token, regions }),
  37. getSeriesGroups: () =>
  38. request.postForm<PostGetSeriesGroups>(API.SERIES_GROUPS),
  39. getSeriesWithGroup: (token: string, group: string) =>
  40. request.postForm<PostGetSeriesList>(API.SERIES_WITH_GROUP, { token, group }),
  41. };