Bladeren bron

Merge branch 'v1.9.0' of http://192.168.0.115:3000/bill/fuse-code into v1.9.0

bill 3 maanden geleden
bovenliggende
commit
1703b27603

File diff suppressed because it is too large
+ 844 - 1167
public/lib/potree/potree.js


File diff suppressed because it is too large
+ 1 - 1
public/lib/potree/potree.js.map


+ 2 - 2
src/api/instance.ts

@@ -28,8 +28,8 @@ export const {
 } = instance;
 
 const gotoLogin = () => {
-  // const loginHref = import.meta.env.DEV ? 'http://localhost:5174' : appBackRoot[params.app]
-  // location.href = loginHref + '?redirect=' + escape(location.href) + '#/login'
+  const loginHref = import.meta.env.DEV ? 'http://localhost:5174' : appBackRoot[params.app]
+  location.href = loginHref + '?redirect=' + escape(location.href) + '#/login'
   // if (import.meta.env.DEV) {
     // GAxios.post("/service/manage/login", {
     //   password: "MRinIEn3ExMjM0NTY=Q5Lm39urQWzN7k4oCG",

+ 1 - 1
src/api/setup.ts

@@ -132,7 +132,7 @@ export const axiosFactory = () => {
         hook.before && hook.before(config)
       }
 
-      console.log(axiosConfig.unTokenSet)
+      // console.log(axiosConfig.unTokenSet)
       if (!matchURL(axiosConfig.unTokenSet, config)) {
         if (!axiosConfig.token) {
           if (!offline && !matchURL(axiosConfig.unReqErrorSet, config)) {

+ 1 - 1
src/components/static-preview/resource.vue

@@ -42,7 +42,7 @@ const url = computed(() =>
     ? getResource(props.data)
     : URL.createObjectURL(props.data)
 );
-
+console.log(`./xfile-viewer/index.html?file=${url}&time=${Date.now()}`, 9999)
 const type = computed(() => {
   if (props.type) {
     return props.type;

+ 2 - 0
src/env/index.ts

@@ -4,6 +4,7 @@ import { reactive, ref } from "vue";
 import type { FuseModel, Path, TaggingPosition, View } from "@/store";
 export const namespace = "/fusion";
 export const viewModeStack = stackFactory(ref<"full" | "auto">("auto"));
+export const recordIngStack = stackFactory(ref(false));
 export const showToolbarStack = stackFactory(ref<boolean>(false));
 export const showHeadBarStack = stackFactory(ref<boolean>(true));
 export const showRightPanoStack = stackFactory(ref<boolean>(true));
@@ -36,6 +37,7 @@ export const showTaggingPositionsStack = stackFactory(
 export const currentViewStack = stackFactory(ref<View>());
 
 export const custom = flatStacksValue({
+  recordIng: recordIngStack,
   viewMode: viewModeStack,
   showToolbar: showToolbarStack,
   showRightPano: showRightPanoStack,

+ 1 - 0
src/layout/edit/scene-edit.vue

@@ -26,6 +26,7 @@ import { asyncTimeout } from "@/utils";
 const loaded = ref(false);
 const initialSys = async () => {
   await Promise.all([initialFuseModels(), initialScenes()]);
+  console.log(fuseModel, 777777)
   await loadModel(fuseModel);
   await asyncTimeout(1000);
   loaded.value = true;

+ 5 - 2
src/layout/scene-list/index.vue

@@ -69,6 +69,7 @@ import List from "@/components/list/index.vue";
 import ModelList from "../model-list/index.vue";
 import { fuseModel, getModelTypeDesc } from "@/model";
 import { Button } from "ant-design-vue";
+import { custom } from "@/env";
 
 import type { ModelType, FuseModelType } from "@/model";
 import type { Scene } from "@/store";
@@ -124,8 +125,10 @@ const stopWatch = watch(
   list,
   () => {
     if (!list.value.some((model) => model.raw === fuseModel) && list.value.length) {
-      updateCurrent(list.value[0].raw as any);
-      nextTick(() => stopWatch());
+      if (!custom.recordIng) {
+        updateCurrent(list.value[0].raw as any);
+        nextTick(() => stopWatch());
+      }
     }
   },
   { immediate: true }

+ 8 - 2
src/model/index.ts

@@ -1,7 +1,7 @@
 import App from './app.vue'
 import { appEl, SceneTypeDesc, scenes } from '@/store'
 import { mount, deepIsRevise } from '@/utils'
-import { reactive, ref } from 'vue'
+import { reactive, ref, watchEffect } from 'vue'
 
 import type { Scene } from '@/store'
 import type { ModelExpose } from './platform'
@@ -14,6 +14,9 @@ export type { ModelExpose }
 
 export const fuseModel = Symbol('fuse')
 export const currentModel = ref<ModelType>(fuseModel)
+watchEffect(() => {
+  console.error(currentModel.value, 'currentModel')
+}, { flush: 'sync'  })
 export const modelProps: ModelProps = reactive({ type: currentModel, callback: null })
 export const getModelTypeDesc = (model: ModelType) => {
   if (model === fuseModel) {
@@ -23,7 +26,7 @@ export const getModelTypeDesc = (model: ModelType) => {
   }
 }
 export const getModelDesc = (model: ModelType) => {
-  console.log(model)
+  console.log(model, 66666)
   if (model === fuseModel) {
     return '融合场景'
   } else {
@@ -36,6 +39,8 @@ const _loadModel = (() => {
   let oldResult: Promise<ModelExpose>
 
   return (modelType: ModelType) => {
+    console.log(oldModelType, modelType, 'oldModelType')
+    console.log(deepIsRevise(oldModelType, modelType), 'oldModelType')
     if (!deepIsRevise(oldModelType, modelType)) {
       return oldResult
     }
@@ -49,6 +54,7 @@ const _loadModel = (() => {
           resolve(data)
         }
       }
+      console.log(modelType, oldModelType, '不是吧')
       currentModel.value = modelType
     })
   }

+ 12 - 5
src/sdk/cover/index.js

@@ -2636,6 +2636,8 @@ function load4dkkMedias(model){//加载四维看看的一些媒体物品
                     //console.log(model.name, 'surveillance', monitorJson)
                     monitorJson.forEach((e)=>{ 
                         e.showTitle = json.controls.showCameraTitle
+                        e.showScope = json.controls.showSurveilScope
+ 
                         viewer.addMonitor(e,model)
                     })  
                 }) 
@@ -2653,13 +2655,18 @@ function load4dkkMedias(model){//加载四维看看的一些媒体物品
                     //Potree.addModel(prop, prop.done, prop.progressFun, prop.onError)
                     prop.type = 'media'
                     prop.model = model
-                    prop.position = Potree.Utils.tran4dkkVecInModel(new THREE.Vector3().fromArray(prop.pos), model) ,
-                    prop.rotation = new THREE.Euler().setFromQuaternion(new THREE.Quaternion().fromArray(prop.qua)),
+                    prop.position = Potree.Utils.tran4dkkVecInModel(new THREE.Vector3().fromArray(prop.pos), model)  
+                    
+                    let qua = new THREE.Quaternion().fromArray(prop.qua).normalize()
+                    if(model.props.baseRotation?.x == 0){ //该模型已经矫正,无需旋转90度,但是场景的数据需要,导致monitor和模型不匹配,需要再旋转
+                        qua.copy(Potree.math.convertQuaternion.YupToZup(qua))
+                    }
+                    prop.rotation = new THREE.Euler().setFromQuaternion(qua)
                     //prop.url =  location.origin + '/oss/scene_view_data/'+ model.props.raw.num + '/user/'+prop.url,
-                    prop.url = location.origin + sceneJsonPath.replace('data/scene.json','user/'+prop.url),  //offline different
-                     
+                    prop.url = sceneJsonPath.replace('data/scene.json','user/'+prop.url)  //offline different
                     
-                    prop.id = prop.sid 
+                    if(!prop.url.substr(0,5).includes('http')) prop.url = location.origin + prop.url
+                 
                      //Potree.settings.urls.getPrefix(8,model)
                      //isNew:true, //是否新创建而非加载  
                     Potree.addModel(prop,(overlay)=>{

+ 2 - 2
src/store/floder-type.ts

@@ -12,7 +12,7 @@ export const getFloderType = (id: FloderType["filesTypeId"]) =>
 export const initialFloderTypes = async () => {
   const floders = await fetchFloders();
   floderTypes.value = await fetchFloderTypes();
-  console.log(floders,floderTypes.value,898989)
+  // console.log(floders,floderTypes.value,898989)
 };
 
 export type FloderRoot = {
@@ -67,7 +67,7 @@ export const getLevelRoot = (floder: Floder, roots = floderRoots.value): FloderR
 }
 
 export const getFlatFloders = (root: FloderRoot, floders: FloderRoot['floders'] = []) => {
-  console.log(root, 99999)
+  // console.log(root, 99999)
   floders.push(...root.floders)
   if (root.children?.length) {
     root.children.forEach(child => getFlatFloders(child, floders))

+ 2 - 2
src/utils/meta.ts

@@ -7,10 +7,10 @@ export enum MetaType {
 }
 
 export const metaTypeExtnames = {
-  [MetaType.image]: ['bmp', 'jpg', 'jpeg', 'png', 'tif', 'gif', 'pcx', 'tga', 'exif', 'fpx', 'svg', 'psd', 'cdr', 'pcd', 'dxf', 'ufo', 'eps', 'ai', 'raw', 'WMF', 'webp', 'avif', 'apng'],
+  [MetaType.image]: ['bmp', 'jpg', 'jpeg', 'png', 'tif', 'gif', 'pcx', 'tga', 'exif', 'fpx', 'svg', 'psd', 'cdr', 'pcd', 'dxf', 'ufo', 'eps', 'ai', 'WMF', 'webp', 'avif', 'apng'],
   [MetaType.audio]: ['mp3'],
   [MetaType.video]: ['wmv', 'asf', 'asx', 'rm', 'rmvb', 'mp4', '3gp', 'mov', 'm4v', 'avi', 'dat', 'mkv', 'flv', 'vob'],
-  [MetaType.xfile]: [".raw", ".dcm"]
+  [MetaType.xfile]: [".raw", "raw", "dcm", ".dcm"]
 }
 
 export const getExtname = (url: string) => {

+ 1 - 1
src/views/folder/floder-view.vue

@@ -94,7 +94,7 @@ const children = computed(() => {
 const showChildren = ref(props.root.modal ? false : true);
 watchEffect(() => {
   if (showChildren.value) {
-    console.log(toRaw(props.root));
+    // console.log(toRaw(props.root));
   }
 });
 </script>

+ 1 - 0
src/views/folder/modal-floder-view.vue

@@ -81,6 +81,7 @@ const floders = computed(() => {
     return props.root.floders;
   }
 });
+console.log(floders, 9898);
 const children = computed(() => {
   if (props.root.flat) {
     return [];

+ 5 - 2
src/views/record/shot-imitate.vue

@@ -43,12 +43,15 @@ const component = shallowRef<Component | null>(null)
 
 watchEffect(() => {
   const route = getRouteConfig(activeName.value)
-  route?.component().then(comp => component.value = comp.default)
+  route?.component().then(comp => {
+    component.value = comp.default
+  })
 })
-
+"D:/A-project/fuse-code/src/views/summary/index.vue"
 const showLeftPano = ref(false)
 
 watch(currentModel, () => {
+  console.log(currentModel.value, '我的天')
   if (currentModel.value) {
     showLeftPano.value = false
   }

+ 2 - 0
src/views/record/shot.vue

@@ -75,6 +75,7 @@ import {
   bottomBarHeightStack,
   showHeadBarStack,
   showLeftPanoStack,
+  recordIngStack
 } from "@/env";
 import { appEl } from "@/store";
 import { useViewStack } from "@/hook";
@@ -113,6 +114,7 @@ export default defineComponent({
     const countdown = ref(0);
     let interval: NodeJS.Timer;
     let recordIng = ref(false);
+    recordIngStack.push(recordIng);
     const start = () => {
       if (size.value > MAX_SIZE || pauseTime.value < 2000) {
         return Message.warning("已超出限制大小无法继续录制,可保存后继续录制!");

+ 1 - 1
src/views/setting/index.vue

@@ -11,7 +11,7 @@
 
     <ui-group title="设置天空">
       <ui-group-option>
-        <selectBack :value="[setting?.back, setting?.mapId]" @update:value="changeBack" />
+        <selectBack :value="setting?.back || setting?.mapId ? [setting?.back, setting?.mapId] : ['dt', 1]" @update:value="changeBack" />
       </ui-group-option>
     </ui-group>
   </RightFillPano>

+ 3 - 3
src/views/setting/select-back.vue

@@ -101,9 +101,9 @@ const backs = computed(() => [
 // 添加默认选中逻辑
 onMounted(() => {
   // 如果没有获取到默认值(value[0]和value[1]都为空),则默认选中"无"选项
-  if (!props.value[0] && !props.value[1]) {
-    emit("update:value", ["dt", 1]);
-  }
+  // if (!props.value[0] && !props.value[1]) {
+  //   emit("update:value", ["dt", 1]);
+  // }
 });
 
 const activeParent = computed(() => {