闫增涛
2024-03-29 e060ad2b2da9884e00b36796548eacc6a2b9a5d3
packageBookService/pages/bookServices/detail/index.js
@@ -1,7 +1,9 @@
// pages/bookServices/detail/index.js
import Message from 'tdesign-miniprogram/message/index.js';
import Toast from 'tdesign-miniprogram/toast';
import tool from '../../../../assets/js/toolClass'
import tool from '../../../../assets/js/toolClass';
import {
  loginInfo
} from '../../../../assets/js/login'
const app = getApp();
Page({
  /**
@@ -70,6 +72,7 @@
    paperBookCount: 0, //纸质书剩余次数
    ebookCount: 0, //电子书剩余次数
    userInfo: {},
    pageLoading: true,
    fileInfo: {
      bookName: "",
      fileType: "",
@@ -132,6 +135,22 @@
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 检查登录状态
    // const token = wx.getStorageSync(app.config.tokenKey)
    // if (!token) {
    //   loginInfo(app, (data) => {
    //     // 如果不是第一次登录,会执行回调
    //     if (data) {
    //       // 登录成功,自动记录token和用户信息,并返回true
    //     } else {
    //       // 出现错误,返回false
    //     }
    //   })
    // } else {
    //   // 如果是第一次登录,会跳转至绑定用户信息页面,填写完用户信息后进行登录并储存token和用户信息,结束后跳转回当前页面(携带页面参数)
    // }
    const systInfo = wx.getSystemInfoSync();
    const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息
    const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度
@@ -149,7 +168,7 @@
    this.getBookInfo(options.id);
    this.getResourceClass() // 获取资源所属分类
    const token = wx.getStorageSync('jsek-token')
    const token = wx.getStorageSync(app.config.tokenKey)
    if (token) {
      this.getShoppingCartProductGet()
      this.getApplyInfo(options.id)
@@ -281,7 +300,7 @@
    this.setData({
      "mockData'.id": 0,
      "mockData.price": 0,
      "mockData.count": 0
      "mockData.count": 0,
    })
    const query = {
      path: '*',
@@ -359,6 +378,7 @@
        'bookDetail.price': this.numFormat(this.data.bookDetail.price),
        'bookDetail.oldPrice': this.numFormat(this.data.bookDetail.oldPrice),
        'bookDetail.paperPrice': this.numFormat(this.data.bookDetail.paperPrice),
        pageLoading: false
      });
      console.log('图书信息', this.data.bookDetail);
    });
@@ -485,45 +505,68 @@
  },
  // 收藏
  setCollect() {
    if (this.data.bookDetail.isFavourite) {
      app.MG.store
        .delProductLink({
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      // 检查登录状态
      loginInfo(app, (data) => {
        // 如果不是第一次登录,会执行回调
        if (data) {
          // 登录成功,自动记录token和用户信息,并返回true
          this.getBookInfo(this.data.bookId)
        } else {
          // 出现错误,返回false
        }
      })
    } else {
      debugger
      if (this.data.bookDetail.isFavourite) {
        app.MG.store
          .delProductLink({
            productIds: [this.data.bookDetail.id],
            linkType: 'FavoriteBookCity',
          })
          .then(() => {
            this.setData({
              'bookDetail.isFavourite': false
            })
          });
      } else {
        const params = {
          productIds: [this.data.bookDetail.id],
          linkType: 'FavoriteBookCity',
        })
        .then(() => {
        };
        app.MG.store.addProductLink(params).then((res) => {
          this.setData({
            'bookDetail.isFavourite': false
            'bookDetail.isFavourite': true
          })
          Message.success({
            context: this,
            offset: [20, 32],
            duration: 5000,
            content: '这是一条成功的提示消息',
          });
        });
    } else {
      const params = {
        productIds: [this.data.bookDetail.id],
        linkType: 'FavoriteBookCity',
      };
      app.MG.store.addProductLink(params).then((res) => {
        this.setData({
          'bookDetail.isFavourite': true
        })
        Message.success({
          context: this,
          offset: ['20rpx', '32rpx'],
          duration: 2000,
          content: '收藏成功',
        });
      });
      }
    }
  },
  // 我要建议
  suggestBtn() {
    // 检查登录状态
    const token = wx.getStorageSync(app.config.tokenKey)
    const child = this.selectComponent('#suggest-component')
    child.showDialog()
    if (!token) {
      wx.showLoading({
        title: '加载中',
      })
      loginInfo(app, (data) => {
        // 如果不是第一次登录,会执行回调
        if (data) {
          // 登录成功,自动记录token和用户信息,并返回true
          child.showDialog()
          wx.hideLoading()
        } else {
          // 出现错误,返回false
        }
      })
    } else {
      // 如果是第一次登录,会跳转至绑定用户信息页面,填写完用户信息后进行登录并储存token和用户信息,结束后跳转回当前页面(携带页面参数)
      child.showDialog()
    }
  },
  // 跳转网店
  goShop(e) {
@@ -559,20 +602,18 @@
        })
      }
    } else if (e.detail.label == '云笔记') {
      const token = wx.getStorageSync('jsek-token')
      const token = wx.getStorageSync(app.config.tokenKey)
      const child = this.selectComponent('#note')
      child.handleSubmitTitle()
      if (token) {
        child.changeLoading()
        child.getNoteList()
      }
    } else if (e.detail.label == '电子书') {
      const child = this.selectComponent('#eBook')
      if (child) {
        child.getProgress()
      }
    }
  },
  // 获取资源所属分类
@@ -775,9 +816,7 @@
  // 图书添加购物车
  async addBookShopcCar() {
    if (!this.data.expire) {
      const token = wx.getStorageSync('jsek-token')
      if (!token) {
        return wx.getUserProfile({
@@ -1197,54 +1236,57 @@
  // 云学习一键领取
  async getFreeResource() {
    const child = this.selectComponent('#learn-resource')
    const token = wx.getStorageSync('jsek-token')
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      return wx.getUserProfile({
        desc: '用户登录',
        success: (res) => {
          console.log(res);
      loginInfo(app, (data) => {
        // 如果不是第一次登录,会执行回调
        if (data) {
          // 登录成功,自动记录token和用户信息,并返回true
        } else {
          // 出现错误,返回false
        }
      })
    }
    let arr = this.handleTreeData(this.data.learn).filter((item) => this.resourceIsBuy(item))
    let freeIds = arr.filter((item) => {
      return item.saleMethod[0].Price == 0
    })
    if (!freeIds.length) return wx.showToast({
      icon: "error",
      title: '暂无免费资源',
    })
    child.changeReceive(true)
    let requests = []
    freeIds.forEach((item, index) => {
      if (this.resourceIsBuy(item)) {
        requests.push({
          saleMethodId: item.saleMethod[0].Id,
          count: 1
        })
      }
    })
    } else {
      let arr = this.handleTreeData(this.data.learn).filter((item) => this.resourceIsBuy(item))
      let freeIds = arr.filter((item) => {
        return item.saleMethod[0].Price == 0
      })
      if (!freeIds.length) return wx.showToast({
        icon: "error",
        title: '暂无免费资源',
      })
      child.changeReceive(true)
      let requests = []
      freeIds.forEach((item, index) => {
        if (this.resourceIsBuy(item)) {
          requests.push({
            saleMethodId: item.saleMethod[0].Id,
            count: 1
          })
        }
      })
    let query = {
      remarks: '云学习',
      requests,
    }
    try {
      const initOrderRes = await app.MG.store.initOrder(query)
      let parameter = {
        orderNum: initOrderRes.orderNumber
      let query = {
        remarks: '云学习',
        requests,
      }
      // 确认订单
      const confirmOrderRes = await app.MG.store.confirmOrder(parameter)
      if (confirmOrderRes.orderNumber) {
        child.changeReceive(false)
        wx.showToast({
          title: '领取成功',
        })
        this.getBookInfo(this.data.bookId)
      try {
        const initOrderRes = await app.MG.store.initOrder(query)
        let parameter = {
          orderNum: initOrderRes.orderNumber
        }
        // 确认订单
        const confirmOrderRes = await app.MG.store.confirmOrder(parameter)
        if (confirmOrderRes.orderNumber) {
          child.changeReceive(false)
          wx.showToast({
            title: '领取成功',
          })
          this.getBookInfo(this.data.bookId)
        }
      } catch (error) {
        console.log(error)
      }
    } catch (error) {
      console.log(error)
    }
  },
  // 云学习一键购买
@@ -1453,8 +1495,7 @@
  buyBtn() {
    if (this.data.tabValue == 'brief' && !this.data.bookBuy) {
      this.buyBook()
    }
    else if (this.data.tabValue == 'jsek_cloudLearning') {
    } else if (this.data.tabValue == 'jsek_cloudLearning') {
      const tree = this.selectComponent('#tree')
      tree.onCloudShoppingCart()
    } else {