ananzhusen 8 mēneši atpakaļ
vecāks
revīzija
a632381966
2 mainītis faili ar 19 papildinājumiem un 10 dzēšanām
  1. 7 3
      src/services/common.ts
  2. 12 7
      src/views/components/Header.vue

+ 7 - 3
src/services/common.ts

@@ -139,7 +139,8 @@ export const save = async (
   type: SaveType = SaveType.Save,
   vType?: string,
   notice?: boolean,
-  userFlag?:number
+  userFlag?:number,
+  onlyJson?:boolean
 ) => {
   if (!saveFlag) {
     return;
@@ -295,6 +296,7 @@ export const save = async (
       return;
     }
   }
+  if(!onlyJson){
   // if (!data.id || (data.ownerId === user.id)) {
     // 图纸不是创建用户的图纸 先不改缩略图
     for (const pen of meta2d.store.data.pens) {
@@ -345,7 +347,9 @@ export const save = async (
     (meta2d.store.data as Meta2dBackData).image = data.image;
     (meta2d.store.data as Meta2dBackData).filename = data.filename;
   // }
-
+  }{
+    data.image = undefined;
+  }
   let ret: any;
 
   !data.version && (data.version = baseVer);
@@ -543,7 +547,7 @@ export function autoSave(force = false) {
     if (data.isTemplate) {
       _vType = 'v-template';
     }
-    save(SaveType.Save, _vType);
+    save(SaveType.Save, _vType, false, undefined, true);
   } else {
     // data.updateAt = dayjs().format();
     localforage.setItem(localStorageName, JSON.stringify(data));

+ 12 - 7
src/views/components/Header.vue

@@ -19,7 +19,7 @@
         <t-dropdown-item @click="load(true)">
           <a>打开文件</a>
         </t-dropdown-item>
-        <t-dropdown-item divider="true" @click="load">
+        <t-dropdown-item divider="true" @click="load()">
           <a>导入文件</a>
         </t-dropdown-item>
         <t-dropdown-item>
@@ -28,6 +28,9 @@
         <t-dropdown-item>
           <a @click="save(SaveType.SaveAs, '', true, 1)">另存为</a>
         </t-dropdown-item>
+        <t-dropdown-item>
+          <a @click="save(SaveType.Save, '', true, undefined, true)">仅保存JSON数据</a>
+        </t-dropdown-item>
         <t-dropdown-item divider="true">
           <a @click="downloadJson">下载JSON文件</a>
         </t-dropdown-item>
@@ -755,12 +758,14 @@ function load(isNew = false) {
         openSvg(elem.files[0]);
       } else if (elem.files[0].name.endsWith('.zip')) {
         blank();
-        router.push({
-          path: '/',
-          query: {
-            r: Date.now() + '',
-          },
-        });
+        if(isNew){
+          router.push({
+            path: '/',
+            query: {
+              r: Date.now() + '',
+            },
+          });
+        }
         setTimeout(() => {
           openZip(elem.files[0]);
         }, 500);