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 | 321 ++++++++++++++++++++++++---------------------------- 1 files changed, 148 insertions(+), 173 deletions(-) diff --git a/src/assets/js/middleGround/tool.js b/src/assets/js/middleGround/tool.js index 0f5fbfa..c3d4075 100644 --- a/src/assets/js/middleGround/tool.js +++ b/src/assets/js/middleGround/tool.js @@ -1,10 +1,10 @@ -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 courseIcon from "@/assets/images/courseIcon.png"; -import textBookIcon from "@/assets/images/textBookIcon.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, @@ -13,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 } } @@ -48,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, @@ -262,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 = @@ -282,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, @@ -295,154 +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 == 'jsek_bookFair') { - // return defaultBookFair; - return - }else if(storeInfo == `defaultGoodsStore${appId}`){ + if(storeInfo == `defaultGoodsStore${appId}`){ return bookCover; - }else if(storeInfo == 'jsek_digitalCourses'){ - return courseIcon; - }else if(storeInfo == 'jsek_digitalTextbooks'){ - return textBookIcon; }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