| | |
| | | import { |
| | | fetchHome |
| | | } from '../../services/home/home'; |
| | | import moment from 'moment' |
| | | import { |
| | | loginInfo |
| | | } from '../../assets/js/login'; |
| | |
| | | barHeight: '', |
| | | navBarHeight: '', |
| | | searchVal: '', |
| | | scoll: false, |
| | | isWhite: false, |
| | | userInfo: {}, |
| | | tabList: [], //目录 |
| | |
| | | activeItem: 0, //精选课程默认选中 |
| | | courseTypeList: [], //精选课程分类 |
| | | courseList: [], |
| | | courseTypeActive: [], |
| | | bookTypeList: [], //图书类型 |
| | | activeItem1: 0, |
| | | bookTypeData: {}, |
| | |
| | | shoppingCartGetId: [], |
| | | baseRefresh: { |
| | | value: false |
| | | } |
| | | }, |
| | | loading: true, |
| | | showStateMenu: false, |
| | | }, |
| | | onShow() { |
| | | this.setData({ |
| | | searchVal: "", |
| | | }); |
| | | this.loadHomePage(); |
| | | this.getBannerList() |
| | | |
| | | 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(); |
| | | const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息 |
| | | const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度 |
| | |
| | | loginInfo(app, (data) => { |
| | | // 如果不是第一次登录,会执行回调 |
| | | if (data) { |
| | | // 登录成功,自动记录token和用户信息,并返回true |
| | | this.init(); |
| | | this.registe() |
| | | } else { |
| | | // 出现错误,返回false |
| | | this.init(); |
| | | } |
| | | }) |
| | | } else { |
| | | // 如果是第一次登录,会跳转至绑定用户信息页面,填写完用户信息后进行登录并储存token和用户信息,结束后跳转回当前页面(携带页面参数) |
| | | } |
| | | |
| | | this.init(); |
| | | }, |
| | | onReachBottom() {}, |
| | | onPullDownRefresh() { |
| | |
| | | }, 500); |
| | | }, |
| | | |
| | | registe() { |
| | | app.MG.app.creatUserBehavior({ |
| | | refCode: "sign" |
| | | }).then(res => {}); |
| | | }, |
| | | |
| | | getBannerList() { |
| | | const list = [] |
| | | app.MG.resource.getItem({ |
| | | path: 'jsek_banner\\jsek_homeBannerApplet', |
| | | fields: { |
| | | jsek_link: [] |
| | | }, |
| | | coverSize: { |
| | | width: 400 |
| | | }, |
| | | paging: { |
| | | start: 0, |
| | |
| | | const item = res.datas[i] |
| | | list.push({ |
| | | value: item.icon, |
| | | link: item.jsek_link |
| | | link: item.jsek_link, |
| | | |
| | | }) |
| | | } |
| | | this.setData({ |
| | | bannerList: list |
| | | bannerList: list, |
| | | loading: false |
| | | }) |
| | | }) |
| | | }, |
| | |
| | | //点击目录 |
| | | toPages(item) { |
| | | let info = item.target.dataset.info |
| | | console.log(info); |
| | | if (info.url) { |
| | | if (info.text == "图书服务") { |
| | | wx.switchTab({ |
| | |
| | | } |
| | | 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({ |
| | |
| | | const obj = { |
| | | storeInfo: "app.config.goodsStore", |
| | | path: item.pathList + '\\' + item.id, |
| | | coverSize: { |
| | | width: 260 |
| | | }, |
| | | // coverSize: { |
| | | // height: 205 |
| | | // }, |
| | | paging: { |
| | | start: 0, |
| | | size: 4 |
| | |
| | | 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 |
| | |
| | | tabChangeHandle(item) { |
| | | let info = this.data.courseTypeList[item.detail.value] |
| | | this.setData({ |
| | | courseList: [] |
| | | courseList: [], |
| | | courseTypeActive: item.detail.value |
| | | }) |
| | | this.getCourseList(info) |
| | | }, |
| | |
| | | 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 |
| | |
| | | }); |
| | | }, |
| | | goSubjectDetail(e) { |
| | | const { |
| | | book |
| | | } = e.currentTarget.dataset; |
| | | wx.showToast({ |
| | | title: "建设中", |
| | | icon: 'none', |
| | | duration: 1000 |
| | | // return wx.showToast({ |
| | | // title: "建设中", |
| | | // icon: 'none', |
| | | // duration: 1000 |
| | | // }) |
| | | const item = e.currentTarget.dataset.book |
| | | // 网页类型跳转到网址复制页,因为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: urlData ? url + `?path=${item.jsek_link.slice(0,flags)}` + '&' + urlData : url + `?path=${item.jsek_link}` |
| | | }) |
| | | |
| | | }, |
| | | goCourseDetail(e) { |
| | | // return wx.showToast({ |
| | | // title: "建设中", |
| | | // icon: 'none', |
| | | // duration: 1000 |
| | | // }) |
| | | |
| | | const { |
| | | book |
| | | } = e.currentTarget.dataset; |
| | | wx.showToast({ |
| | | title: "建设中", |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | console.log(book); |
| | | wx.navigateTo({ |
| | | url: '/pages/digitalCourses/digitalCoursesDetails/index?id=' + book.id + '&path=' + book.idPath, |
| | | }); |
| | | }, |
| | | goReadBookDetail(e) { |
| | | const { |
| | |
| | | const { |
| | | book |
| | | } = e.currentTarget.dataset; |
| | | wx.showToast({ |
| | | title: "建设中", |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | wx.navigateTo({ |
| | | url: '/pages/digitalTextbooks/digitalTextbooksDetails/index?id=' + book.id, |
| | | }); |
| | | }, |
| | | |
| | | |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | addCart(e) { |
| | | async addCart(e) { |
| | | const { |
| | | info |
| | | } = e.currentTarget.dataset; |
| | | wx.showToast({ |
| | | title: "建设中", |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | return; |
| | | if (wx.getStorageSync(app.config.tokenKey)) { |
| | | let query = { |
| | | start: 0, |
| | | size: 999, |
| | | filterList: [], |
| | | searchList: [] |
| | | } |
| | | try { |
| | | if ( |
| | | this.data.shoppingCartGetId.includes( |
| | | info.defaultSaleMethodId |
| | | ) |
| | | ) { |
| | | wx.showToast({ |
| | | title: "该书已在购物车,请勿重复添加空", |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | } else { |
| | | let query = { |
| | | requests: [{ |
| | | saleMethodId: info.defaultSaleMethodId, |
| | | storeEventId: null, |
| | | agentCode: '电子书' |
| | | }] |
| | | } |
| | | const addRes = app.MG.store.addShoppingCart(query) |
| | | if (addRes) { |
| | | if (info.isbuy) { |
| | | wx.showToast({ |
| | | title: "该商品已购买", |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | } else { |
| | | let query = { |
| | | start: 0, |
| | | size: 999, |
| | | filterList: [], |
| | | searchList: [] |
| | | } |
| | | try { |
| | | if ( |
| | | this.data.shoppingCartGetId.includes( |
| | | info.defaultSaleMethodId |
| | | ) |
| | | ) { |
| | | wx.showToast({ |
| | | title: "添加成功", |
| | | icon: 'success', |
| | | title: "该商品已在购物车,请勿重复添加", |
| | | icon: 'none', |
| | | duration: 1000 |
| | | }) |
| | | } else { |
| | | let query = { |
| | | requests: [{ |
| | | saleMethodId: info.defaultSaleMethodId, |
| | | storeEventId: null, |
| | | agentCode: '电子书' |
| | | }] |
| | | } |
| | | const addRes = await app.MG.store.addShoppingCart(query) |
| | | if (addRes) { |
| | | wx.showToast({ |
| | | title: "添加成功", |
| | | icon: 'success', |
| | | duration: 1000 |
| | | }) |
| | | } |
| | | this.getShoppingCartList() |
| | | } |
| | | this.getShoppingCartList() |
| | | |
| | | } catch (error) { |
| | | console.error('出错了:', error) |
| | | } |
| | | } catch (error) { |
| | | console.error('出错了:', error) |
| | | } |
| | | } |
| | | |
| | | }, |
| | | onMoreGuide(e) { |
| | | let type = e.currentTarget.dataset.info |
| | |
| | | wx.navigateTo({ |
| | | url: '/pages/home/digitalRead/index' |
| | | }) |
| | | } else if (type == "zhuantitaolun") { |
| | | // return wx.showToast({ |
| | | // title: "建设中", |
| | | // icon: 'none', |
| | | // duration: 1000 |
| | | // }) |
| | | wx.navigateTo({ |
| | | url: '/pages/specialDiscussion/index' |
| | | }) |
| | | |
| | | } else if (type == "jingxuankecheng") { |
| | | // return wx.showToast({ |
| | | // title: "建设中", |
| | | // icon: 'none', |
| | | // duration: 1000 |
| | | // }) |
| | | wx.navigateTo({ |
| | | url: '/pages/digitalCourses/index?courseTypeActive=' + this.data.courseTypeActive |
| | | }) |
| | | } else if (type == "shuzijiaocai") { |
| | | wx.navigateTo({ |
| | | url: '/pages/digitalTextbooks/index' |
| | | }) |
| | | } else { |
| | | wx.showToast({ |
| | | title: "建设中", |
| | |
| | | |
| | | }, |
| | | |
| | | |
| | | // 监听滚动条 |
| | | onScroll(e) { |
| | | this.setData({ |
| | | isWhite: true |
| | | }) |
| | | this.setData({ |
| | | isWhite: e.detail.scrollTop > 20 ? true : false |
| | | // 扫一扫 |
| | | onIconScanTap() { |
| | | wx.scanCode({ |
| | | success(res) { |
| | | console.log(res); |
| | | if (res.errMsg == "scanCode:ok" && res.path || res.result) { |
| | | if (res.path) { |
| | | let path = res.path || res.result |
| | | wx.redirectTo({ |
| | | url: '/' + path, |
| | | }) |
| | | } else { |
| | | wx.redirectTo({ |
| | | url: '/pages/scanResult/index?result=' + res.result, |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | onScrollToTop(e) { |
| | | |
| | | |
| | | // 监听滚动条 |
| | | onScroll(e) { |
| | | if (this.data.scoll) { |
| | | if (e.detail.scrollTop < 20) { |
| | | this.data.scoll = false |
| | | // 避免频繁调用 setData |
| | | if (this.data.isWhite) |
| | | this.isChange(false); |
| | | } |
| | | } else { |
| | | if (e.detail.scrollTop > 20) { |
| | | this.data.scoll = true |
| | | // 避免频繁调用 setData |
| | | if (!this.data.isWhite) |
| | | this.isChange(true); |
| | | } |
| | | } |
| | | }, |
| | | isChange(data) { |
| | | this.setData({ |
| | | isWhite: e.detail.scrollTop > 50 ? true : false |
| | | isWhite: data |
| | | }) |
| | | }, |
| | | |
| | |
| | | |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 用户点击右上角分享 |
| | | */ |
| | | onShareAppMessage() {}, |
| | | onShareTimeline() {} |
| | | }); |