From 96be59a64cc1d8fcaf1034e787717663c68df4a7 Mon Sep 17 00:00:00 2001
From: 杨磊 <505174330@qq.com>
Date: 星期一, 26 五月 2025 10:39:58 +0800
Subject: [PATCH] 2025-5-26提交

---
 src/assets/js/middleGround/tool.js |  308 ++++++++++++++++++++++++--------------------------
 1 files changed, 147 insertions(+), 161 deletions(-)

diff --git a/src/assets/js/middleGround/tool.js b/src/assets/js/middleGround/tool.js
index 009140a..c3d4075 100644
--- a/src/assets/js/middleGround/tool.js
+++ b/src/assets/js/middleGround/tool.js
@@ -1,6 +1,10 @@
-import { requestCtx, appId } from "@/assets/js/config.js";
-import bookCover from "@/assets/images/book-cover.png";
-import moment from "moment";
+import { requestCtx, appId } from '@/assets/js/config.js'
+import defaultImg from '@/assets/images/default-book-img.png'
+import defaultBookFair from '@/assets/images/default-bookFair.png'
+import bookCover from '@/assets/images/book-cover.png'
+import defaultPub from '@/assets/images/math/default-pub.png'
+import defaultAudio from '@/assets/images/math/default-audio.png'
+import moment from 'moment'
 // 澶勭悊鍒楄〃鏌ヨ缁撴灉
 export function handleQueryResourceListData({
   datas,
@@ -9,34 +13,34 @@
   storeInfo,
   repositoryInfo,
   coverSize,
-  handelEBooK,
+  handelEBooK
 }) {
-  const dataList = [];
+  const dataList = []
   for (let i = 0; i < datas.length; i++) {
-    const item = datas[i];
+    const item = datas[i]
     // 澶勭悊瀛楁
-    const _fields = {};
+    const _fields = {}
     if (fields != null) {
       for (let fieldKey in fields) {
         if (item.datas[fieldKey]) {
-          const values = JSON.parse(item.datas[fieldKey]);
+          const values = JSON.parse(item.datas[fieldKey])
           if (values.length > 0) {
             // 鐢ㄥ瓧娈靛悕澶勭悊杩斿洖鐨勫瓧娈靛��
             if (values[0].Value) {
-              _fields[fieldKey] = values[0].Value;
+              _fields[fieldKey] = values[0].Value
             } else if (values[0].Data) {
-              _fields[fieldKey] = values[0].Data.Value;
+              _fields[fieldKey] = values[0].Data.Value
             }
-            item.datas[fieldKey] = values[0];
+            item.datas[fieldKey] = values[0]
           }
         }
       }
     }
-    const subDatas = {};
+    const subDatas = {}
     if (item.subDatas) {
       for (let subData of item.subDatas) {
-        const tag = subData.queryTag.replace("Query", "");
-        subDatas[tag] = subData.datas;
+        const tag = subData.queryTag.replace('Query', '')
+        subDatas[tag] = subData.datas
       }
     }
 
@@ -44,113 +48,105 @@
       ...item,
       id: item.id,
       name: item.datas.Name,
-      icon: getPublicImage(
-        item.datas.Icon,
-        coverSize?.width,
-        coverSize?.height,
-        storeInfo
-      ),
+      icon: getPublicImage(item.datas.Icon, coverSize?.width, coverSize?.height, storeInfo),
       repositoryInfo: repositoryInfo,
-      refCode: item.datas.RefCode === "[]" ? null : item.datas.RefCode,
+      refCode: item.datas.RefCode === '[]' ? null : item.datas.RefCode,
       state: item.datas.State,
       type: item.datas.Type,
       tag: item.datas.Tag,
       creator: item.datas.Creator ? JSON.parse(item.datas.Creator) : undefined,
       storeInfo: storeInfo,
       linkType: item.datas.LinkType,
-      childrenCount: parseInt(item.datas.ChildrenCount ?? "0"),
-      childrenFolderCount: parseInt(item.datas.ChildrenFolderCount ?? "0"),
-      childrenChannelCount: parseInt(item.datas.ChildrenChannelCount ?? "0"),
-      createDate: moment(item.datas.CreateDate).format("YYYY-MM-DD"),
-      beginDate: moment(item.datas.BeginDate).format("YYYY-MM-DD"),
-      endDate: moment(item.datas.EndDate).format("YYYY-MM-DD"),
+      childrenCount: parseInt(item.datas.ChildrenCount ?? '0'),
+      childrenFolderCount: parseInt(item.datas.ChildrenFolderCount ?? '0'),
+      childrenChannelCount: parseInt(item.datas.ChildrenChannelCount ?? '0'),
+      createDate: moment(item.datas.CreateDate).format('YYYY-MM-DD'),
+      beginDate: moment(item.datas.BeginDate).format('YYYY-MM-DD'),
+      endDate: moment(item.datas.EndDate).format('YYYY-MM-DD'),
       description: item.datas.Description,
       sysType: item.datas.SysType,
-      idPath: path + "\\" + item.id,
+      idPath: path + '\\' + item.id,
       typeId: parseInt(item.datas.TypeId),
-      linkFile: JSON.parse(item.datas.LinkFile ?? "[]"),
+      linkFile: JSON.parse(item.datas.LinkFile ?? '[]'),
       cmsItemType: item.datas.CmsItemType,
-      allowDonate: item.datas.AllowDonate == "True",
+      allowDonate: item.datas.AllowDonate == 'True',
       // donatePriceList: JSON.parse(item.datas.DonatePriceList ?? "[]"),
-      productLinkInfo: item.datas.ProductLinkInfo ?? "[]",
-      storeEvent: JSON.parse(item.datas.StoreEvent ?? "[]"),
-      linkInfo: JSON.parse(item.datas.LinkInfo ?? "[]"),
-      saleMethod: JSON.parse(item.datas.SaleMethod ?? "[]"),
+      productLinkInfo: item.datas.ProductLinkInfo ?? '[]',
+      storeEvent: JSON.parse(item.datas.StoreEvent ?? '[]'),
+      linkInfo: JSON.parse(item.datas.LinkInfo ?? '[]'),
+      saleMethod: JSON.parse(item.datas.SaleMethod ?? '[]'),
       subProductCount: parseInt(item.datas.SubProductCount),
       ..._fields,
       datas: item.datas,
-      subDatas,
-    };
+      subDatas
+    }
 
     // 缁熶竴澶勭悊浠锋牸
     if (obj.defaultSaleMethod) {
       if (handelEBooK) {
         // 鑾峰彇闅忎功璧勬簮鐨勯攢鍞柟寮�
-        let saleMethod = [];
+        let saleMethod = []
         try {
           saleMethod = obj.cmsDatas[0].datas.find(
-            (item) => item.datas.RefCode == "tourism_accompanyingResources"
-          ).datas.SaleMethod;
-          saleMethod = JSON.parse(saleMethod);
+            (item) => item.datas.RefCode == 'tourism_accompanyingResources'
+          ).datas.SaleMethod
+          saleMethod = JSON.parse(saleMethod)
         } catch (error) {
-          saleMethod = [];
+          saleMethod = []
         }
         if (saleMethod.length) {
           Object.keys(saleMethod[0]).map((key) => {
-            let newKey = key.replace(key[0], key[0].toLowerCase());
-            saleMethod[0][newKey] = saleMethod[0][key];
-            delete saleMethod[0][key];
-          });
-          obj.defaultSaleMethod = saleMethod[0];
-          obj.defaultSaleMethodId = saleMethod[0].id;
-          obj.alreadyBuy =
-            obj.purchasedSaleMethodIdList.indexOf(obj.defaultSaleMethodId) > -1;
+            let newKey = key.replace(key[0], key[0].toLowerCase())
+            saleMethod[0][newKey] = saleMethod[0][key]
+            delete saleMethod[0][key]
+          })
+          obj.defaultSaleMethod = saleMethod[0]
+          obj.defaultSaleMethodId = saleMethod[0].id
+          obj.alreadyBuy = obj.purchasedSaleMethodIdList.indexOf(obj.defaultSaleMethodId) > -1
         }
       }
       if (obj.defaultSaleMethod.allowEvent && obj.storeEvent.length) {
         // 宸插弬鍔犳椿鍔紝鑾峰彇鏈夋晥娲诲姩骞惰绠椾环鏍�
-        let time = new Date().getTime();
+        let time = new Date().getTime()
         // 杩囨护杩囨湡娲诲姩
         let event = obj.storeEvent.filter((item) => {
-          let endTime = new Date(item.EndDate).getTime();
-          return endTime > time;
-        });
+          let endTime = new Date(item.EndDate).getTime()
+          return endTime > time
+        })
 
         // 鍙鐞嗕竴鏉℃湁鏁堟椿鍔�
         if (event.length) {
-          obj.price = (obj.defaultSaleMethod.price * event[0].Value).toFixed(2);
-          obj.oldPrice = obj.defaultSaleMethod.price;
-          obj.storeEventId = event[0].Id;
+          obj.price = (obj.defaultSaleMethod.price * event[0].Value).toFixed(2)
+          obj.oldPrice = obj.defaultSaleMethod.price
+          obj.storeEventId = event[0].Id
           if (
-            moment().format("YYYY-MM-DD") <
-            moment(obj.defaultSaleMethod.endDate).format("YYYY-MM-DD")
+            moment().format('YYYY-MM-DD') <
+            moment(obj.defaultSaleMethod.endDate).format('YYYY-MM-DD')
           ) {
-            obj.defaultSaleMethodState = "Normal";
+            obj.defaultSaleMethodState = 'Normal'
           } else {
-            obj.defaultSaleMethodState = "Beyond";
+            obj.defaultSaleMethodState = 'Beyond'
           }
         }
       } else {
         if (
-          moment().format("YYYY-MM-DD") <
-          moment(obj.defaultSaleMethod.endDate).format("YYYY-MM-DD")
+          moment().format('YYYY-MM-DD') < moment(obj.defaultSaleMethod.endDate).format('YYYY-MM-DD')
         ) {
-          obj.defaultSaleMethodState = "Normal";
+          obj.defaultSaleMethodState = 'Normal'
         } else {
-          obj.defaultSaleMethodState = "Beyond";
+          obj.defaultSaleMethodState = 'Beyond'
         }
-        obj.price = obj.defaultSaleMethod.price;
-        obj.oldPrice = obj.defaultSaleMethod.virtualPrice;
+        obj.price = obj.defaultSaleMethod.price
+        obj.oldPrice = obj.defaultSaleMethod.virtualPrice
       }
     }
-    dataList.push(obj);
+    dataList.push(obj)
   }
-  return dataList;
+  return dataList
 }
 
 // 澶勭悊璇︽儏鏌ヨ缁撴灉
 export function handleDetailQueryRequestData({
-  productId,
   item,
   fields,
   path,
@@ -258,11 +254,11 @@
           }
         }
         if (subItem.productLinkInfo && subItem.productLinkInfo.length) {
-          let itemProductLinkInfo = subItem.productLinkInfo.find(citem => citem.ProductId == productId)
+          let itemProductLinkInfo = subItem.productLinkInfo.find(citem => citem.Name == item.datas.Name)
           subItem.productLinkPath =
-            itemProductLinkInfo?.LinkPath +
+            itemProductLinkInfo.LinkPath +
             "\\" +
-            itemProductLinkInfo?.CmsItemId;
+            itemProductLinkInfo.CmsItemId;
         }
         if (subItem.linkInfo && subItem.linkInfo.length)
           subItem.linkPath =
@@ -278,9 +274,9 @@
 }
 
 const handleLinkFileInfo = (linkList) => {
-  let linkFileMap = {};
+  let linkFileMap = {}
   for (let z = 0; z < linkList.length; z++) {
-    const linkItem = linkList[z];
+    const linkItem = linkList[z]
     linkFileMap[linkItem.Md5] = {
       linkType: linkItem.LinkType,
       extension: linkItem.Extension,
@@ -291,147 +287,137 @@
       size: linkItem.Size,
       // metaData: JSON.parse(linkItem.MetaData ?? "{}"),
       order: linkItem.Order,
-      protectType: linkItem.ProtectType,
-    };
+      protectType: linkItem.ProtectType
+    }
   }
-  return linkFileMap;
-};
+  return linkFileMap
+}
 
 const convertCmsItemBase = (item, coverSize, handelEBooK) => {
-  item.name = item.datas.Name;
-  item.description = item.datas.Description;
-  item.refCode = item.datas.RefCode;
-  item.state = item.datas.State;
-  item.type = item.datas.Type;
-  item.tag = item.datas.Tag;
-  item.typeId = parseInt(item.datas.TypeId);
-  item.icon = item.datas.Icon,
-  // item.icon = getPublicImage(
-  //   item.datas.Icon,
-  //   coverSize?.width,
-  //   coverSize?.height
-  // );
-  item.sysType = item.datas.SysType;
-  item.linkFile = JSON.parse(item.datas.LinkFile ?? "[]");
-  item.linkType = item.datas.LinkType;
-  item.linkAppId = parseInt(item.datas.LinkAppId);
-  item.linkStoreId = parseInt(item.datas.LinkStore);
-  item.linkRepoId = item.datas.LinkRepository;
-  item.childrenCount = parseInt(item.datas.ChildrenCount ?? "0");
-  (item.childrenFolderCount = parseInt(item.datas.ChildrenFolderCount ?? "0")),
-    (item.childrenChannelCount = parseInt(
-      item.datas.ChildrenChannelCount ?? "0"
-    )),
-    (item.linkId = parseInt(item.datas.LinkId));
-  item.linkOrg = JSON.parse(item.datas.LinkOrg ?? "[]")[0];
-  item.linkDepartment = JSON.parse(item.datas.LinkDepartment ?? "[]")[0];
-  item.linkInfo = JSON.parse(item.datas.LinkInfo ?? "[]");
-  item.productLinkInfo = JSON.parse(item.datas.ProductLinkInfo ?? "[]");
-  item.saleMethod = JSON.parse(item.datas.SaleMethod ?? "[]");
-  item.allowDonate = item.datas.AllowDonate == "True";
+  item.name = item.datas.Name
+  item.description = item.datas.Description
+  item.refCode = item.datas.RefCode
+  item.state = item.datas.State
+  item.type = item.datas.Type
+  item.tag = item.datas.Tag
+  item.typeId = parseInt(item.datas.TypeId)
+  item.icon = getPublicImage(item.datas.Icon, coverSize?.width, coverSize?.height)
+  item.sysType = item.datas.SysType
+  item.linkFile = JSON.parse(item.datas.LinkFile ?? '[]')
+  item.linkType = item.datas.LinkType
+  item.linkAppId = parseInt(item.datas.LinkAppId)
+  item.linkStoreId = parseInt(item.datas.LinkStore)
+  item.linkRepoId = item.datas.LinkRepository
+  item.childrenCount = parseInt(item.datas.ChildrenCount ?? '0')
+  ;(item.childrenFolderCount = parseInt(item.datas.ChildrenFolderCount ?? '0')),
+    (item.childrenChannelCount = parseInt(item.datas.ChildrenChannelCount ?? '0')),
+    (item.linkId = parseInt(item.datas.LinkId))
+  item.linkOrg = JSON.parse(item.datas.LinkOrg ?? '[]')[0]
+  item.linkDepartment = JSON.parse(item.datas.LinkDepartment ?? '[]')[0]
+  item.linkInfo = JSON.parse(item.datas.LinkInfo ?? '[]')
+  item.productLinkInfo = JSON.parse(item.datas.ProductLinkInfo ?? '[]')
+  item.saleMethod = JSON.parse(item.datas.SaleMethod ?? '[]')
+  item.allowDonate = item.datas.AllowDonate == 'True'
   // item.donatePriceList = JSON.parse(item.datas.DonatePriceList ?? "[]");
-  item.createDate = moment(item.datas.CreateDate).format("YYYY-MM-DD");
-  item.beginDate = moment(item.datas.BeginDate).format("YYYY-MM-DD");
-  item.endDate = moment(item.datas.EndDate).format("YYYY-MM-DD");
-  item.storeEvent = JSON.parse(item.datas.StoreEvent ?? "[]");
+  item.createDate = moment(item.datas.CreateDate).format('YYYY-MM-DD')
+  item.beginDate = moment(item.datas.BeginDate).format('YYYY-MM-DD')
+  item.endDate = moment(item.datas.EndDate).format('YYYY-MM-DD')
+  item.storeEvent = JSON.parse(item.datas.StoreEvent ?? '[]')
   // 缁熶竴澶勭悊浠锋牸
   if (item.defaultSaleMethod) {
     if (handelEBooK) {
       // 鑾峰彇闅忎功璧勬簮鐨勯攢鍞柟寮�
       let saleMethod = item.cmsDatas[0].datas.find(
-        (item) => item.refCode == "tourism_accompanyingResources"
-      ).saleMethod;
+        (item) => item.refCode == 'tourism_accompanyingResources'
+      ).saleMethod
       if (saleMethod && saleMethod.length > 0) {
         Object.keys(saleMethod[0]).map((key) => {
-          let newKey = key.replace(key[0], key[0].toLowerCase());
-          saleMethod[0][newKey] = saleMethod[0][key];
-          delete saleMethod[0][key];
-        });
-        item.defaultSaleMethod = saleMethod[0];
-        item.defaultSaleMethodId = saleMethod[0].id;
-        item.alreadyBuy =
-          item.purchasedSaleMethodIdList.indexOf(item.defaultSaleMethodId) > -1;
+          let newKey = key.replace(key[0], key[0].toLowerCase())
+          saleMethod[0][newKey] = saleMethod[0][key]
+          delete saleMethod[0][key]
+        })
+        item.defaultSaleMethod = saleMethod[0]
+        item.defaultSaleMethodId = saleMethod[0].id
+        item.alreadyBuy = item.purchasedSaleMethodIdList.indexOf(item.defaultSaleMethodId) > -1
       }
     }
     if (item.defaultSaleMethod.allowEvent && item.storeEvent.length) {
       // 宸插弬鍔犳椿鍔紝鑾峰彇鏈夋晥娲诲姩骞惰绠椾环鏍�
-      let time = new Date().getTime();
+      let time = new Date().getTime()
       // 杩囨护杩囨湡娲诲姩
       let event = item.storeEvent.filter((item) => {
-        let endTime = new Date(item.EndDate).getTime();
-        return endTime > time;
-      });
+        let endTime = new Date(item.EndDate).getTime()
+        return endTime > time
+      })
       // 鍙鐞嗕竴鏉℃湁鏁堟椿鍔�
       if (event.length) {
-        item.price = (item.defaultSaleMethod.price * event[0].Value).toFixed(2);
-        item.oldPrice = item.defaultSaleMethod.price;
+        item.price = (item.defaultSaleMethod.price * event[0].Value).toFixed(2)
+        item.oldPrice = item.defaultSaleMethod.price
         if (
-          moment().format("YYYY-MM-DD") <
-          moment(item.defaultSaleMethod.endDate).format("YYYY-MM-DD")
+          moment().format('YYYY-MM-DD') <
+          moment(item.defaultSaleMethod.endDate).format('YYYY-MM-DD')
         ) {
-          item.defaultSaleMethodState = "Normal";
+          item.defaultSaleMethodState = 'Normal'
         } else {
-          item.defaultSaleMethodState = "Beyond";
+          item.defaultSaleMethodState = 'Beyond'
         }
-        item.storeEventId = event[0].Id;
+        item.storeEventId = event[0].Id
       }
     } else {
-      item.price = item.defaultSaleMethod.price;
-      item.oldPrice = item.defaultSaleMethod.virtualPrice;
+      item.price = item.defaultSaleMethod.price
+      item.oldPrice = item.defaultSaleMethod.virtualPrice
       if (
-        moment().format("YYYY-MM-DD") <
-        moment(item.defaultSaleMethod.endDate).format("YYYY-MM-DD")
+        moment().format('YYYY-MM-DD') < moment(item.defaultSaleMethod.endDate).format('YYYY-MM-DD')
       ) {
-        item.defaultSaleMethodState = "Normal";
+        item.defaultSaleMethodState = 'Normal'
       } else {
-        item.defaultSaleMethodState = "Beyond";
+        item.defaultSaleMethodState = 'Beyond'
       }
     }
   }
-};
+}
 
 export function getTopicMsgCmsItemFile(fileType, fileList) {
-  let obj = {};
+  let obj = {}
   fileType.forEach((item) => {
-    item.sequenceNum = item.config ? JSON.parse(item.config).uuid : "";
+    item.sequenceNum = item.config ? JSON.parse(item.config).uuid : ''
     fileList.forEach((e) => {
       if (item.sequenceNum == e.sequenceNum) {
         try {
           if (e.fileLinkList.length > 0) {
             for (let i = 0; i < e.fileLinkList.length; i++) {
-              const ele = e.fileLinkList[i];
-              ele.name = ele.file.fileName;
-              ele.md5 = ele.file.md5;
-              ele.status = "success";
+              const ele = e.fileLinkList[i]
+              ele.name = ele.file.fileName
+              ele.md5 = ele.file.md5
+              ele.status = 'success'
             }
-            obj[item.typeField.refCode] = e.fileLinkList;
+            obj[item.typeField.refCode] = e.fileLinkList
           } else {
-            const val = JSON.parse(e.value);
-            obj[item.typeField.refCode] = val;
+            const val = JSON.parse(e.value)
+            obj[item.typeField.refCode] = val
           }
         } catch (error) {
-          obj[item.typeField.refCode] = e.value;
+          obj[item.typeField.refCode] = e.value
         }
       }
-    });
-  });
-  return obj;
+    })
+  })
+  return obj
 }
 
 // 鑾峰彇涓嶅彈淇濇姢鐨勫浘鐗�
-export function getPublicImage(md5, width, height,storeInfo) {
-  let src = null;
+export function getPublicImage(md5, width, height, storeInfo) {
+  let src = null
   if (md5) {
-    src = requestCtx + `/file/GetPreViewImage?md5=${md5}`;
+    src = requestCtx + `/file/GetPreViewImage?md5=${md5}`
   } else {
     if(storeInfo == `defaultGoodsStore${appId}`){
       return bookCover;
     }else{
       return ""
     }
-    
   }
-  if (width) src += `&width=${width}`;
-  if (height) src += `&height=${height}`;
-  return src;
+  if (width && src) src += `&width=${width}`
+  if (height && src) src += `&height=${height}`
+  return src
 }

--
Gitblit v1.9.1