From dcd5065a6ed1b75b0e3c1491d267ab73b4997f11 Mon Sep 17 00:00:00 2001 From: yiming <m13691596795@163.com> Date: 星期四, 06 六月 2024 11:38:59 +0800 Subject: [PATCH] 数字教材详情 --- pages/digitalTextbooks/digitalTextbooksDetails/index.js | 363 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 360 insertions(+), 3 deletions(-) diff --git a/pages/digitalTextbooks/digitalTextbooksDetails/index.js b/pages/digitalTextbooks/digitalTextbooksDetails/index.js index 1e62a7d..b31a042 100644 --- a/pages/digitalTextbooks/digitalTextbooksDetails/index.js +++ b/pages/digitalTextbooks/digitalTextbooksDetails/index.js @@ -1,11 +1,23 @@ // pages/digitalTextbooks/digitalTextbooksDetails/index.js +import Toast from "tdesign-miniprogram/toast"; +const app = getApp() Page({ /** * 椤甸潰鐨勫垵濮嬫暟鎹� */ data: { - + digitalTextId: '', + digitalsData: {}, + isFavourite: true, + richStyle: 'font-size: 28rpx;color: #333; line-height: 48rpx;text-align: justify;margin: 20rpx; ', + briefIconClick: { + name: "/static/images/bookService/detail/tushujianjie-click.png", + }, + relatedBookData: [], + publicationDate: '', + isBuy: false, + loading: true, }, /** @@ -13,8 +25,60 @@ */ onLoad(options) { console.log(options.id); - }, + this.setData({ + digitalTextId: options.id + }) + this.digitalTextbooksDetailsGet(this.data.digitalTextId) + }, + // 鏍煎紡鍖栨棩鏈� + // 鏍煎紡鍖栨棩鏈� + formatDate(dateString) { + if (!dateString) { + return ""; + } + const match = dateString.match( + /^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/ + ); + if (!match) { + throw new Error("Invalid date format"); + } + + const [, year, month, day, hours, minutes, seconds] = match; + const date = new Date( + parseInt(year, 10), + parseInt(month, 10) - 1, + parseInt(day, 10), + parseInt(hours, 10), + parseInt(minutes, 10), + parseInt(seconds, 10) + ); + + if (isNaN(date.getTime())) { + throw new Error("Invalid date"); + } + + // 鐢变簬灏忕▼搴忕幆澧冨彲鑳戒笉鏀寔 Intl.DateTimeFormat锛屾垜浠娇鐢ㄧ畝鍖栫殑鏍煎紡鍖栨柟娉� + const formatted = `${year}骞�${this.formatMonth(month)}`; + return formatted; + }, // 绠�鍖栫殑鏈堜唤鏍煎紡鍖栧嚱鏁帮紝杩斿洖鏈堜唤鐨勪腑鏂囪〃杈� + formatMonth(month) { + const months = [ + "1鏈�", + "2鏈�", + "3鏈�", + "4鏈�", + "5鏈�", + "6鏈�", + "7鏈�", + "8鏈�", + "9鏈�", + "10鏈�", + "11鏈�", + "12鏈�", + ]; + return months[parseInt(month, 10) - 1]; + }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚 */ @@ -40,7 +104,9 @@ * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇 */ onUnload() { - + this.setData({ + digitalsData: {} + }) }, /** @@ -62,5 +128,296 @@ */ onShareAppMessage() { + }, + + + digitalTextbooksDetailsGet(digitalId) { + + let query = { + path: '*', + queryType: '*', + productId: digitalId, + storeInfo: 'jsek_digitalTextbooks', + coverSize: { + height: 300 + }, + fields: { + seriesName: [], + author: [], + isbn: [], + publicationDate: [], + bookClassification: [], + paperPrice: [], + JDLink: [], + tmallLink: [], + dangdangLink: [], + weidianLink: [], + content: [], + authorIntroduction: [], + isApplyBook: [], + isSell: [], + pdf: [], + protectedEpub: [], + probationPage: [], //pdf璇曡椤垫暟 + freeEpubPage: [], + catalogue: [] + //epub璇曡鐧惧垎姣� + } + } + app.MG.store.getProductDetail(query).then(res => { + + // console.log(res); + if (res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId)) { + + this.setData({ + isBuy: true + }) + + } else { + this.setData({ + isBuy: false + }) + } + // res.datas.publicationDate = + if (res.datas.icon == '') { + res.datas.icon = '/static/images/default-book-img.png' + } + this.setData({ + publicationDate: this.formatDate(res.datas.publicationDate) + }) + res.datas.price = res.datas.price.toFixed(2) + res.datas.isFavourite = false + this.setData({ + digitalsData: res.datas + }) + + wx.setNavigationBarTitle({ + title: res.datas.name, + }) + + this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath) + + console.log(this.data.isBuy); + this.setData({ + loading: false, + + }); + }) + }, + setCoolect() { + console.log(this.data.digitalsData.id); + console.log(this.data.digitalsData.isFavourite); + this.setData({ + isFavourite: !this.data.isFavourite + }) + + + + if (this.data.digitalsData.isFavourite) { + app.MG.store + .delProductLink({ + productIds: [this.data.digitalsData.id], + linkType: 'FavoriteBookCity' + }) + .then(() => { + this.data.digitalsData.isFavourite = false + }) + } else { + let params = { + productIds: [this.data.digitalsData.id], + linkType: 'FavoriteBookCity' + } + app.MG.store.addProductLink(params).then((res) => { + this.data.digitalsData.isFavourite = true + }) + } + }, + onTabsChange(event) { + console.log(`Change tab, tab-panel value is ${event.detail.value}.`); + }, + + onTabsClick(event) { + console.log(`Click tab, tab-panel value is ${event.detail.value}.`); + }, + + // 鑾峰彇鐩稿叧鏁欐潗 + getAboutBook(path) { + let query = { + path, + queryType: '*', + coverSize: { + height: 243 + }, + paging: { + start: 0, + size: 99 + }, + fields: { + author: [], + publicationDate: [] + } + } + app.MG.store.getProductList(query).then(res => { + const Arr = res.datas.filter( + (item) => item.id != this.data.digitalsData.id + ); + let bookArr = [] + if (Arr.length) { + if (Arr.length > 9) { + for (var i = 0; i < 9; i++) { + var _num = Math.floor(Math.random() * Arr.length) + var mm = Arr[_num] + Arr.splice(_num, 1) + bookArr.push(mm) + } + } else { + bookArr = Arr + } + + bookArr.forEach(item => { + if (item.icon == '') { + item.icon = '/static/images/default-book-img.png' + } + }) + this.setData({ + relatedBookData: bookArr + }) + console.log(this.data.relatedBookData); + } else { + this.setData({ + relatedBookData: [] + }) + } + }) + }, + onCorrelationBook(e) { + + + + const item = e.currentTarget.dataset.item + + console.log(item); + this.digitalTextbooksDetailsGet(item.id) + }, + // 鍥句功娣诲姞璐墿杞� + async addBookShopcCar() { + if (!this.data.expire) { + const shoppingCartGetId = []; + let query = { + start: 0, + size: 9999, + filterList: [], + searchList: [], + }; + const res = await app.MG.store.getShoppingCartProductList(query); + res.datas.forEach((item) => { + shoppingCartGetId.push(item.saleMethod.id); + }); + const determine = shoppingCartGetId.some( + (item) => item == this.data.digitalsData.defaultSaleMethodId + ); + if (!determine) { + let query = { + requests: [{ + saleMethodId: this.data.digitalsData.defaultSaleMethodId, + storeEventId: null, + agentCode: "鐢靛瓙涔�", + }, ], + }; + const addRes = app.MG.store.addShoppingCart(query); + this.showSuccessToast(); + } else { + Toast({ + context: this, + selector: "#t-toast", + message: "璇ヤ功宸插湪璐墿杞︼紝璇峰嬁閲嶅娣诲姞", + theme: "warning", + direction: "column", + }); + } + } else { + wx.showToast({ + title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", + icon: "none", + duration: 1000, + }); + } + }, + showSuccessToast() { + Toast({ + context: this, + selector: "#t-toast", + message: "娣诲姞鎴愬姛", + theme: "success", + direction: "column", + }); + }, + + + //璐拱鎸夐挳 + + async buyBtn() { + if (!this.data.expire) { + let bookOrdersId = ""; + let query = { + remarks: "鐢靛瓙涔�", + requests: [{ + saleMethodId: this.data.digitalsData.defaultSaleMethodId, + count: 1, + }, ], + }; + // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉 + const res = await app.MG.store.initOrder(query); + // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value + console.log(res, 'res456'); + bookOrdersId = res.orderNumber; + // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪 + if (bookOrdersId) { + if (this.data.digitalsData.price == "0.00") { + app.MG.store + .confirmOrder({ + orderNum: bookOrdersId, + }) + .then((res) => { + if (res) { + wx.showToast({ + title: "棰嗗彇鎴愬姛", + icon: "none", + duration: 1000, + }); + this.getBookInfo(this.data.bookDetail.id); + } + }); + } else { + const url = "/pages/cart/paymentPage/index?orderNumber=" + bookOrdersId + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id; + wx.navigateTo({ + url, + }); + } + } else { + console.log(222); + } + } else { + wx.showToast({ + title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", + icon: "none", + duration: 1000, + }); + } + + + + + + + + + + + + + + + } }) \ No newline at end of file -- Gitblit v1.9.1