TravalContent.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { DataModel, transformDataModel } from '@imengyu/js-request-transform';
  2. import { CommonContentApi, GetContentDetailItem, GetContentListItem, GetContentListParams } from '../CommonContent';
  3. export class TravalListItem extends DataModel<TravalListItem> {
  4. constructor() {
  5. super(TravalListItem, "路线列表");
  6. this.setNameMapperCase('Camel', 'Snake');
  7. this._convertTable = {
  8. longitude: { clientSide: 'number', serverSide: 'number' },
  9. latitude: { clientSide: 'number', serverSide: 'number' },
  10. }
  11. const old = this._afterSolveServer;
  12. this._afterSolveServer = (data) => {
  13. old?.(data);
  14. }
  15. }
  16. id = 0;
  17. longitude = 0;
  18. latitude = 0;
  19. title = '';
  20. desc = '';
  21. image = '';
  22. thumbnail = '';
  23. }
  24. export class TravalContentApi extends CommonContentApi {
  25. constructor() {
  26. super(undefined, 17, "路线");
  27. }
  28. async getTravalList(id: number) {
  29. const res = await this.getContentDetail(id, GetContentDetailItem, 17, {
  30. 'scenic_spots': '1',
  31. });
  32. res.scenicSpotsList = (res.scenicSpotsList as any[]).map(p => transformDataModel<TravalListItem>(TravalListItem, p));
  33. return res;
  34. }
  35. }
  36. export default new TravalContentApi();