|
@@ -294,7 +294,7 @@ import JSZip from 'jszip';
|
|
|
import axios from 'axios';
|
|
|
import { switchTheme } from '@/services/theme';
|
|
|
import { noLoginTip } from '@/services/utils';
|
|
|
-import { useDot, notificFn } from '@/services/common';
|
|
|
+import { useDot, autoSave } from '@/services/common';
|
|
|
import {
|
|
|
save,
|
|
|
newFile,
|
|
@@ -400,14 +400,14 @@ function load(newT: boolean = false) {
|
|
|
newT && newfile(true);
|
|
|
// 路由跳转 可能在 openFile 后执行
|
|
|
if (elem.files[0].name.endsWith('.json')) {
|
|
|
- openJson(elem.files[0], newT);
|
|
|
+ openJson(elem.files[0]);
|
|
|
} else if (elem.files[0].name.endsWith('.svg')) {
|
|
|
MessagePlugin.info(
|
|
|
'可二次编辑但转换存在损失,若作为图片使用,请使用右侧属性面板的上传图片功能'
|
|
|
);
|
|
|
openSvg(elem.files[0]);
|
|
|
} else if (elem.files[0].name.endsWith('.zip')) {
|
|
|
- openZip(elem.files[0], newT);
|
|
|
+ openZip(elem.files[0]);
|
|
|
} else {
|
|
|
MessagePlugin.info('打开文件只支持 json,svg,zip 格式');
|
|
|
}
|
|
@@ -416,7 +416,7 @@ function load(newT: boolean = false) {
|
|
|
input.click();
|
|
|
}
|
|
|
|
|
|
-const openJson = async (file: File, isNew: boolean = false) => {
|
|
|
+const openJson = async (file: File) => {
|
|
|
const text = await readFile(file);
|
|
|
try {
|
|
|
let data: Meta2dBackData = JSON.parse(text);
|
|
@@ -428,17 +428,28 @@ const openJson = async (file: File, isNew: boolean = false) => {
|
|
|
data = upgrade(data, baseVer);
|
|
|
}
|
|
|
dealwithFormatbeforeOpen(data);
|
|
|
- data._id = undefined;
|
|
|
- if (!isNew) {
|
|
|
- delete data.owner;
|
|
|
- delete data.editor;
|
|
|
- delete data.username;
|
|
|
- delete data.editorId;
|
|
|
- delete data.editorName;
|
|
|
+ const delAttrs = [
|
|
|
+ 'userId',
|
|
|
+ 'shared',
|
|
|
+ 'team',
|
|
|
+ 'owner',
|
|
|
+ 'username',
|
|
|
+ 'editor',
|
|
|
+ 'editorId',
|
|
|
+ 'editorName',
|
|
|
+ 'createdAt',
|
|
|
+ 'folder',
|
|
|
+ 'image',
|
|
|
+ 'id',
|
|
|
+ '_id',
|
|
|
+ 'view',
|
|
|
+ 'updatedAt',
|
|
|
+ 'star',
|
|
|
+ 'recommend',
|
|
|
+ ];
|
|
|
+ for (const k of delAttrs) {
|
|
|
+ delete (data as any)[k];
|
|
|
}
|
|
|
- // if (!(window as any).meta2dFolder?.includes(data.folder)) {
|
|
|
- // delete data.folder;
|
|
|
- // }
|
|
|
meta2d.open(data);
|
|
|
} catch (e) {
|
|
|
console.log(e);
|
|
@@ -452,13 +463,13 @@ const openSvg = async (file: File) => {
|
|
|
MessagePlugin.info('svg转换成功,请点击画布决定放置位置');
|
|
|
};
|
|
|
|
|
|
-const openZip = async (file: File, isNew: boolean = false) => {
|
|
|
+const openZip = async (file: File) => {
|
|
|
if (!(user && user.id)) {
|
|
|
MessagePlugin.warning(noLoginTip);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (user.vipExpired) {
|
|
|
+ if (user.isVip) {
|
|
|
// vipVisible.value = true;
|
|
|
gotoAccount();
|
|
|
return;
|
|
@@ -561,16 +572,27 @@ const openZip = async (file: File, isNew: boolean = false) => {
|
|
|
data = upgrade(data, baseVer);
|
|
|
}
|
|
|
dealwithFormatbeforeOpen(data);
|
|
|
- data._id = undefined;
|
|
|
- if (!isNew) {
|
|
|
- delete data.owner;
|
|
|
- delete data.editor;
|
|
|
- delete data.username;
|
|
|
- delete data.editorId;
|
|
|
- delete data.editorName;
|
|
|
- }
|
|
|
- if (!(window as any).meta2dFolder?.includes(data.folder)) {
|
|
|
- delete data.folder;
|
|
|
+ const delAttrs = [
|
|
|
+ 'userId',
|
|
|
+ 'shared',
|
|
|
+ 'team',
|
|
|
+ 'owner',
|
|
|
+ 'username',
|
|
|
+ 'editor',
|
|
|
+ 'editorId',
|
|
|
+ 'editorName',
|
|
|
+ 'createdAt',
|
|
|
+ 'folder',
|
|
|
+ 'image',
|
|
|
+ 'id',
|
|
|
+ '_id',
|
|
|
+ 'view',
|
|
|
+ 'updatedAt',
|
|
|
+ 'star',
|
|
|
+ 'recommend',
|
|
|
+ ];
|
|
|
+ for (const k of delAttrs) {
|
|
|
+ delete (data as any)[k];
|
|
|
}
|
|
|
meta2d.open(data);
|
|
|
}
|
|
@@ -580,15 +602,10 @@ const openZip = async (file: File, isNew: boolean = false) => {
|
|
|
};
|
|
|
|
|
|
async function loadFile(newT: boolean = false) {
|
|
|
- // if (dot.value) {
|
|
|
- // if (await showNotification(title)) {
|
|
|
- // load(newT);
|
|
|
- // }
|
|
|
- // } else {
|
|
|
- // load(newT);
|
|
|
- // }
|
|
|
- //默认 导入新建项目
|
|
|
- notificFn(load, newT);
|
|
|
+ autoSave();
|
|
|
+ setTimeout(() => {
|
|
|
+ load(newT);
|
|
|
+ }, 1000);
|
|
|
}
|
|
|
|
|
|
async function openFile() {
|
|
@@ -618,7 +635,7 @@ const downloadZip = async () => {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (user.vipExpired) {
|
|
|
+ if (!user.isVip) {
|
|
|
gotoAccount();
|
|
|
return;
|
|
|
}
|
|
@@ -653,7 +670,7 @@ const downloadHtml = async () => {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (user.vipExpired) {
|
|
|
+ if (!user.isVip) {
|
|
|
gotoAccount();
|
|
|
return;
|
|
|
}
|
|
@@ -707,7 +724,7 @@ async function downloadAsFrame(type: Frame) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (user.vipExpired) {
|
|
|
+ if (!user.isVip) {
|
|
|
gotoAccount();
|
|
|
return;
|
|
|
}
|