From ccda9ec2fe70d8f51ef184eafc04b78d22dfbabd Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期三, 26 六月 2024 15:02:28 +0800
Subject: [PATCH] 小程序,教材,课程

---
 pages/digitalTextbooks/digitalTextbooksDetails/index.js |  342 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 279 insertions(+), 63 deletions(-)

diff --git a/pages/digitalTextbooks/digitalTextbooksDetails/index.js b/pages/digitalTextbooks/digitalTextbooksDetails/index.js
index bf850f1..68b6c40 100644
--- a/pages/digitalTextbooks/digitalTextbooksDetails/index.js
+++ b/pages/digitalTextbooks/digitalTextbooksDetails/index.js
@@ -1,5 +1,8 @@
 // pages/digitalTextbooks/digitalTextbooksDetails/index.js
 import Toast from "tdesign-miniprogram/toast";
+import {
+  loginInfo
+} from '../../../assets/js/login';
 const app = getApp()
 Page({
 
@@ -7,29 +10,64 @@
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
+    type: 'basicInformation',
     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-g.png",
-    },
+    expire: false, //鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈�
+    tabValue: "brief",
     relatedBookData: [],
     publicationDate: '',
     isBuy: false,
     loading: true,
+    briefIcon: {
+      name: "/static/images/digitalTextbooks/jibenxinxi-t@2x.png",
+    },
+    briefIconClick: {
+      name: "/static/images/digitalTextbooks/jibenxinxi-t-click@3x.png",
+    },
+    eBookIcon: {
+      name: "/static/images/digitalTextbooks/zuozhejianjie-t@2x.png",
+    },
+    eBookClickIcon: {
+      name: "/static/images/digitalTextbooks/zuozhejianjie@2x.png",
+    },
+    teachResourcesIcon: {
+      name: "/static/images/digitalTextbooks/zuozhejianjie-t@2x.png",
+    },
+    teachResourcesClickIcon: {
+      name: "/static/images/digitalTextbooks/zuozhejianjie-t-click@3x.png",
+    },
+    learnResourceIcon: {
+      name: "/static/images/digitalTextbooks/shengshu-t@2x.png",
+    },
+    learnResourceClickIcon: {
+      name: "/static/images/digitalTextbooks/zhengshu-t-click@3x.png",
+    },
+    testResourceIocn: {
+      name: "/static/images/digitalTextbooks/link-t@3x.png",
+    },
+    testResourceClickIocn: {
+      name: "/static/images/digitalTextbooks/link-t-click@3x.png",
+    },
+
+    catalogue: {
+      name: "/static/images/digitalTextbooks/mulu-t@3x.png",
+    },
+    catalogueClickIcon: {
+      name: "/static/images/digitalTextbooks/mulu-t-click@3x.png",
+    },
+
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
    */
   onLoad(options) {
-    console.log(options.id);
+    console.log(options);
     this.setData({
       digitalTextId: options.id
     })
     this.digitalTextbooksDetailsGet(this.data.digitalTextId)
-
   },
   // 鏍煎紡鍖栨棩鏈�
   // 鏍煎紡鍖栨棩鏈�
@@ -165,14 +203,10 @@
       }
     }
     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
@@ -186,60 +220,47 @@
         publicationDate: this.formatDate(res.datas.publicationDate)
       })
       res.datas.price = res.datas.price.toFixed(2)
-      res.datas.isFavourite = false
+
       this.setData({
         digitalsData: res.datas
       })
-
+      let times = new Date(res.datas.defaultSaleMethod.endDate).getTime()
+      let startTime = new Date(res.datas.defaultSaleMethod.beginDate).getTime()
+      if (times < new Date().getTime() || new Date().getTime() < startTime) {
+        this.setData({
+          expire: true
+        })
+      } else {
+        this.setData({
+          expire: res.false
+        })
+      }
       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,
+        type: 'basicInformation',
 
       });
+
+      // this.onCe()
+
     })
-  },
-  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}.`);
+    this.setData({
+      tabValue: event.detail.value,
+    })
+    console.log(this.data.tabValue);
   },
 
   onTabsClick(event) {
-    console.log(`Click tab, tab-panel value is ${event.detail.value}.`);
+    // console.log(`Click tab, tab-panel value is ${event.detail.value}.`);
   },
-
   // 鑾峰彇鐩稿叧鏁欐潗
   getAboutBook(path) {
     let query = {
@@ -273,7 +294,6 @@
         } else {
           bookArr = Arr
         }
-
         bookArr.forEach(item => {
           if (item.icon == '') {
             item.icon = '/static/images/default-book-img.png'
@@ -291,13 +311,17 @@
     })
   },
   onCorrelationBook(e) {
-
-
-
     const item = e.currentTarget.dataset.item
-
-    console.log(item);
-    this.digitalTextbooksDetailsGet(item.id)
+    // const event = {
+    //   detail: {
+    //     value: "brief"
+    //   }
+    // }
+    // this.onTabsChange(event)
+    // this.digitalTextbooksDetailsGet(item.id)
+    this.onLoad({
+      id: item.id
+    })
   },
   // 鍥句功娣诲姞璐墿杞�
   async addBookShopcCar() {
@@ -355,7 +379,6 @@
 
 
   //璐拱鎸夐挳
-
   async buyBtn() {
     if (!this.data.expire) {
       let bookOrdersId = "";
@@ -379,6 +402,7 @@
               orderNum: bookOrdersId,
             })
             .then((res) => {
+              this.digitalTextbooksDetailsGet(this.data.digitalTextId)
               if (res) {
                 wx.showToast({
                   title: "棰嗗彇鎴愬姛",
@@ -409,17 +433,209 @@
   // console.log(item, app.config.textReaderUrl);
   // console.log(token);
   goRead() {
-
-    const item = this.data.digitalsData
-
-    let token = wx.getStorageSync(app.config.tokenKey)
-    console.log();
-    const URL = app.config.textReaderUrl + '?bookId=' + item.refCode + "&tryPageCount=" + item.probationPage + "&token=" + token
+    // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲�
+    // 妫�鏌ョ櫥褰曠姸鎬�
+    const token = wx.getStorageSync(app.config.tokenKey)
+    if (!token) {
+      loginInfo(app, (data) => {
+        // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
+        if (data) {
+          // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue
+          const item = this.data.digitalsData
+          wx.navigateTo({
+            url: '/pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index?refCode=' + item.refCode + "&tryPageCount=" + item.probationPage
+          });
+        } else {
+          // 鍑虹幇閿欒锛岃繑鍥瀎alse
+        }
+      })
+    } else {
+      // 濡傛灉鏄涓�娆$櫥褰曪紝浼氳烦杞嚦缁戝畾鐢ㄦ埛淇℃伅椤甸潰锛屽~鍐欏畬鐢ㄦ埛淇℃伅鍚庤繘琛岀櫥褰曞苟鍌ㄥ瓨token鍜岀敤鎴蜂俊鎭紝缁撴潫鍚庤烦杞洖褰撳墠椤甸潰锛堟惡甯﹂〉闈㈠弬鏁帮級
+      const item = this.data.digitalsData
+      wx.navigateTo({
+        url: '/pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index?refCode=' + item.refCode + "&tryPageCount=" + item.probationPage
+      });
+    }
+    // let token = wx.getStorageSync(app.config.tokenKey)
+    // if (token) {
 
 
-    wx.navigateTo({
-      url: '/pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index?refCode=' + item.refCode + "&tryPageCount=" + item.probationPage
-    });
 
-  }
+
+    // }
+
+
+  },
+  onTabClick(e) {
+    // debugger
+    console.log(e);
+    let tab = e.currentTarget.dataset.tab;
+
+    this.setData({
+      type: tab,
+
+    })
+
+    if (tab == 'basicInformation') {
+      this.setData({
+        topPos: 0
+      })
+    } else if (tab == 'certificateInformation') {
+      this.setData({
+        topPos: this.certificateInformation
+      })
+    } else if (tab == 'authorSynopsis') {
+      this.setData({
+        topPos: this.authorSynopsis
+      })
+    } else if (tab == 'listings') {
+      this.setData({
+        topPos: this.listings
+      })
+    } else if (tab == 'relatedTextbooks') {
+      this.setData({
+        topPos: this.relatedTextbooks
+      })
+    }
+
+  },
+
+
+  onScroll(e) {
+
+    let scrollTop = e.detail.scrollTop
+    console.log(scrollTop);
+    // this.setData({
+    //   type: scrollTop
+    // })
+
+
+    if (scrollTop < this.basicInformation) {
+      this.setData({
+        type: 'basicInformation'
+      })
+    } else if (scrollTop >= this.basicInformation && scrollTop < this.certificateInformation) {
+      this.setData({
+        type: 'certificateInformation'
+      })
+    } else if (scrollTop >= this.certificateInformation && scrollTop < this.authorSynopsis) {
+      this.setData({
+        type: 'authorSynopsis'
+      })
+    } else if (scrollTop >= this.authorSynopsis && scrollTop < this.listings) {
+      this.setData({
+        type: 'listings'
+      })
+    } else if (scrollTop >= this.listings && scrollTop < this.relatedTextbooks) {
+      this.setData({
+        type: 'relatedTextbooks'
+      })
+    }
+
+
+
+  },
+  onCe() {
+
+    let that = this;
+    var query = wx.createSelectorQuery()
+    console.log(query, '12355');
+    //鑾峰彇鏉垮潡涓�绂籹croll-view椤堕儴鐨勮窛绂�,绗竴鏉垮潡瀹為檯璺濈涓�0锛屾澶勮幏鍙栧彧涓虹粰绗簩鍙婄涓夋澘鍧楀噺鍘荤涓�鏉垮潡璺濈scroll-view鐨勯《閮ㄨ窛绂�
+    wx.createSelectorQuery().select('#basicInformation').boundingClientRect(function (res) {
+      console.log(res, '456882588');
+      that.basicInformation = res.top
+    }).exec()
+    //鑾峰彇鏉垮潡浜岀scroll-view椤堕儴鐨勮窛绂�
+    query.select('#certificateInformation').boundingClientRect(function (res) {
+      that.certificateInformation = res.top - that.basicInformation
+    }).exec()
+    //鑾峰彇鏉垮潡涓夌scroll-view椤堕儴鐨勮窛绂�
+    query.select('#authorSynopsis').boundingClientRect(function (res) {
+      that.authorSynopsis = res.top - that.basicInformation
+    }).exec()
+    //鑾峰彇鏉垮潡鍥涚scroll-view椤堕儴鐨勮窛绂�
+    query.select('#listings').boundingClientRect(function (res) {
+      that.listings = res.top - that.basicInformation
+    }).exec()
+    //鑾峰彇鏉垮潡浜旂scroll-view椤堕儴鐨勮窛绂�
+    query.select('#relatedTextbooks').boundingClientRect(function (res) {
+      that.relatedTextbooks = res.top - that.basicInformation
+    }).exec()
+  },
+  setCoolect() {
+    console.log(456);
+
+    // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲�
+    // 妫�鏌ョ櫥褰曠姸鎬�
+    const token = wx.getStorageSync(app.config.tokenKey)
+    if (!token) {
+      loginInfo(app, (data) => {
+        // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
+        if (data) {
+          if (this.data.digitalsData.isFavourite) {
+            app.MG.store
+              .delProductLink({
+                productIds: [this.data.digitalsData.id],
+                linkType: 'FavoriteBookCity'
+              })
+              .then(() => {
+                this.setData({
+                  "digitalsData.isFavourite": false
+                })
+              })
+          } else {
+            let params = {
+              productIds: [this.data.digitalsData.id],
+              linkType: 'FavoriteBookCity'
+            }
+            app.MG.store.addProductLink(params).then((res) => {
+              this.setData({
+                "digitalsData.isFavourite": true
+              })
+            })
+          }
+        } else {
+          // 鍑虹幇閿欒锛岃繑鍥瀎alse
+        }
+      })
+    } else {
+      if (this.data.digitalsData.isFavourite) {
+        app.MG.store
+          .delProductLink({
+            productIds: [this.data.digitalsData.id],
+            linkType: 'FavoriteBookCity'
+          })
+          .then(() => {
+            this.setData({
+              "digitalsData.isFavourite": false
+            })
+          })
+      } else {
+        let params = {
+          productIds: [this.data.digitalsData.id],
+          linkType: 'FavoriteBookCity'
+        }
+        app.MG.store.addProductLink(params).then((res) => {
+          this.setData({
+            "digitalsData.isFavourite": true
+          })
+        })
+      }
+    }
+  },
+  // 鎴戣寤鸿
+  suggestBtn() {
+    // 妫�鏌ョ櫥褰曠姸鎬�
+    const token = wx.getStorageSync(app.config.tokenKey);
+
+    console.log(465);
+
+    const child = this.selectComponent("#suggest-component");
+    // if (token)
+    //   // child.showDialog();
+    //   this.setData({
+    //     showIndex: '1'
+    //   })
+  },
+
 })
\ No newline at end of file

--
Gitblit v1.9.1