闫增涛
2025-03-27 96b0b8bb1597d825004f5a8da0728c48b6ce7dba
pages/home/home.js
@@ -1,7 +1,6 @@
import {
  fetchHome
} from '../../services/home/home';
import moment from 'moment'
import {
  loginInfo
} from '../../assets/js/login';
@@ -39,16 +38,32 @@
    baseRefresh: {
      value: false
    },
    loading: true
    loading: true,
    showStateMenu: false, // 新年公告弹窗
  },
  onShow() {
    this.setData({
      searchVal: "",
    });
    console.log(this.data.searchVal)
    this.loadHomePage();
    const token = wx.getStorageSync(app.config.tokenKey)
    if (token) {
      this.getShoppingCartList()
    }
    this.init();
    // const stateMenu = wx.getStorageSync('stateMenu')
    // if (stateMenu == 'true') {
    //   this.setData({
    //     showStateMenu: true
    //   })
    //   wx.setStorageSync('stateMenu', 'false')
    // }
  },
  closeStateMenu() {
    this.setData({
      showStateMenu: false
    })
  },
  onLoad() {
    this.getBannerList()
    const systInfo = wx.getSystemInfoSync();
@@ -62,20 +77,18 @@
    // 首页测试登录功能,后续注释
    // 检查登录状态
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        // 如果不是第一次登录,会执行回调
        if (data) {
          // 登录成功,自动记录token和用户信息,并返回true
        } else {
          // 出现错误,返回false
        }
      })
    } else {
      // 如果是第一次登录,会跳转至绑定用户信息页面,填写完用户信息后进行登录并储存token和用户信息,结束后跳转回当前页面(携带页面参数)
    }
    this.registe()
    this.init();
    // if (!token) {
    //   loginInfo(app, (data) => {
    //     // 如果不是第一次登录,会执行回调
    //     if (data) {
    //       this.init();
    //       this.registe()
    //     } else {
    //       this.init();
    //     }
    //   })
    // }
  },
  onReachBottom() {},
  onPullDownRefresh() {
@@ -113,6 +126,9 @@
      path: 'jsek_banner\\jsek_homeBannerApplet',
      fields: {
        jsek_link: []
      },
      coverSize: {
        width: 400
      },
      paging: {
        start: 0,
@@ -202,8 +218,8 @@
    }
    app.MG.store.getProductList(obj).then((res) => {
      res.datas.forEach((item) => {
        item.liveTime = item.liveTime ? moment(item.liveTime).format("MM-DD HH:mm:ss") : '';
        item.startTime = item.startTime ? moment(item.startTime).format("MM-DD HH:mm:ss") : '';
        item.liveTime = item.liveTime ? item.liveTime.substring(5) : '';
        item.startTime = item.startTime ? item.startTime.substring(5) : '';
        item.price = item.price ? item.price.toFixed(2) : item.price;
      });
      this.setData({
@@ -269,6 +285,7 @@
    app.MG.store.getProductList(obj).then((res) => {
      res.datas.forEach((item) => {
        item.price = item.price ? item.price.toFixed(2) : item.price;
        item.isbuy = item.purchasedSaleMethodIdList.indexOf(item.defaultSaleMethodId) > -1
      });
      this.setData({
        courseList: res.datas
@@ -398,6 +415,7 @@
    app.MG.store.getProductList(obj).then((res) => {
      res.datas.forEach((item) => {
        item.price = item.price ? item.price.toFixed(2) : item.price;
        item.isbuy = item.purchasedSaleMethodIdList.indexOf(item.defaultSaleMethodId) > -1
      });
      this.setData({
        textbookList: res.datas
@@ -452,10 +470,17 @@
    //   duration: 1000
    // })
    const item = e.currentTarget.dataset.book
    console.log(item);
    // 网页类型跳转到网址复制页,因为url传参不能传 带参数的网络地址,所以此处要把网络地址里的传参摘出来,放到url里
    let urlData = ''
    const flags = item.jsek_link.indexOf("?")
    if (flags > -1) {
      urlData = item.jsek_link.slice(flags + 1, item.jsek_link.length)
    }
    let url = '/packageBookService/pages/bookServices/linkPage/index'
    wx.navigateTo({
      url: '/pages/specialDiscussion/webView/index?link=' + item.jsek_link
    });
      url: urlData ? url + `?path=${item.jsek_link.slice(0,flags)}` + '&' + urlData : url + `?path=${item.jsek_link}`
    })
  },
  goCourseDetail(e) {
    // return wx.showToast({
@@ -463,11 +488,13 @@
    //   icon: 'none',
    //   duration: 1000
    // })
    const {
      book
    } = e.currentTarget.dataset;
    console.log(book);
    wx.navigateTo({
      url: '/pages/digitalCourses/digitalCoursesDetails/index?id=' + book.id,
      url: '/pages/digitalCourses/digitalCoursesDetails/index?id=' + book.id + '&path=' + book.idPath,
    });
  },
  goReadBookDetail(e) {
@@ -509,13 +536,32 @@
    const {
      info
    } = e.currentTarget.dataset;
    if (wx.getStorageSync(app.config.tokenKey)) {
      let query = {
        start: 0,
        size: 999,
        filterList: [],
        searchList: []
    const token = wx.getStorageSync(app.config.tokenKey)
    if (token) {
      this.addCartFun(info)
    } else {
      if (!token) {
        loginInfo(app, (data) => {
          // 如果不是第一次登录,会执行回调
          if (data) {
            this.addCartFun(info)
            this.registe()
          } else {
            this.addCartFun(info)
          }
        })
      }
    }
  },
  // 剥离加入购物车方法登陆前后公用
  addCartFun(info) {
    if (info.isbuy) {
      wx.showToast({
        title: "该商品已购买",
        icon: 'none',
        duration: 1000
      })
    } else {
      try {
        if (
          this.data.shoppingCartGetId.includes(
@@ -523,7 +569,7 @@
          )
        ) {
          wx.showToast({
            title: "该书已在购物车,请勿重复添加空",
            title: "该商品已在购物车,请勿重复添加",
            icon: 'none',
            duration: 1000
          })
@@ -535,21 +581,19 @@
              agentCode: '电子书'
            }]
          }
          const addRes = app.MG.store.addShoppingCart(query)
          if (addRes) {
            wx.showToast({
          app.MG.store.addShoppingCart(query).then(res => {
            if (res) wx.showToast({
              title: "添加成功",
              icon: 'success',
              duration: 1000
            })
          }
          this.getShoppingCartList()
            this.getShoppingCartList()
          })
        }
      } catch (error) {
        console.error('出错了:', error)
      }
    }
  },
  onMoreGuide(e) {
    let type = e.currentTarget.dataset.info
@@ -625,10 +669,16 @@
      success(res) {
        console.log(res);
        if (res.errMsg == "scanCode:ok" && res.path || res.result) {
          let path = res.path || res.result
          wx.redirectTo({
            url: '/' + path,
          })
          if (res.path) {
            let path = res.path || res.result
            wx.redirectTo({
              url: '/' + path,
            })
          } else {
            wx.redirectTo({
              url: '/pages/scanResult/index?result=' + res.result,
            })
          }
        }
      }
    })
@@ -641,12 +691,16 @@
    if (this.data.scoll) {
      if (e.detail.scrollTop < 20) {
        this.data.scoll = false
        this.isChange(false);
        // 避免频繁调用 setData
        if (this.data.isWhite)
          this.isChange(false);
      }
    } else {
      if (e.detail.scrollTop > 20) {
        this.data.scoll = true
        this.isChange(true);
        // 避免频繁调用 setData
        if (!this.data.isWhite)
          this.isChange(true);
      }
    }
  },
@@ -680,4 +734,10 @@
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
  onShareTimeline() {}
});