// pages/topics/index.js import dayjs from '../../utils/dayjs/index.js' import relativeTime from '../../utils/dayjs/relativeTime.js' import { TopicModel } from '../../models/topic.js' import { store } from '../../utils/store.js' dayjs.extend(relativeTime) let topicModel = new TopicModel() Page({ /** * 页面的初始数据 */ data: { headerTitles: ['互动区', '金点子', '留言箱'], segmentIndex: 0, currPage: 1, topicList: [], goodIdeaList: [] }, /** * 生命周期函数--监听页面加载 */ onLoad: function () { if (store.hasPhone()) { console.log('已经绑定手机号码') } else { console.log('未绑定手机号码') wx.redirectTo({ url: '/pages/register/index', }) } }, onShow: function () { // 页面出现在前台时执行 console.log('啦啦啦') this.setData({ currPage: 1, }) switch (this.data.segmentIndex) { case 0: return this.fetchTopicList() case 1: return this.fetchGoodIdeaList() } }, fetchTopicList () { let page = this.data.currPage topicModel.getTopicList(page, res => { console.log('议题列表') console.log(res) const datas = res.result.list let tempDatas = [] datas.forEach(item => { tempDatas.push({ topicId: item.id, userIcon: item.groupAvator || '', title: item.title, userIcon: item.groupAvator, userName: item.author, commentNum: item.commentNum, topicImg: item.image, time: item.createTime, }) }) if (page == 1) { this.setData({ topicList: tempDatas }) } else { if (tempDatas.length > 0) { const list = [...this.data.topicList, ...tempDatas] this.setData({ topicList: list }) } else { const page = this.data.currPage - 1 this.setData({ currPage: page }) wx.showToast({ title: '已加载全部', icon: 'none' }) } } console.log(this.data.topicList) wx.stopPullDownRefresh() }) }, onRefreshList () { this.fetchGoodIdeaList() }, fetchGoodIdeaList () { let page = this.data.currPage topicModel.goldenList(page, res => { console.log('金点子列表') console.log(res) const datas = res.result.list let tempDatas = [] datas.forEach(item => { tempDatas.push({ // 评论数据 commentId: item.id, commentIcon: item.commentAvator, commentName: item.username, commentTime: item.createTime, comment: item.comment, praiseNum: item.supportNum, // 议题数据 topicTtitle: item.title, topicGroupAvator: item.groupAvator, topicAuthor: item.author, topicGroupCreateTime: item.groupCreateTime, topicCommentNum: item.commentNum, topicGroupId: item.groupId, topicDetail: item.content }) }) if (page == 1) { this.setData({ goodIdeaList: tempDatas }) } else { if (tempDatas.length > 0) { const list = [...this.data.goodIdeaList, ...tempDatas] this.setData({ goodIdeaList: list }) } else { const page = this.data.currPage - 1 this.setData({ currPage: page }) wx.showToast({ title: '已加载全部', icon: 'none' }) } } console.log(this.data.goodIdeaList) wx.stopPullDownRefresh() }) }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { this.setData({ currPage: 1, }) switch (this.data.segmentIndex) { case 0: return this.fetchTopicList() case 1: return this.fetchGoodIdeaList() } }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { const page = this.data.currPage + 1 this.setData({ currPage: page }) switch (this.data.segmentIndex) { case 0: return this.fetchTopicList() case 1: return this.fetchGoodIdeaList() } }, // 定义点击标题的事件处理函数,将选中标题的id赋值给selectedTitle tapSegment: function (e) { console.log(e) this.setData({ currPage: 1 }) const item = e.detail; this.setData({ segmentIndex: item.index }); switch (item.index) { case 0: return this.fetchTopicList() case 1: return this.fetchGoodIdeaList() } }, tapGoodIdeaPraise(e){ this.fetchGoodIdeaPraise(e.detail.commentId) }, fetchGoodIdeaPraise(id) { topicModel.topicCommentPraise(id, res => { console.log(res) if (res.code === 200) { wx.showToast({ title: res.message, icon: 'none' }) this.onPullDownRefresh() } }) }, })