scene.ts 1013 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import axios from './instance'
  2. import { MODEL_LIST } from './constant'
  3. import { params } from '@/env'
  4. export enum SceneType {
  5. SWKK = 0,
  6. SWKJ = 1,
  7. SWSS = 2,
  8. SWMX = 3,
  9. }
  10. export const SceneTypeDesc: Record<SceneType, string> = {
  11. [SceneType.SWKK]: '四维看看',
  12. [SceneType.SWKJ]: '四维看见',
  13. [SceneType.SWSS]: '四维深时',
  14. [SceneType.SWMX]: '三维模型',
  15. }
  16. export interface Scene {
  17. createTime: string
  18. id: number
  19. isLaser: boolean
  20. modelDateType: string
  21. modelGlbUrl: string
  22. modelId: number
  23. modelObjUrl: string
  24. modelSize: number
  25. modelTitle: string
  26. name: string
  27. num: string
  28. sceneName: string
  29. snCode: string
  30. thumb: string
  31. title: string
  32. type: SceneType
  33. }
  34. export type Scenes = Scene[]
  35. const toLocalScene = (scene: Scene) => ({
  36. ...scene,
  37. name: scene.name || scene.sceneName || scene.modelTitle,
  38. })
  39. export const fetchScenes = async () => {
  40. const scenes = await axios.post<Scenes>(MODEL_LIST, { caseId: params.caseId })
  41. return scenes.map(toLocalScene)
  42. }