浏览代码

Merge branch 'dev' of http://192.168.0.115:3000/bill/fuse-code into dev

xzw 2 年之前
父节点
当前提交
73a6c3edf8
共有 4 个文件被更改,包括 38 次插入12 次删除
  1. 2 1
      src/api/instance.ts
  2. 9 3
      src/app.vue
  3. 20 6
      src/sdk/association.ts
  4. 7 2
      src/views/guide/sign.vue

+ 2 - 1
src/api/instance.ts

@@ -31,8 +31,9 @@ const gotoLogin = () => {
 
 
 addReqErrorHandler(err => {
 addReqErrorHandler(err => {
   // Message.error(err.message)
   // Message.error(err.message)
+  console.error(err)
   hideLoad()
   hideLoad()
-  gotoLogin()
+  // gotoLogin()
 })
 })
 
 
 addResErrorHandler(
 addResErrorHandler(

+ 9 - 3
src/app.vue

@@ -26,9 +26,15 @@ import { loadPack } from '@/utils'
 
 
 const loaded = ref(false)
 const loaded = ref(false)
 
 
-loadPack(async () => {
-  await initialSetting()
-  loaded.value = true
+watchEffect(() => {
+  if (currentLayout.value && currentLayout.value !== RoutesName.signModel) {
+    loadPack(async () => {
+      await initialSetting()
+      loaded.value = true
+    })
+  } else {
+    loaded.value = true
+  }
 })
 })
 
 
 
 

+ 20 - 6
src/sdk/association.ts

@@ -336,17 +336,31 @@ const fullView = async (fn: () => void) => {
     viewModeStack.push(ref('full')),
     viewModeStack.push(ref('full')),
     showLeftPanoStack.push(ref(false))
     showLeftPanoStack.push(ref(false))
   ])
   ])
-  await document.documentElement.requestFullscreen()
+  let isFull = false;
+  try {
+    await document.documentElement.requestFullscreen()
+    isFull = true;
+  } catch {}
+  
   const driving = () => document.fullscreenElement || fn()
   const driving = () => document.fullscreenElement || fn()
+  const stop = (ev: KeyboardEvent) => ev.key == "Escape" && fn()
 
 
-  document.addEventListener('fullscreenchange', driving)
-  document.addEventListener('fullscreenerror', fn)
+  if (isFull) {
+    document.addEventListener('fullscreenchange', driving)
+    document.addEventListener('fullscreenerror', fn)
+  } else {
+    document.addEventListener("keyup", stop)
+  }
 
 
   return () => {
   return () => {
     popViewMode()
     popViewMode()
-    document.fullscreenElement && document.exitFullscreen()
-    document.removeEventListener('fullscreenchange', driving)
-    document.removeEventListener('fullscreenerror', fn)
+    if (isFull) {
+      document.fullscreenElement && document.exitFullscreen()
+      document.removeEventListener('fullscreenchange', driving)
+      document.removeEventListener('fullscreenerror', fn)
+    } else {
+      document.removeEventListener("keyup", stop)
+    }
   }
   }
 }
 }
 
 

+ 7 - 2
src/views/guide/sign.vue

@@ -27,7 +27,7 @@
 
 
 <script setup lang="ts">
 <script setup lang="ts">
 import { Guide, getGuidePaths } from '@/store'
 import { Guide, getGuidePaths } from '@/store'
-import { getFileUrl } from '@/utils'
+import { getFileUrl, saveAs } from '@/utils'
 import { getResource } from '@/env'
 import { getResource } from '@/env'
 import { computed, watchEffect, nextTick } from 'vue';
 import { computed, watchEffect, nextTick } from 'vue';
 import { playSceneGuide, isScenePlayIng, pauseSceneGuide } from '@/sdk'
 import { playSceneGuide, isScenePlayIng, pauseSceneGuide } from '@/sdk'
@@ -56,7 +56,7 @@ const actions = {
     const config: any = {
     const config: any = {
       uploadUrl: '',
       uploadUrl: '',
       resolution: '4k',
       resolution: '4k',
-      autoDownload: true,
+      autoDownload: false,
       debug: false,
       debug: false,
     }
     }
   
   
@@ -68,6 +68,11 @@ const actions = {
       stopWatch && stopWatch()
       stopWatch && stopWatch()
       pauseSceneGuide()
       pauseSceneGuide()
     }
     }
+
+    videoRecorder.on('record', blob => {
+      saveAs(new File([blob], '录屏.mp4', { type: 'video/mp4; codecs=h264' }), props.guide.title + ".mp4")
+    })
+
     videoRecorder.off('*')
     videoRecorder.off('*')
     videoRecorder.on('startRecord', () => {
     videoRecorder.on('startRecord', () => {
       playSceneGuide(paths.value, undefined, true)
       playSceneGuide(paths.value, undefined, true)