Просмотр исходного кода

Merge branch 'dev' of http://192.168.0.115:3000/bill/traffic-laser into dev

xushiting 4 дней назад
Родитель
Сommit
de0762b461

+ 17 - 13
public/static/lib/potree/potree.js

@@ -75662,17 +75662,9 @@ void main()
 	            scene.addPointCloud(pointcloud);
 	            
 	              
-	             
-	             
-	        
-	            Potree.loadPanos( (data) => { 
-	                //console.log('loadPanos',dataset.sceneCode, dataset.id, data)
-	                viewer.images360.addPanoData(data  ); 
-	                viewer.images360.loadDone(); 
-	                viewer.scene.add360Images(viewer.images360); 
-	               
+	            let done = ()=>{
 	                viewer.updateModelBound(); //需等pano加载完
-	              
+	                  
 	                let {boundSize, center} = viewer.bound;
 	                 
 	                viewer.dispatchEvent({type:'loadPointCloudDone'});
@@ -75710,15 +75702,27 @@ void main()
 	                 
 	                 
 	                let boxHelper = new Potree.Box3Helper(viewer.bound.boundingBox);
-					boxHelper.matrixAutoUpdate = false; 
+	                boxHelper.matrixAutoUpdate = false; 
 	                viewer.scene.scene.add(boxHelper); 
 	                viewer.bound.boxHelper = boxHelper;
 	                boxHelper.visible = false;
 	                
 	                console.log('allLoaded');
 	                viewer.dispatchEvent('allLoaded');
-	            }); 
-	                
+	            };
+	            
+	            
+	            if(Potree.settings.noPanos){
+	                done();
+	            }else { 
+	                Potree.loadPanos( (data) => { 
+	                    //console.log('loadPanos',dataset.sceneCode, dataset.id, data)
+	                    viewer.images360.addPanoData(data  ); 
+	                    viewer.images360.loadDone(); 
+	                    viewer.scene.add360Images(viewer.images360); 
+	                    done(); 
+	                }); 
+	            }
 	        }); 
 	        
 	    } 

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
public/static/lib/potree/potree.js.map


+ 11 - 10
src/dbo/main.ts

@@ -1,16 +1,17 @@
-import axios from 'axios'
-import {params} from "@/hook";
+import axios from "axios";
+import { params } from "@/hook";
 
-const instance = axios.create()
+const instance = axios.create();
 
-console.log(import.meta.env)
+console.log(import.meta.env);
 export const baseURL =
-  import.meta.env.VITE_API_BASE_URL
-    ? `/${import.meta.env.VITE_API_BASE_URL}/${params.m}`
-    : `/${params.m}`;
+  // import.meta.env.VITE_API_BASE_URL
+  //   ? `/${import.meta.env.VITE_API_BASE_URL}/${params.m}`
+  //   :
+  `/${params.m}`;
 
-instance.defaults.baseURL = baseURL
+instance.defaults.baseURL = baseURL;
 
-export const getStaticFile = (url: string) => baseURL + url
+export const getStaticFile = (url: string) => baseURL + url;
 
-export default instance
+export default instance;

+ 2 - 1
src/sdk/laser/core/enter.js

@@ -71,7 +71,8 @@ var enter = ({
     Potree.getFileUrl = getFileUrl //转化为另一种得到url的方法
 
     if(isTemp){
-        Potree.settings.cloudPath = 'result/reconstruction/webcloud/cloud.js'
+        Potree.settings.cloudPath = Potree.settings.urls.prefix1 + '/result/reconstruction/webcloud/cloud.js'
+        Potree.settings.noPanos = true
     }
     
     Potree.start(dom, mapDom, number);

+ 36 - 21
src/store/sync.ts

@@ -77,27 +77,33 @@ export const api = !global.android
         await window.open(await api.getFile(filename));
       },
       async getFile(url) {
-        const urlRaw = url;
-        getFilesIng.push(urlRaw);
+        try {
+          const urlRaw = url;
+          getFilesIng.push(urlRaw);
 
-        if (url.includes(baseURL)) {
-          url = url.substring(baseURL.length);
-        }
-        url = url.trim();
-        const paths = url.split("/");
-        const notBase64BaseTypes = [".png", ".jpg"];
-        const notBase64 = notBase64BaseTypes.some((type) =>
-          paths[paths.length - 1].includes(type)
-        );
-        if (notBase64) {
-          getFilesSuccess.push(urlRaw);
-          // await new Promise((resolve) => setTimeout(resolve, 2000));
-          return baseURL + url;
-        } else {
-          const data = await axios.get(url, { responseType: "blob" });
-          const base64 = await blobToBase64(data.data);
-          getFilesSuccess.push(urlRaw);
-          return URL.createObjectURL(base64ToBlob(base64));
+          if (url.includes(baseURL)) {
+            url = url.substring(baseURL.length);
+          }
+          url = url.trim();
+          const paths = url.split("/");
+          const notBase64BaseTypes = [".png", ".jpg"];
+          const notBase64 = notBase64BaseTypes.some((type) =>
+            paths[paths.length - 1].includes(type)
+          );
+          if (notBase64) {
+            getFilesSuccess.push(urlRaw);
+            // await new Promise((resolve) => setTimeout(resolve, 2000));
+            console.error(baseURL + url);
+            return baseURL + url;
+          } else {
+            const data = await axios.get(url, { responseType: "blob" });
+            const base64 = await blobToBase64(data.data);
+            getFilesSuccess.push(urlRaw);
+            return URL.createObjectURL(base64ToBlob(base64));
+          }
+        } catch (e) {
+          console.error("获取文件失败 url:", url);
+          throw e;
         }
       },
       async photograph(rotate = true) {
@@ -180,7 +186,16 @@ export const api = !global.android
             const apiName = `getImageCallback${global.count++}`;
             global[apiName] = (base64) => {
               getFilesSuccess.push(urlRaw);
-              resolve(URL.createObjectURL(base64ToBlob(base64)));
+              try {
+                resolve(URL.createObjectURL(base64ToBlob(base64)));
+              } catch (e) {
+                console.error(
+                  "getFile 失败 获取url:",
+                  fileUrl,
+                  "获取结果:",
+                  base64
+                );
+              }
               delete global[apiName];
             };
             global.android.getImage(fileUrl, apiName);