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