From 0d1323fb39db5e8d3b124e61303bde1b1352b887 Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期四, 29 二月 2024 21:48:02 +0800 Subject: [PATCH] feat(daima代码合并): 和宁 --- pages/home/home.js | 441 +++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 347 insertions(+), 94 deletions(-) diff --git a/pages/home/home.js b/pages/home/home.js index 68bb735..250f062 100644 --- a/pages/home/home.js +++ b/pages/home/home.js @@ -1,53 +1,147 @@ import { fetchHome } from '../../services/home/home'; -import { fetchGoodsList } from '../../services/good/fetchGoods'; -import Toast from 'tdesign-miniprogram/toast/index'; +import moment from 'moment' +import { setSessionGuid } from "../../assets/js/userAction" const app = getApp() Page({ data: { - imgSrcs: [], - tabList: [], - goodsList: [], - goodsListLoadStatus: 0, + isWhite: false, + backUrl: null, + userInfo: {}, + tabList: [], //鐩綍 pageLoading: false, - current: 1, - autoplay: true, - duration: '500', - interval: 5000, - navigation: { type: 'dots' }, - swiperImageProps: { mode: 'scaleToFill' }, - bannerList: [], + current: 1,//杞挱鍥惧弬鏁� + autoplay: true, //杞挱鍥惧弬鏁� + duration: '500',//杞挱鍥惧弬鏁� + interval: 5000,//杞挱鍥惧弬鏁� + navigation: { type: 'dots' },//杞挱鍥惧弬鏁� + bannerList: [], //杞挱鍥惧垪琛� + specialSubjectList: [],//涓撻璁ㄨ + activeItem: 0,//绮鹃�夎绋嬮粯璁ら�変腑 + courseTypeList: [],//绮鹃�夎绋嬪垎绫� + courseList: [], + bookTypeList: [],//鍥句功绫诲瀷 + activeItem1: 0, + booksList: [], + readBookList: [], //鏁板瓧闃呰 + textbookList: [], //鏁板瓧鏁欐潗 + rankingList: []//鎺掕姒� }, - - goodListPagination: { - index: 0, - num: 20, - }, - - privateData: { - tabIndex: 0, - }, - onShow() { this.getTabBar().init(); + this.loadHomePage(); this.getBannerList() + }, - onLoad() { + onLoad(options) { + 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 + }) + } + this.getTestLoginInfo() this.init(); }, - onReachBottom() { - if (this.data.goodsListLoadStatus === 0) { - this.loadGoodsList(); - } }, - onPullDownRefresh() { this.init(); }, - init() { - this.loadHomePage(); + this.getSubjectList(); + this.getCourseTypeListList(); + this.getBookTypeList(); + this.getReadBookList(); + this.getTextbookListList(); + this.getRankingList() + }, + // 鑾峰彇娴嬭瘯鐧诲綍鏃剁殑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() + } + }) + }, + }) + } + }) + } + }) + + }, + }) + } + }, + + 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 = [] @@ -69,87 +163,246 @@ }) console.log('杞挱鍥�', this.data.bannerList); }, + + loadHomePage() { wx.stopPullDownRefresh(); - this.setData({ pageLoading: true, }); - fetchHome().then(({ swiper, tabList }) => { + fetchHome().then(({ tabList }) => { this.setData({ tabList, - imgSrcs: swiper, pageLoading: false, }); - this.loadGoodsList(true); }); }, - - tabChangeHandle(e) { - this.privateData.tabIndex = e.detail; - this.loadGoodsList(true); + //鐐瑰嚮鐩綍 + toPages(item) { + let info = item.target.dataset.info + if (info.url) { + wx.navigateTo({ + url: info.url + }) + } else { + wx.showToast({ + title: "寤鸿涓�", + icon: 'none', + duration: 2000 + }) + } }, - - onReTry() { - this.loadGoodsList(); - }, - - async loadGoodsList(fresh = false) { - if (fresh) { - wx.pageScrollTo({ - scrollTop: 0, + //涓撻璁ㄨ + getSubjectList() { + const obj = { + storeInfo: "jsek_seminar", + path: 'jsek_homepageSeminar', + coverSize: { + width: 400 + }, + paging: { + start: 0, + size: 4 + }, + fields: { + liveTime: [], + lecturer: [], + startTime: [], + jsek_link: [] + } + } + 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.price = item.price ? item.price.toFixed(2) : item.price; }); - } - - this.setData({ goodsListLoadStatus: 1 }); - - const pageSize = this.goodListPagination.num; - let pageIndex = this.privateData.tabIndex * pageSize + this.goodListPagination.index + 1; - if (fresh) { - pageIndex = 0; - } - - try { - const nextList = await fetchGoodsList(pageIndex, pageSize); this.setData({ - goodsList: fresh ? nextList : this.data.goodsList.concat(nextList), - goodsListLoadStatus: 0, - }); + specialSubjectList: res.datas + }) + }) + }, - this.goodListPagination.index = pageIndex; - this.goodListPagination.num = pageSize; - } catch (err) { - this.setData({ goodsListLoadStatus: 3 }); + //绮鹃�夎绋嬪垎绫� + getCourseTypeListList() { + const data = { + path: 'jsek_homepageDigitalCourses', + filterList: [], + queryType: '\\', + searchList: [], + size: '20', + start: '0', + storeRefCode: app.config.digitalCourses, + sort: { type: 'Asc', field: 'LinkOrder' } } + app.MG.store.getStoreChannelList(data).then((res) => { + if (res.datas && res.datas.length > 0) { + let dataList = []; + dataList.push(...res.datas) + this.setData({ + courseTypeList: dataList, + activeItem: 0 + }) + this.getCourseList(res.datas[0]) + } + }) + }, + //绮鹃�夎绋嬪垪琛� + getCourseList(item) { + const obj = { + storeInfo: "app.config.goodsStore", + path: item.pathList + '\\' + item.id, + coverSize: { + width: 260 + }, + paging: { + start: 0, + size: 4 + }, + fields: { + courseLeader: [], + affiliatedUnit: [], + publishingUnit: [], + classHours: [] + } + } + app.MG.store.getProductList(obj).then((res) => { + res.datas.forEach((item) => { + item.price = item.price ? item.price.toFixed(2) : item.price; + }); + this.setData({ + courseList: res.datas + }) + }) + }, + tabChangeHandle(item) { + let info = this.data.courseTypeList[item.detail.value] + this.getCourseList(info) + }, + //鍥句功鏈嶅姟鍒嗙被 + getBookTypeList() { + const data = { + path: 'jsek_homepageBookService', + filterList: [], + queryType: '\\', + searchList: [], + size: '20', + start: '0', + storeRefCode: app.config.goodsStore, + sort: { type: 'Asc', field: 'LinkOrder' } + } + app.MG.store.getStoreChannelList(data).then((res) => { + if (res.datas && res.datas.length > 0) { + let dataList = []; + dataList.push(...res.datas) + this.setData({ + bookTypeList: dataList, + activeItem1: 0 + }) + this.getBooksList(dataList[0]) + } + }) + }, + //鍥句功鏈嶅姟鍒楄〃 + getBooksList(item) { + const obj = { + storeInfo: app.config.goodsStore, + path: item.pathList + '\\' + item.id, + queryType: '*', + coverSize: { + width: 150 + }, + paging: { + start: 0, + size: 6 + }, + fields: { + author: [] + } + } + app.MG.store.getProductList(obj).then((res) => { + this.setData({ + booksList: res.datas, + }) + }) + }, + //鍥句功鏈嶅姟 + tabBookClick(item) { + let info = this.data.bookTypeList[item.detail.value] + this.getBooksList(info) + }, + //鏁板瓧闃呰 + getReadBookList() { + const obj = { + storeInfo: app.config.digitalTextbooks, + path: 'jsek_homepageDigitalTextbooks', + coverSize: { + width: 150 + }, + paging: { + start: 0, + size: 3 + }, + fields: { + author: [] + } + } + app.MG.store.getProductList(obj).then((res) => { + this.setData({ + readBookList: res.datas + }) + }) + }, + //鏁板瓧鏁欐潗 + getTextbookListList() { + const obj = { + storeInfo: app.config.digitalTextbooks, + path: 'jsek_homepageDigitalTextbooks', + coverSize: { + width: 150 + }, + paging: { + start: 0, + size: 6 + }, + fields: { + author: [], + } + } + app.MG.store.getProductList(obj).then((res) => { + this.setData({ + textbookList: res.datas + }) + }) + }, + //鑾峰彇鎺掕姒� + getRankingList() { + const obj = { + storeInfo: app.config.digitalTextbooks, + path: 'jsek_homepageDigitalTextbooks', + coverSize: { + width: 150 + }, + paging: { + start: 0, + size: 6 + }, + fields: { + author: [], + } + } + app.MG.store.getProductList(obj).then((res) => { + this.setData({ + rankingList: res.datas + }) + }) }, - goodListClickHandle(e) { - const { index } = e.detail; - const { spuId } = this.data.goodsList[index]; - wx.navigateTo({ - url: `/pages/goods/details/index?spuId=${spuId}`, - }); - }, + onPageScroll(e) { + this.setData({ + isWhite: e.scrollTop > 50 ? true : false + }) - goodListAddCartHandle() { - Toast({ - context: this, - selector: '#t-toast', - message: '鐐瑰嚮鍔犲叆璐墿杞�', - }); - }, + } - navToSearchPage() { - wx.navigateTo({ url: '/pages/goods/search/index' }); - }, - - navToActivityDetail({ detail }) { - - const data = this.data.bannerList[detail.index] - console.log('璺宠浆', data.link); - // const { index: promotionID = 0 } = detail || {}; - // wx.navigateTo({ - // url: `/pages/promotion-detail/index?promotion_id=${promotionID}`, - // }); - }, }); -- Gitblit v1.9.1