| | |
| | | // pages/digitalTextbooks/digitalTextbooksDetails/index.js |
| | | import Toast from "tdesign-miniprogram/toast"; |
| | | import { |
| | | loginInfo |
| | | } from '../../../assets/js/login'; |
| | | const app = getApp() |
| | | Page({ |
| | | |
| | |
| | | * 页面的初始数据 |
| | | */ |
| | | data: { |
| | | type: 'basicInformation', |
| | | digitalTextId: '', |
| | | digitalsData: {}, |
| | | isFavourite: true, |
| | | richStyle: 'font-size: 28rpx;color: #333; line-height: 48rpx;text-align: justify;margin: 20rpx; ', |
| | | briefIconClick: { |
| | | name: "/static/images/bookService/detail/tushujianjie-g.png", |
| | | }, |
| | | expire: false, //商品或子商品销售方式是否过期 |
| | | tabValue: "brief", |
| | | relatedBookData: [], |
| | | publicationDate: '', |
| | | isBuy: false, |
| | | loading: true, |
| | | briefIcon: { |
| | | name: "/static/images/digitalTextbooks/jibenxinxi-t@2x.png", |
| | | }, |
| | | briefIconClick: { |
| | | name: "/static/images/digitalTextbooks/jibenxinxi-t-click@3x.png", |
| | | }, |
| | | eBookIcon: { |
| | | name: "/static/images/digitalTextbooks/zuozhejianjie-t@2x.png", |
| | | }, |
| | | eBookClickIcon: { |
| | | name: "/static/images/digitalTextbooks/zuozhejianjie@2x.png", |
| | | }, |
| | | teachResourcesIcon: { |
| | | name: "/static/images/digitalTextbooks/zuozhejianjie-t@2x.png", |
| | | }, |
| | | teachResourcesClickIcon: { |
| | | name: "/static/images/digitalTextbooks/zuozhejianjie-t-click@3x.png", |
| | | }, |
| | | learnResourceIcon: { |
| | | name: "/static/images/digitalTextbooks/shengshu-t@2x.png", |
| | | }, |
| | | learnResourceClickIcon: { |
| | | name: "/static/images/digitalTextbooks/zhengshu-t-click@3x.png", |
| | | }, |
| | | testResourceIocn: { |
| | | name: "/static/images/digitalTextbooks/link-t@3x.png", |
| | | }, |
| | | testResourceClickIocn: { |
| | | name: "/static/images/digitalTextbooks/link-t-click@3x.png", |
| | | }, |
| | | |
| | | catalogue: { |
| | | name: "/static/images/digitalTextbooks/mulu-t@3x.png", |
| | | }, |
| | | catalogueClickIcon: { |
| | | name: "/static/images/digitalTextbooks/mulu-t-click@3x.png", |
| | | }, |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | console.log(options.id); |
| | | console.log(options); |
| | | this.setData({ |
| | | digitalTextId: options.id |
| | | }) |
| | | this.digitalTextbooksDetailsGet(this.data.digitalTextId) |
| | | |
| | | }, |
| | | // 格式化日期 |
| | | // 格式化日期 |
| | |
| | | } |
| | | } |
| | | app.MG.store.getProductDetail(query).then(res => { |
| | | |
| | | // console.log(res); |
| | | if (res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId)) { |
| | | |
| | | this.setData({ |
| | | isBuy: true |
| | | }) |
| | | |
| | | } else { |
| | | this.setData({ |
| | | isBuy: false |
| | |
| | | publicationDate: this.formatDate(res.datas.publicationDate) |
| | | }) |
| | | res.datas.price = res.datas.price.toFixed(2) |
| | | res.datas.isFavourite = false |
| | | |
| | | this.setData({ |
| | | digitalsData: res.datas |
| | | }) |
| | | |
| | | let times = new Date(res.datas.defaultSaleMethod.endDate).getTime() |
| | | let startTime = new Date(res.datas.defaultSaleMethod.beginDate).getTime() |
| | | if (times < new Date().getTime() || new Date().getTime() < startTime) { |
| | | this.setData({ |
| | | expire: true |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | expire: res.false |
| | | }) |
| | | } |
| | | wx.setNavigationBarTitle({ |
| | | title: res.datas.name, |
| | | }) |
| | | |
| | | this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath) |
| | | |
| | | 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) { |
| | | console.log(`Change tab, tab-panel value is ${event.detail.value}.`); |
| | | this.setData({ |
| | | tabValue: event.detail.value, |
| | | }) |
| | | console.log(this.data.tabValue); |
| | | }, |
| | | |
| | | onTabsClick(event) { |
| | | console.log(`Click tab, tab-panel value is ${event.detail.value}.`); |
| | | // console.log(`Click tab, tab-panel value is ${event.detail.value}.`); |
| | | }, |
| | | |
| | | // 获取相关教材 |
| | | getAboutBook(path) { |
| | | let query = { |
| | |
| | | } else { |
| | | bookArr = Arr |
| | | } |
| | | |
| | | bookArr.forEach(item => { |
| | | if (item.icon == '') { |
| | | item.icon = '/static/images/default-book-img.png' |
| | |
| | | }) |
| | | }, |
| | | onCorrelationBook(e) { |
| | | |
| | | |
| | | |
| | | const item = e.currentTarget.dataset.item |
| | | |
| | | console.log(item); |
| | | this.digitalTextbooksDetailsGet(item.id) |
| | | // const event = { |
| | | // detail: { |
| | | // value: "brief" |
| | | // } |
| | | // } |
| | | // this.onTabsChange(event) |
| | | // this.digitalTextbooksDetailsGet(item.id) |
| | | this.onLoad({ |
| | | id: item.id |
| | | }) |
| | | }, |
| | | // 图书添加购物车 |
| | | async addBookShopcCar() { |
| | |
| | | |
| | | |
| | | //购买按钮 |
| | | |
| | | async buyBtn() { |
| | | if (!this.data.expire) { |
| | | let bookOrdersId = ""; |
| | |
| | | orderNum: bookOrdersId, |
| | | }) |
| | | .then((res) => { |
| | | this.digitalTextbooksDetailsGet(this.data.digitalTextId) |
| | | if (res) { |
| | | wx.showToast({ |
| | | title: "领取成功", |
| | |
| | | // console.log(item, app.config.textReaderUrl); |
| | | // console.log(token); |
| | | goRead() { |
| | | |
| | | const item = this.data.digitalsData |
| | | |
| | | let token = wx.getStorageSync(app.config.tokenKey) |
| | | console.log(); |
| | | const URL = app.config.textReaderUrl + '?bookId=' + item.refCode + "&tryPageCount=" + item.probationPage + "&token=" + token |
| | | // 首页测试登录功能,后续注释 |
| | | // 检查登录状态 |
| | | const token = wx.getStorageSync(app.config.tokenKey) |
| | | if (!token) { |
| | | loginInfo(app, (data) => { |
| | | // 如果不是第一次登录,会执行回调 |
| | | if (data) { |
| | | // 登录成功,自动记录token和用户信息,并返回true |
| | | 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 |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | // 我要建议 |
| | | suggestBtn() { |
| | | // 检查登录状态 |
| | | const token = wx.getStorageSync(app.config.tokenKey); |
| | | |
| | | console.log(465); |
| | | |
| | | const child = this.selectComponent("#suggest-component"); |
| | | // if (token) |
| | | // // child.showDialog(); |
| | | // this.setData({ |
| | | // showIndex: '1' |
| | | // }) |
| | | }, |
| | | |
| | | }) |