Explorar el Código

单场景查看支持

bill hace 3 años
padre
commit
fa596b99f8
Se han modificado 3 ficheros con 24 adiciones y 6 borrados
  1. 0 1
      src/api/view.ts
  2. 1 0
      src/env/index.ts
  3. 23 5
      src/views/sign-model/index.vue

+ 0 - 1
src/api/view.ts

@@ -50,7 +50,6 @@ export const fetchViews = async () => {
 }
 
 export const postAddView = async (view: View) => {
-  console.log(view, { ...toService(view, false), caseId: params.caseId })
   const serviceView = await axios.post<ServiceView>(INSERT_VIEW, { ...toService(view, false), caseId: params.caseId })
   return toLocal(serviceView)
 }

+ 1 - 0
src/env/index.ts

@@ -43,6 +43,7 @@ params.caseId = Number(params.caseId)
 export type Params = { 
   caseId: number,
   baseURL?: string,
+  modelId?: string,
   token?: string
 }
 

+ 23 - 5
src/views/sign-model/index.vue

@@ -4,10 +4,28 @@
 
 <script setup lang="ts">
 import { loadModel, fuseModel } from '@/model'
-import { getScene, initialScenes } from '@/store'
-
-
-initialScenes()
-  .then(() => getScene)
+import { initialScenes, createFuseModels, fuseModels, scenes } from '@/store'
+import { params } from '@/env'
+import { Dialog } from 'bill/index'
+import { useViewStack } from '@/hook';
+import { sdk } from '@/sdk'
 
+useViewStack(() => {
+  initialScenes()
+    .then(() => params.modelId && scenes.value.find(scene => scene.modelId === Number(params.modelId)))
+    .then(scene => {
+      if (!scene) {
+        return Dialog.alert(`模型不存在!`)
+      }
+      const fuseModel = createFuseModels({
+        modelId: scene.modelId,
+        show: true,
+        url: scene.modelObjUrl || scene.modelGlbUrl,
+        type: scene.type
+      })
+      fuseModels.value.push(fuseModel)
+    })
+    .then(() => loadModel(fuseModel))
+    .then(() => (window as any).__sdk = sdk)
+})
 </script>