闫增涛
2024-03-28 0b523220931d70aa752c3beaca5ed32ca85511c5
pages/home/home.js
@@ -1,6 +1,10 @@
import { fetchHome } from '../../services/home/home';
import {
  fetchHome
} from '../../services/home/home';
import moment from 'moment'
import { checkLoginInfo } from '../../assets/js/login';
import {
  loginInfo
} from '../../assets/js/login';
const app = getApp()
Page({
  data: {
@@ -8,26 +12,27 @@
    navBarHeight: '',
    searchVal: '',
    isWhite: false,
    backUrl: null,
    userInfo: {},
    tabList: [], //目录
    current: 1,//轮播图参数
    current: 1, //轮播图参数
    autoplay: true, //轮播图参数
    duration: '500',//轮播图参数
    interval: 5000,//轮播图参数
    navigation: { type: 'dots' },//轮播图参数
    duration: '500', //轮播图参数
    interval: 5000, //轮播图参数
    navigation: {
      type: 'dots'
    }, //轮播图参数
    bannerList: [], //轮播图列表
    specialSubjectList: [],//专题讨论
    activeItem: 0,//精选课程默认选中
    courseTypeList: [],//精选课程分类
    specialSubjectList: [], //专题讨论
    activeItem: 0, //精选课程默认选中
    courseTypeList: [], //精选课程分类
    courseList: [],
    bookTypeList: [],//图书类型
    bookTypeList: [], //图书类型
    activeItem1: 0,
    bookTypeData: {},
    booksList: [],
    readBookList: [], //数字阅读
    textbookList: [], //数字教材
    rankingList: [],//排行榜
    rankingList: [], //排行榜
    shoppingCartGetId: [],
    baseRefresh: {
      value: false
@@ -39,7 +44,7 @@
  },
  onLoad(options) {
  onLoad() {
    const systInfo = wx.getSystemInfoSync();
    const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息
    const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度
@@ -47,29 +52,26 @@
      barHeight: systInfo.statusBarHeight,
      navBarHeight: navBarHeight,
    });
    if (options.backUrl) {
      let backUrl = JSON.parse(decodeURIComponent(options.backUrl));
      if (backUrl.options) {
        for (let key in backUrl.options) {
          const value = backUrl.options[key]
          backUrl.backUrl += `${key}=${value}&`
        }
      }
      this.setData({
        backUrl: backUrl.backUrl
      })
    }
    // checkLoginInfo(app, (data) => {
    //   if (data) {
    //     this.getCurrentUserInfo();
    //   }
    // })
    // 首页测试登录功能,后续注释
    // 检查登录状态
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        // 如果不是第一次登录,会执行回调
        if (data) {
          // 登录成功,自动记录token和用户信息,并返回true
        } else {
          // 出现错误,返回false
        }
      })
    } else {
      // 如果是第一次登录,会跳转至绑定用户信息页面,填写完用户信息后进行登录并储存token和用户信息,结束后跳转回当前页面(携带页面参数)
    }
    this.init();
  },
  onReachBottom() {
  },
  onReachBottom() {},
  onPullDownRefresh() {
    this.setData({
      'baseRefresh.value': true,
@@ -91,45 +93,17 @@
    }, 500);
  },
  getCurrentUserInfo() {
    app.MG.identity.getCurrentAppUser().then(res => {
      // 用户信息优先级:教师认证 > 微信 > 学生(注册时默认)
      if (res) {
        let defaultUser = {};
        let WeChatInfo = res.infoList.find((item) => item.type === "WeChat");
        let phoneNumber = res.secretList.find(i => i.type == 'MobilePhone')
        if (WeChatInfo) {
          defaultUser = {
            nickName: WeChatInfo.name,
            avatarUrl: WeChatInfo.icon,
            weChatId: WeChatInfo.id
          }
        }
        if (phoneNumber) {
          defaultUser.phoneNumber = phoneNumber.credential
        }
        this.setData({
          userInfo: defaultUser,
        })
        wx.setStorageSync(app.config.userInfoKey, JSON.stringify(this.data.userInfo));
      }
      if (this.data.backUrl) {
        wx.navigateTo({
          url: this.data.backUrl,
        })
      } else {
        wx.switchTab({
          url: '/pages/home/home'
        })
      }
    });
  },
  getBannerList() {
    const list = []
    app.MG.resource.getItem({
      path: 'jsek_banner\\jsek_homeBannerApplet',
      fields: { jsek_link: [] },
      paging: { start: 0, size: 9 }
      fields: {
        jsek_link: []
      },
      paging: {
        start: 0,
        size: 9
      }
    }).then(res => {
      for (let i = 0; i < res.datas.length; i++) {
        const item = res.datas[i]
@@ -146,7 +120,9 @@
  loadHomePage() {
    fetchHome().then(({ tabList }) => {
    fetchHome().then(({
      tabList
    }) => {
      this.setData({
        tabList,
      });
@@ -216,7 +192,10 @@
      size: '20',
      start: '0',
      storeRefCode: app.config.digitalCourses,
      sort: { type: 'Asc', field: 'LinkOrder' }
      sort: {
        type: 'Asc',
        field: 'LinkOrder'
      }
    }
    app.MG.store.getStoreChannelList(data).then((res) => {
      if (res.datas && res.datas.length > 0) {
@@ -272,7 +251,10 @@
      size: '20',
      start: '0',
      storeRefCode: app.config.goodsStore,
      sort: { type: 'Asc', field: 'LinkOrder' }
      sort: {
        type: 'Asc',
        field: 'LinkOrder'
      }
    }
    app.MG.store.getStoreChannelList(data).then((res) => {
      if (res.datas && res.datas.length > 0) {
@@ -280,7 +262,8 @@
        dataList.push(...res.datas)
        this.setData({
          bookTypeList: dataList,
          activeItem1: 0
          activeItem1: 0,
          bookTypeData: dataList[0],
        })
        this.getBooksList(dataList[0])
      }
@@ -312,7 +295,6 @@
  //图书服务
  tabBookClick(item) {
    let info = this.data.bookTypeList[item.detail.value]
    bookTypeData
    this.setData({
      bookTypeData: info,
    })
@@ -381,12 +363,10 @@
      fields: {
        author: [],
      },
      filterList: [
        {
          value: 'Normal',
          field: 'state'
        }
      ],
      filterList: [{
        value: 'Normal',
        field: 'state'
      }],
      sort: {
        Name: 'Asc',
        BaseType: ''
@@ -401,13 +381,17 @@
  },
  // 跳转图书详情
  goDetail(e) {
    const { book } = e.currentTarget.dataset;
    const {
      book
    } = e.currentTarget.dataset;
    wx.navigateTo({
      url: `/packageBookService/pages/bookServices/detail/index?id=${book.id}&name=${book.name}`,
    });
  },
  goSubjectDetail(e) {
    const { book } = e.currentTarget.dataset;
    const {
      book
    } = e.currentTarget.dataset;
    wx.showToast({
      title: "建设中",
      icon: 'none',
@@ -415,7 +399,9 @@
    })
  },
  goCourseDetail(e) {
    const { book } = e.currentTarget.dataset;
    const {
      book
    } = e.currentTarget.dataset;
    wx.showToast({
      title: "建设中",
      icon: 'none',
@@ -423,7 +409,9 @@
    })
  },
  goReadBookDetail(e) {
    const { book } = e.currentTarget.dataset;
    const {
      book
    } = e.currentTarget.dataset;
    wx.showToast({
      title: "建设中",
      icon: 'none',
@@ -431,7 +419,9 @@
    })
  },
  goTextBookDetail(e) {
    const { book } = e.currentTarget.dataset;
    const {
      book
    } = e.currentTarget.dataset;
    wx.showToast({
      title: "建设中",
      icon: 'none',
@@ -458,7 +448,9 @@
    })
  },
  addCart(e) {
    const { info } = e.currentTarget.dataset;
    const {
      info
    } = e.currentTarget.dataset;
    wx.showToast({
      title: "建设中",
      icon: 'none',
@@ -485,13 +477,11 @@
          })
        } else {
          let query = {
            requests: [
              {
                saleMethodId: info.defaultSaleMethodId,
                storeEventId: null,
                agentCode: '电子书'
              }
            ]
            requests: [{
              saleMethodId: info.defaultSaleMethodId,
              storeEventId: null,
              agentCode: '电子书'
            }]
          }
          const addRes = app.MG.store.addShoppingCart(query)
          if (addRes) {
@@ -537,4 +527,4 @@
      url: '/pages/retrievalPage/index?searchVal=' + this.data.searchVal
    })
  },
});
});