From dcd5065a6ed1b75b0e3c1491d267ab73b4997f11 Mon Sep 17 00:00:00 2001 From: yiming <m13691596795@163.com> Date: 星期四, 06 六月 2024 11:38:59 +0800 Subject: [PATCH] 数字教材详情 --- pages/home/home.js | 417 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 259 insertions(+), 158 deletions(-) diff --git a/pages/home/home.js b/pages/home/home.js index b2ef42e..0feef1c 100644 --- a/pages/home/home.js +++ b/pages/home/home.js @@ -1,43 +1,56 @@ -import { fetchHome } from '../../services/home/home'; +import { + fetchHome +} from '../../services/home/home'; import moment from 'moment' -import { setSessionGuid } from "../../assets/js/userAction" +import { + loginInfo +} from '../../assets/js/login'; const app = getApp() Page({ data: { barHeight: '', navBarHeight: '', searchVal: '', + scoll: false, isWhite: false, - backUrl: null, userInfo: {}, tabList: [], //鐩綍 - pageLoading: false, - 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: [],//鎺掕姒� - shoppingCartGetId: [] + rankingList: [], //鎺掕姒� + shoppingCartGetId: [], + baseRefresh: { + value: false + }, + loading: true }, onShow() { - this.getTabBar().init(); + this.setData({ + searchVal: "", + }); + console.log(this.data.searchVal) this.loadHomePage(); this.getBannerList() }, - onLoad(options) { + onLoad() { const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅 const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴� @@ -45,24 +58,32 @@ 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}&` + + // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲� + // 妫�鏌ョ櫥褰曠姸鎬� + const token = wx.getStorageSync(app.config.tokenKey) + if (!token) { + loginInfo(app, (data) => { + // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋� + if (data) { + // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue + } else { + // 鍑虹幇閿欒锛岃繑鍥瀎alse } - } - this.setData({ - backUrl: backUrl.backUrl }) + } else { + // 濡傛灉鏄涓�娆$櫥褰曪紝浼氳烦杞嚦缁戝畾鐢ㄦ埛淇℃伅椤甸潰锛屽~鍐欏畬鐢ㄦ埛淇℃伅鍚庤繘琛岀櫥褰曞苟鍌ㄥ瓨token鍜岀敤鎴蜂俊鎭紝缁撴潫鍚庤烦杞洖褰撳墠椤甸潰锛堟惡甯﹂〉闈㈠弬鏁帮級 } - this.getTestLoginInfo() + this.init(); }, - onReachBottom() { - }, + onReachBottom() {}, onPullDownRefresh() { + this.setData({ + 'baseRefresh.value': true, + isWhite: false + }) + this.getBannerList(); this.init(); }, init() { @@ -72,126 +93,65 @@ this.getReadBookList(); this.getTextbookListList(); this.getRankingList(); - this.getShoppingCartList() - }, - // 鑾峰彇娴嬭瘯鐧诲綍鏃剁殑token - getTestLoginInfo() { - const token = wx.getStorageSync(app.config.tokenKey) - if (!token) { - wx.login({ - success: (res) => { - wx.getUserInfo({ - success: (infoRes) => { - app.MG.identity.checkWeChatAppAccount({ - code: res.code, - appCode: app.config.appRefCode, - encryptedData: infoRes.encryptedData, - iv: infoRes.iv - }).then(loginRes => { - if (!loginRes) { - // wx.navigateTo({ - // url: "/pages/index/bindInfo/index?code=" + res.code, - // }); - } else { - wx.login({ - success: (res) => { - app.MG.identity.loginByWeChatAppCode({ - code: res.code, - appRefCode: app.config.appRefCode, - platform: "weChatApp", - encryptedData: infoRes.encryptedData, - iv: infoRes.iv - }).then(res => { - if (res && res.status == "Ok") { - wx.setStorageSync(app.config.tokenKey, res.token); - setSessionGuid() - this.getCurrentUserInfo() - } - }) - }, - }) - } - }) - } - }) - }, + setTimeout(() => { + this.setData({ + 'baseRefresh.value': false, }) - } + }, 500); }, - getCurrentUserInfo() { - app.MG.identity.getCurrentAppUser().then(res => { - console.log(res, "userInfo"); - // 鐢ㄦ埛淇℃伅浼樺厛绾э細鏁欏笀璁よ瘉 > 寰俊 > 瀛︾敓锛堟敞鍐屾椂榛樿锛� - 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] list.push({ value: item.icon, - link: item.jsek_link + link: item.jsek_link, + }) } this.setData({ - bannerList: list + bannerList: list, + loading: false }) }) - console.log('杞挱鍥�', this.data.bannerList); + }, + navToActivityDetail(e) { + let { + info + } = e.currentTarget.dataset + console.log(info) + if (info.link) { + wx.navigateTo({ + url: info.link, + }); + } }, - loadHomePage() { - wx.stopPullDownRefresh(); - this.setData({ - pageLoading: true, - }); - fetchHome().then(({ tabList }) => { + fetchHome().then(({ + tabList + }) => { this.setData({ tabList, - pageLoading: false, }); }); }, //鐐瑰嚮鐩綍 toPages(item) { let info = item.target.dataset.info + console.log(info); if (info.url) { if (info.text == "鍥句功鏈嶅姟") { wx.switchTab({ @@ -222,11 +182,16 @@ start: 0, size: 4 }, + filterList: [{ + value: 'Normal', + field: 'state' + }], fields: { liveTime: [], lecturer: [], startTime: [], - jsek_link: [] + jsek_link: [], + position: [] } } app.MG.store.getProductList(obj).then((res) => { @@ -246,13 +211,19 @@ getCourseTypeListList() { const data = { path: 'jsek_homepageDigitalCourses', - filterList: [], queryType: '\\', searchList: [], size: '20', start: '0', storeRefCode: app.config.digitalCourses, - sort: { type: 'Asc', field: 'LinkOrder' } + sort: { + type: 'Asc', + field: 'LinkOrder' + }, + filterList: [{ + value: 'Normal', + field: 'state' + }] } app.MG.store.getStoreChannelList(data).then((res) => { if (res.datas && res.datas.length > 0) { @@ -278,6 +249,10 @@ start: 0, size: 4 }, + filterList: [{ + value: 'Normal', + field: 'state' + }], fields: { courseLeader: [], affiliatedUnit: [], @@ -296,19 +271,28 @@ }, tabChangeHandle(item) { let info = this.data.courseTypeList[item.detail.value] + this.setData({ + courseList: [] + }) this.getCourseList(info) }, //鍥句功鏈嶅姟鍒嗙被 getBookTypeList() { const data = { path: 'jsek_homepageBookService', - filterList: [], + filterList: [{ + value: 'Normal', + field: 'state' + }], queryType: '\\', searchList: [], 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) { @@ -316,7 +300,8 @@ dataList.push(...res.datas) this.setData({ bookTypeList: dataList, - activeItem1: 0 + activeItem1: 0, + bookTypeData: dataList[0], }) this.getBooksList(dataList[0]) } @@ -335,6 +320,10 @@ start: 0, size: 6 }, + filterList: [{ + value: 'Normal', + field: 'state' + }], fields: { author: [] } @@ -348,14 +337,16 @@ //鍥句功鏈嶅姟 tabBookClick(item) { let info = this.data.bookTypeList[item.detail.value] - console.log(info, 123) + this.setData({ + bookTypeData: info, + }) this.getBooksList(info) }, //鏁板瓧闃呰 getReadBookList() { const obj = { - storeInfo: app.config.digitalTextbooks, - path: 'jsek_homepageDigitalTextbooks', + storeInfo: app.config.digitalRead, + path: 'jsek_homepageDigitalReading', coverSize: { width: 150 }, @@ -363,6 +354,10 @@ start: 0, size: 3 }, + filterList: [{ + value: 'Normal', + field: 'state' + }], fields: { author: [] } @@ -385,11 +380,18 @@ start: 0, size: 6 }, + filterList: [{ + value: 'Normal', + field: 'state' + }], fields: { author: [], } } app.MG.store.getProductList(obj).then((res) => { + res.datas.forEach((item) => { + item.price = item.price ? item.price.toFixed(2) : item.price; + }); this.setData({ textbookList: res.datas }) @@ -411,12 +413,10 @@ fields: { author: [], }, - filterList: [ - { - value: 'Normal', - field: 'state' - } - ], + filterList: [{ + value: 'Normal', + field: 'state' + }], sort: { Name: 'Asc', BaseType: '' @@ -431,11 +431,53 @@ }, // 璺宠浆鍥句功璇︽儏 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; + wx.showToast({ + title: "寤鸿涓�", + icon: 'none', + duration: 1000 + }) + }, + goCourseDetail(e) { + const { + book + } = e.currentTarget.dataset; + wx.showToast({ + title: "寤鸿涓�", + icon: 'none', + duration: 1000 + }) + }, + goReadBookDetail(e) { + const { + book + } = e.currentTarget.dataset; + wx.navigateTo({ + url: '/pages/home/digitalRead/index?productId=' + book.id, + }); + }, + goTextBookDetail(e) { + const { + book + } = e.currentTarget.dataset; + wx.showToast({ + title: "寤鸿涓�", + icon: 'none', + duration: 1000 + }) + }, + + getShoppingCartList() { let query = { start: 0, @@ -454,8 +496,15 @@ }) }, addCart(e) { - const { info } = e.currentTarget.dataset; - console.log(info) + const { + info + } = e.currentTarget.dataset; + wx.showToast({ + title: "寤鸿涓�", + icon: 'none', + duration: 1000 + }) + return; if (wx.getStorageSync(app.config.tokenKey)) { let query = { start: 0, @@ -476,13 +525,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) { @@ -502,38 +549,92 @@ }, onMoreGuide(e) { let type = e.currentTarget.dataset.info - console.log(e, 1) if (type == "tushufuwu") { + let assortCode = ""; + if (this.data.bookTypeData.name == '楂樼瓑鏁欒偛') { + assortCode = "jsek_higherEducation" + } + if (this.data.bookTypeData.name == '鑱屼笟鏁欒偛') { + assortCode = "jsek_vocationalEducation" + } + if (this.data.bookTypeData.name == '鏁欏笀鏁欒偛') { + assortCode = "jsek_teacherEducation" + } + if (this.data.bookTypeData.name == '灏戝効鏁欒偛') { + assortCode = "jsek_childrenEducation" + } + if (this.data.bookTypeData.name == '鑰冭瘯鍩硅') { + assortCode = "jsek_examTraining" + } + if (this.data.bookTypeData.name == '涓婚鍑虹増') { + assortCode = "jsek_themePublishing" + } + if (this.data.bookTypeData.name == '瀛︽湳钁椾綔') { + assortCode = "jsek_academicWorks" + } + if (this.data.bookTypeData.name == '澶т紬璇荤墿') { + assortCode = "jsek_popularReadingMaterials" + } wx.navigateTo({ - url: '/packageBookService/pages/bookServices/list/index' + url: '/packageBookService/pages/bookServices/list/index?assorName=' + this.data.bookTypeData.name + '&assortCode=' + assortCode + }) + } else if (type == "shuziyuedu") { + wx.navigateTo({ + url: '/pages/home/digitalRead/index' }) } else { wx.showToast({ title: "寤鸿涓�", icon: 'none', - duration: 2000 + duration: 1000 }) } }, - onPageScroll(e) { + // 鐩戝惉婊氬姩鏉� + onScroll(e) { + if (this.data.scoll) { + if (e.detail.scrollTop < 20) { + this.data.scoll = false + this.isChange(false); + } + } else { + if (e.detail.scrollTop > 20) { + this.data.scoll = true + this.isChange(true); + } + } + }, + isChange(data) { this.setData({ - isWhite: e.scrollTop > 20 ? true : false + isWhite: data }) - }, + onRetrievalPage() { - console.log(this.data.searchVal); - wx.navigateTo({ - url: '/pages/retrievalPage/index?searchVal=' + this.data.searchVal - - }) + // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲� + // 妫�鏌ョ櫥褰曠姸鎬� + const token = wx.getStorageSync(app.config.tokenKey) + if (!token) { + loginInfo(app, (data) => { + // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋� + if (data) { + wx.navigateTo({ + url: '/pages/retrievalPage/index?searchVal=' + this.data.searchVal + }) + } else { + // 鍑虹幇閿欒锛岃繑鍥瀎alse + } + }) + } else { + wx.navigateTo({ + url: '/pages/retrievalPage/index?searchVal=' + this.data.searchVal + }) + } }, - - -}); +}); \ No newline at end of file -- Gitblit v1.9.1