From 96b0b8bb1597d825004f5a8da0728c48b6ce7dba Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期四, 27 三月 2025 15:22:22 +0800 Subject: [PATCH] 首页登录去除侧式 --- pages/home/home.js | 512 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 360 insertions(+), 152 deletions(-) diff --git a/pages/home/home.js b/pages/home/home.js index 0a15970..c8077fd 100644 --- a/pages/home/home.js +++ b/pages/home/home.js @@ -1,44 +1,71 @@ -import { fetchHome } from '../../services/home/home'; -import moment from 'moment' -import { checkLoginInfo } from '../../assets/js/login'; +import { + fetchHome +} from '../../services/home/home'; +import { + loginInfo +} from '../../assets/js/login'; const app = getApp() Page({ data: { barHeight: '', navBarHeight: '', searchVal: '', + scoll: false, 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: [],//鍥句功绫诲瀷 + courseTypeActive: [], + bookTypeList: [], //鍥句功绫诲瀷 activeItem1: 0, + bookTypeData: {}, booksList: [], readBookList: [], //鏁板瓧闃呰 textbookList: [], //鏁板瓧鏁欐潗 - rankingList: [],//鎺掕姒� + rankingList: [], //鎺掕姒� 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') + // } }, - - onLoad(options) { + 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; // 瀵艰埅鏍忛珮搴� @@ -46,33 +73,30 @@ 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) { + // this.init(); + // this.registe() + // } else { + // this.init(); + // } + // }) + // } - this.init(); }, - onReachBottom() { - }, + onReachBottom() {}, onPullDownRefresh() { this.setData({ 'baseRefresh.value': true, + isWhite: false }) + this.getBannerList(); this.init(); }, init() { @@ -90,64 +114,57 @@ }, 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' - }) - } - }); + registe() { + app.MG.app.creatUserBehavior({ + refCode: "sign" + }).then(res => {}); }, + getBannerList() { const list = [] app.MG.resource.getItem({ path: 'jsek_banner\\jsek_homeBannerApplet', - fields: { jsek_link: [] }, - paging: { start: 0, size: 9 } + fields: { + jsek_link: [] + }, + coverSize: { + width: 400 + }, + 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() { - fetchHome().then(({ tabList }) => { + fetchHome().then(({ + tabList + }) => { this.setData({ tabList, }); @@ -156,6 +173,7 @@ //鐐瑰嚮鐩綍 toPages(item) { let info = item.target.dataset.info + console.log(info); if (info.url) { if (info.text == "鍥句功鏈嶅姟") { wx.switchTab({ @@ -186,6 +204,10 @@ start: 0, size: 4 }, + filterList: [{ + value: 'Normal', + field: 'state' + }], fields: { liveTime: [], lecturer: [], @@ -196,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({ @@ -211,13 +233,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) { @@ -236,13 +264,17 @@ const obj = { storeInfo: "app.config.goodsStore", path: item.pathList + '\\' + item.id, - coverSize: { - width: 260 - }, + // coverSize: { + // height: 205 + // }, paging: { start: 0, size: 4 }, + filterList: [{ + value: 'Normal', + field: 'state' + }], fields: { courseLeader: [], affiliatedUnit: [], @@ -253,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 @@ -261,19 +294,29 @@ }, tabChangeHandle(item) { let info = this.data.courseTypeList[item.detail.value] + this.setData({ + courseList: [], + courseTypeActive: item.detail.value + }) 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) { @@ -281,7 +324,8 @@ dataList.push(...res.datas) this.setData({ bookTypeList: dataList, - activeItem1: 0 + activeItem1: 0, + bookTypeData: dataList[0], }) this.getBooksList(dataList[0]) } @@ -300,6 +344,10 @@ start: 0, size: 6 }, + filterList: [{ + value: 'Normal', + field: 'state' + }], fields: { author: [] } @@ -313,14 +361,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 }, @@ -328,6 +378,10 @@ start: 0, size: 3 }, + filterList: [{ + value: 'Normal', + field: 'state' + }], fields: { author: [] } @@ -350,6 +404,10 @@ start: 0, size: 6 }, + filterList: [{ + value: 'Normal', + field: 'state' + }], fields: { author: [], } @@ -357,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 @@ -379,12 +438,10 @@ fields: { author: [], }, - filterList: [ - { - value: 'Normal', - field: 'state' - } - ], + filterList: [{ + value: 'Normal', + field: 'state' + }], sort: { Name: 'Asc', BaseType: '' @@ -399,42 +456,62 @@ }, // 璺宠浆鍥句功璇︽儏 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: 2000 + // 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) { - const { book } = e.currentTarget.dataset; - wx.showToast({ - title: "寤鸿涓�", - icon: 'none', - duration: 2000 - }) + // return wx.showToast({ + // title: "寤鸿涓�", + // icon: 'none', + // duration: 1000 + // }) + + const { + book + } = e.currentTarget.dataset; + console.log(book); + wx.navigateTo({ + url: '/pages/digitalCourses/digitalCoursesDetails/index?id=' + book.id + '&path=' + book.idPath, + }); }, goReadBookDetail(e) { - const { book } = e.currentTarget.dataset; - wx.showToast({ - title: "寤鸿涓�", - icon: 'none', - duration: 2000 - }) + 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: 2000 - }) + const { + book + } = e.currentTarget.dataset; + wx.navigateTo({ + url: '/pages/digitalTextbooks/digitalTextbooksDetails/index?id=' + book.id, + }); }, @@ -456,15 +533,35 @@ }) }, addCart(e) { - const { info } = e.currentTarget.dataset; - console.log(info) - if (wx.getStorageSync(app.config.tokenKey)) { - let query = { - start: 0, - size: 999, - filterList: [], - searchList: [] + const { + info + } = e.currentTarget.dataset; + 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( @@ -472,64 +569,175 @@ ) ) { wx.showToast({ - title: "璇ヤ功宸插湪璐墿杞︼紝璇峰嬁閲嶅娣诲姞绌�", + title: "璇ュ晢鍝佸凡鍦ㄨ喘鐗╄溅锛岃鍕块噸澶嶆坊鍔�", icon: 'none', duration: 1000 }) } 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) { - 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 - 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 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: "寤鸿涓�", icon: 'none', - duration: 2000 + duration: 1000 }) } }, + // 鎵竴鎵� + 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, + }) + } + } + } + }) + }, + + // 鐩戝惉婊氬姩鏉� 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 > 10 ? 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 + }) + } + + }, -}); + + /** + * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜� + */ + onShareAppMessage() {}, + onShareTimeline() {} +}); \ No newline at end of file -- Gitblit v1.9.1