yiming
2024-06-13 c95ed3b99b3cb75374f2c8819740a1839ed28a0f
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,9 +10,14 @@
   * 页面的初始数据
   */
  data: {
    type: 'basicInformation',
    digitalTextId: '',
    digitalsData: {},
    isFavourite: true,
    richStyle: 'font-size: 28rpx;color: #333; line-height: 48rpx;text-align: justify;margin: 20rpx; ',
    tabValue: "brief",
    relatedBookData: [],
@@ -45,7 +53,14 @@
    },
    testResourceClickIocn: {
      name: "/static/images/digitalTextbooks/Link@2x.png",
    }
    },
    catalogue: {
      name: "/static/images/digitalTextbooks/mulu@2x.png",
    },
    catalogueClickIcon: {
      name: "/static/images/digitalTextbooks/mulu@2x.png",
    },
  },
@@ -58,6 +73,11 @@
      digitalTextId: options.id
    })
    this.digitalTextbooksDetailsGet(this.data.digitalTextId)
  },
  // 格式化日期
@@ -215,7 +235,7 @@
        publicationDate: this.formatDate(res.datas.publicationDate)
      })
      res.datas.price = res.datas.price.toFixed(2)
      res.datas.isFavourite = false
      this.setData({
        digitalsData: res.datas
      })
@@ -229,38 +249,14 @@
      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) {
    this.setData({
@@ -446,16 +442,202 @@
  // console.log(token);
  goRead() {
    const item = this.data.digitalsData
    // 首页测试登录功能,后续注释
    // 检查登录状态
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        // 如果不是第一次登录,会执行回调
        if (data) {
          // 登录成功,自动记录token和用户信息,并返回true
    let token = wx.getStorageSync(app.config.tokenKey)
    console.log();
    const URL = app.config.textReaderUrl + '?bookId=' + item.refCode + "&tryPageCount=" + item.probationPage + "&token=" + token
          const item = this.data.digitalsData
          wx.navigateTo({
            url: '/pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index?refCode=' + item.refCode + "&tryPageCount=" + item.probationPage
          });
        } else {
          // 出现错误,返回false
        }
      })
    } 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');
    //获取板块一离scroll-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 {
          // 出现错误,返回false
        }
      })
    } 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
          })
        })
      }
    }
  }
})