Forráskód Böngészése

feat:svg/js线性图元

ananzhusen 1 éve
szülő
commit
e9e51c4dde

+ 34 - 1
src/services/download.ts

@@ -642,7 +642,7 @@ async function zipFile(zip: JSZip, filePath: string) {
   zip.file(filePath.replace('/view', ''), res, { createFolders: true });
 }
 
-export const getFrameDownloadList = (meta2dData: any, path: string = 'v',type:Frame,flag_3d=false) => {
+export const getFrameDownloadList = async (meta2dData: any, path: string = 'v',type:Frame,flag_3d=false) => {
   const lists = new Set();
   let img = meta2dData.bkImage;
   if (img) {
@@ -817,6 +817,39 @@ export const getFrameDownloadList = (meta2dData: any, path: string = 'v',type:Fr
         path:`/${folderName}/public${file.replace('/view', '')}`,
       });
     });
+
+    const res: any = await axios.post('/api/paid/2d/component', {
+      type: 'JS线性图元',
+    });
+    let purchased = res.list.map((item) => item.name);
+    let arr = [];
+    for (const pen of meta2dData.pens) {
+      if (pen.subClassName && purchased.includes(pen.name)) {
+        if (!arr.includes(pen.name)) {
+          arr.push(pen.name);
+        }
+      }
+    }
+    if (arr.length) {
+      const res_list: Blob = await axios.post(
+        '/api/2d/tools',
+        {
+          list: arr.map((item) => {
+            return {
+              type: 'JS线性图元',
+              name: item,
+            };
+          }),
+        },
+        {
+          responseType: 'blob',
+        }
+      );
+      lists.add({
+        data: res_list,
+        path:`/${folderName}/public/js/1.js`,
+      });
+    }
   }
   //图纸数据
   if (meta2dData._id) delete meta2dData._id;

+ 2 - 2
src/views/Preview.vue

@@ -123,8 +123,8 @@ const doDownload = (path: string) => {
 };
 
 //获取框架下载列表
-const doGetFrameDownload = (frame: Frame,path:string) => {
-  const list = getFrameDownloadList(meta2d.data(),path, frame);
+const doGetFrameDownload =async (frame: Frame,path:string) => {
+  const list =await getFrameDownloadList(meta2d.data(),path, frame);
   window.parent.postMessage(
     JSON.stringify({
       name: 'download',

+ 2 - 2
src/views/components/Header.vue

@@ -1547,7 +1547,7 @@ const preFrameDownload = async () => {
     iframeNum += pen_v.length;
   }
 
-  downloadList = getFrameDownloadList(meta2dData,undefined,downloadType,flag_3d);
+  downloadList = await getFrameDownloadList(meta2dData,undefined,downloadType,flag_3d);
   if (iframeNum === 0) {
     //如果没有嵌入场景
     saveDownload();
@@ -1626,7 +1626,7 @@ const saveDownload = async () => {
       list.forEach((item) => {
         if (
           item.data &&
-          item.path.indexOf('/projects/v') !== -1 &&
+          (item.path.indexOf('/projects/v') !== -1 || item.path.indexOf('/public/json')!==-1) &&
           item.path.indexOf('/projects/v/png/') === -1
         ) {
           //2d 图纸数据

BIN
visualization-design源码使用手册(pgsql).pdf