123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- import httpRequestApi from '../../utils/APIClient';
- import {
- formatDate
- } from '../../utils/util';
- export const hotInit = (that) => {
- if (!that.data.hotData) {
- that.setData({
- hotData: {
- title: '热门',
- autoplay: false,
- swiperCurrent: 0,
- interval: 5000,
- duration: 700,
- circular: true,
- hotWareCardFirst: 'hotWareCardFirst',
- hotWareCard: 'hotWareCard',
- hotSearch: '',
- banner: [],
- recommend: [],
- hotWorks: [],
- winH: that.data.winH,
- searchIcon: true,
- unReadMessageNum: 0,
- myCourse: [],
- inputFocus: false,
- inputValue: ''
- // circular: true
- }
- })
- }
- // 搜索方法
- that.searchHandler = () => {
- if (that.data.hotInput.lenght !== 0) {
- wx.navigateTo({
- url: `../main/searchResult/searchResult?keyWords=${that.data.hotInput}`
- })
- }
- const str = 'hotData.inputValue';
- that.setData({
- [str]: ''
- })
- },
- // 输入框获取焦点 放大镜消失
- that.searchIconDisappear = () => {
- const str = 'hotData.searchIcon'
- that.setData({
- [str]: false
- })
- },
- that.searchIconCome = () => {
- const str = 'hotData.searchIcon'
- that.setData({
- [str]: true
- })
- }
- // 输入框输入
- that.inputHandler = (e) => {
- that.setData({
- hotInput: e.detail.value
- });
- },
- // 输入框聚焦
- that.inputFocus = () => {
- const str = 'hotData.inputFocus'
- that.setData({
- [str]: true
- });
- console.log(that.data.hotData.inputFocus)
- },
- // 打开全部课本
- that.openBooks = (e) => {
- wx.navigateTo({
- url: `../main/books/books`
- })
- }
- // 打开更多页面
- that.openMore = () => {
- wx.navigateTo({
- url: `../main/week/week`
- })
- }
- // 打开课程页面
- that.openClass = (e, lessonId) => {
- if (lessonId) {
- wx.navigateTo({
- url: `../main/class/class?id=${lessonId}`
- })
- } else {
- let id = e.currentTarget.dataset.classid;
- let title = e.currentTarget.dataset.title;
- wx.navigateTo({
- url: `../main/class/class?id=${id}&title=${title}`
- })
- }
- }
- // 打开用户作品页面
- that.openWorks = (e) => {
- let readId = e.currentTarget.dataset.readid;
- let title = e.currentTarget.dataset.title;
- wx.navigateTo({
- url: `../social/works/works?id=${readId}&title=${title}`
- })
- }
- that.getIndex = () => {
- const uid = wx.getStorageSync('uid');
- httpRequestApi.getIndex(
- uid
- ).success((res) => {
- const recommend = res.data.data.recommendLesson;
- const recommendTemp = [];
- recommend.forEach(item => {
- const oTemp = {};
- oTemp.img = item.boothContent;
- oTemp.classId = item.operationContent;
- oTemp.title = item.title;
- oTemp.summary = item.summary;
- recommendTemp.push(oTemp);
- });
- let recommendIndex = 'hotData.recommend';
- that.setData({
- [recommendIndex]: recommendTemp
- });
- httpRequestApi.userIntoPage('pages/index/index', '首页推荐').success((res) => {
- })
- })
- }
- that.getHotRecommend = (uid) => {
- httpRequestApi.getHotRecommend(
- uid
- ).success((res) => {
- // 点击切换按钮时 只刷新我的课程和未读消息 官方推荐和热门不加载
- const recommendRes = res.data.data;
- console.log(that.data.hotData.hotWorks.length)
- if (that.data.hotData.hotWorks.length > 0) {
- const myCourseStr = 'hotData.myCourse'
- const isMessageNormal = 'hotData.isMessageNormal'
- const unReadMessageContent = 'hotData.unReadMessageContent'
- // unread为true时显示 未读消息,unread为false时显示通知消息,并且通知消息不可读
- that.setData({
- [myCourseStr]: recommendRes.myCourse,
- [isMessageNormal]: recommendRes.unread,
- [unReadMessageContent]: recommendRes.unread ? recommendRes.unreadMsg.content : recommendRes.annunciateMsg.content,
- })
- return;
- }
- recommendRes.hotReader.forEach(item => {
- const temp = {};
- temp.title = item.userRead.title;
- temp.summary = item.userRead.summary;
- temp.img = item.userRead.iconImg;
- temp.plays = item.userRead.playAmount ? item.userRead.playAmount : 0;
- temp.likes = item.userRead.likeAmount ? item.userRead.likeAmount : 0;
- temp.classId = item.userRead.id;
- temp.time = formatDate(item.userRead.gmtCreated, 3);
- temp.avatar = item.user ? item.user.avatar : '';
- temp.profession = item.user ? item.user.profession : '';
- temp.uid = item.user ? item.user.uid : '';
- // temp.avatar = item.user.avatar;
- temp.nickName = item.user ? item.user.wechatName : '';
- // recommendWorks.push(temp);
- that.data.hotData.hotWorks.push(temp);
- });
- const hotStr = 'hotData.hotWorks'
- const myCourseStr = 'hotData.myCourse'
- const isMessageNormal = 'hotData.isMessageNormal'
- const unReadMessageContent = 'hotData.unReadMessageContent'
- that.setData({
- [hotStr]: that.data.hotData.hotWorks,
- [myCourseStr]: recommendRes.myCourse,
- [isMessageNormal]: recommendRes.unread,
- [unReadMessageContent]: recommendRes.unread ? recommendRes.unreadMsg.content : recommendRes.annunciateMsg.content,
- unfinishedCount: recommendRes.unfinishedCount
- })
- })
- }
- that.getHotRecommendSecond = (uid, pageNo, pageSize) => {
- httpRequestApi.getHotRecommendSecond(uid, pageNo, pageSize).success(res => {
- console.log(res)
- const recommendRes = res.data.data.list;
- if (recommendRes.length === 0) return;
- // const recommendWorks = [];
- recommendRes.forEach(item => {
- const temp = {};
- temp.title = item.userRead.title;
- temp.summary = item.userRead.summary;
- temp.img = item.userRead.iconImg;
- temp.plays = item.userRead.playAmount ? item.userRead.playAmount : 0;
- temp.likes = item.userRead.likeAmount ? item.userRead.likeAmount : 0;
- temp.classId = item.userRead.id;
- temp.time = formatDate(item.userRead.gmtCreated, 3);
- temp.avatar = item.user.avatar;
- temp.profession = item.user.profession;
- temp.uid = item.user.uid;
- // temp.avatar = item.user.avatar;
- temp.nickName = item.user.wechatName;
- // recommendWorks.push(temp);
- that.data.hotData.hotWorks.push(temp);
- });
- const hotStr = 'hotData.hotWorks'
- that.setData({
- [hotStr]: that.data.hotData.hotWorks,
- recommendTotalNo: res.data.data.totalNo
- })
- })
- }
- // 去全部课本
- that.goToBooks = () => {
- wx.navigateTo({
- url: `../main/books/books`
- })
- }
- that.bannerTap = (e) => {
- const type = e.currentTarget.dataset.type;
- const id = e.currentTarget.dataset.id;
- switch (type) {
- case 'LESSON':
- that.openClass('tap', id);
- break;
- }
- },
- that.goToUsers = (e) => {
- console.log(e)
- let uid = e.currentTarget.dataset.uid;
- wx.navigateTo({
- url: `../../pages/user/myworks/myworks?uid=${uid}`
- });
- }
- // 下拉加载
- that.scrollUpdate = (e) => {
- console.log(e)
- }
- console.log(that.data.hotData.recommend)
- if (wx.getStorageSync('uid')) {
- that.getIndex();
- that.getHotRecommend(wx.getStorageSync('uid'));
- }
- // that.getIndex();
- // 获取全部课本
- // that.getBookList();
- // that.swiperChange = (e) => {
- // const str = 'hotData.swiperCurrent'
- // that.setData({
- // [str]: e.detail.current
- // });
- // }
- //跳转到课程详情
- that.goToBook = function (e) {
- console.log(e.currentTarget.dataset)
- let id = e.currentTarget.dataset.id;
- let title = e.currentTarget.dataset.title;
- console.log(id)
- wx.navigateTo({
- url: `/pages/groupPage/grade-details/grade-details?productId=${id}&title=${title}`
- })
- }
- that.swiperChange = (e) => {
- const str = 'hotData.swiperCurrent'
- that.setData({
- [str]: e.detail.current
- });
- }
- }
|