Quellcode durchsuchen

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

xzw vor 2 Jahren
Ursprung
Commit
15c502a63d

+ 1 - 0
server/test/SS-t-P1d6CwREny2/attach/cloud.js

@@ -0,0 +1 @@
+{}

Datei-Diff unterdrückt, da er zu groß ist
+ 1 - 1
server/test/SS-t-P1d6CwREny2/attach/sceneStore


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1684988248179175.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1684988252556253.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1684988290320908.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1684995545926893.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1684995581295209.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/168499558584463.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1684995618144612.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1684995624255370.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1684995628172679.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1684995633961474.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1685002087531776.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1685004297370409.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1685005240483770.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/1685065716312186.jpg


BIN
server/test/SS-t-P1d6CwREny2/attach/upload/168506602580670.jpg


+ 3 - 2
src/graphic/Coordinate.js

@@ -82,8 +82,9 @@ export default class Coordinate {
 
   updateForCanvas(canvas) {
     if (canvas) {
-      canvas.width *= this.ratio;
-      canvas.height *= this.ratio;
+      console.log(canvas.offsetWidth, canvas.offsetHeight)
+      canvas.width = canvas.offsetWidth * this.ratio;
+      canvas.height = canvas.offsetHeight * this.ratio;
       this.width = canvas.width;
       this.height = canvas.height;
     }

+ 27 - 32
src/store/sync.ts

@@ -1,16 +1,16 @@
 import axios from "@/dbo/main";
-import { list } from "@/store/measure";
-import { baseLines } from "@/store/baseLine";
-import { basePoints } from "@/store/basePoint";
-import { fixPoints } from "@/store/fixPoint";
-import { photos } from "@/store/photos";
-import { accidentPhotos } from "@/store/accidentPhotos";
-import { roadPhotos } from "@/store/roadPhotos";
-import { blobToBase64, debounce, getId } from "@/utils";
-import { watch } from "vue";
-import { params } from "@/hook";
-import router, { writeRouteName } from "@/router";
-import { baseURL } from "@/dbo/local";
+import {list} from "@/store/measure";
+import {baseLines} from "@/store/baseLine";
+import {basePoints} from "@/store/basePoint";
+import {fixPoints} from "@/store/fixPoint";
+import {photos} from "@/store/photos";
+import {accidentPhotos} from "@/store/accidentPhotos";
+import {roadPhotos} from "@/store/roadPhotos";
+import {blobToBase64, debounce, getId} from "@/utils";
+import {watch} from "vue";
+import {params} from "@/hook";
+import router, {writeRouteName} from "@/router";
+import {baseURL} from "@/dbo/local";
 
 const global = window as any;
 
@@ -59,10 +59,9 @@ export const api =
           }
           url = url.trim();
           const data = await axios.get(url, { responseType: "blob" });
-          // console.error("getFile", url)
           const base64 = await blobToBase64(data.data);
-          // console.error("getFile", url, base64)
-          return base64;
+          console.log("请求url:" + url, "返回:" + base64.substring(0, 20))
+          return base64
         },
         async closePage() {
           return router.push({ name: writeRouteName.scene });
@@ -93,12 +92,12 @@ export const api =
             console.log("调用getSceneStore");
             global.getSceneStoreCallback = (data) => {
               console.log("getSceneStoreCallback返回", data);
-              resolve(data ? JSON.parse(data) : data);
+              resolve(data);
             };
             global.android.getSceneStore(params.m + "/store.json");
           });
         },
-        getFile(fileUrl) {
+        getFile(fileUrl: string) {
           fileUrl = fileUrl.trim();
           if (import.meta.env.DEV) {
             return new Promise<string>((resolve) => {
@@ -107,7 +106,10 @@ export const api =
                 // console.error("getFile", fileUrl, base64)
                 resolve(base64);
               };
-              console.log("获取", params.m + fileUrl);
+              if (fileUrl.includes(params.m)) {
+                fileUrl = fileUrl.substring(fileUrl.indexOf(params.m) + params.m.length)
+              }
+              fileUrl = new URL(fileUrl, "http://www.a.com").pathname
               global.android.getImage(params.m + fileUrl);
               console.log(global, global.getImageCallback);
             });
@@ -117,9 +119,12 @@ export const api =
         },
         uploadImage(file: File) {
           return new Promise<string>(async (resolve) => {
-            global.uploadImageCallback = resolve;
+            global.uploadImageCallback = (data) => {
+              console.log("上传图片成功,返回路径为:", data)
+              resolve(data);
+            }
             const data = await blobToBase64(file);
-            console.log("上传图片", params.m + "/" + file.name, "参数:", data);
+            // console.log("上传图片", params.m + "/" + file.name, "参数:", data);
             global.android.uploadImage(params.m + "/" + file.name, data);
           });
         },
@@ -159,6 +164,7 @@ const loadStore = async () => {
   roadPhotos.value = data?.roadPhotos || [];
 
   syncSceneStore();
+  console.log("开始同步syncSceneStore")
 };
 
 export const updateSceneStore = debounce(api.setStore, 1000);
@@ -180,18 +186,6 @@ export const downloadImage = async (
 };
 
 const syncSceneStore = () => {
-  if (import.meta.env.DEV) {
-    console.log("自动保存测试");
-    updateSceneStore({
-      measures: list.value,
-      baseLines: baseLines.value,
-      basePoints: basePoints.value,
-      fixPoints: fixPoints.value,
-      photos: photos.value,
-      accidentPhotos: accidentPhotos.value,
-      roadPhotos: roadPhotos.value,
-    });
-  }
   return watch(
     () => ({
       measures: list.value,
@@ -203,6 +197,7 @@ const syncSceneStore = () => {
       roadPhotos: roadPhotos.value,
     }),
     (data) => {
+      console.log("监听到数据变化,自动保存store")
       updateSceneStore(data);
     },
     { deep: true }

+ 2 - 2
src/utils/index.ts

@@ -527,10 +527,10 @@ export const base64ToBlob = (base64Data: string) => {
 };
 
 export const blobToBase64 = (blob: Blob) => {
-  return new Promise((resolve, reject) => {
+  return new Promise<string>((resolve, reject) => {
     const fileReader = new FileReader();
     fileReader.onload = (e) => {
-      resolve(e.target.result);
+      resolve(e.target.result as string);
     };
     // readAsDataURL
     fileReader.readAsDataURL(blob);

+ 1 - 0
src/views/graphic/container.vue

@@ -32,6 +32,7 @@ onMounted(() => {
   display: flex;
 }
 
+.canvas-layout,
 .draw-canvas {
   width : 100%;
   height: 100%;