// pages/showVideoList/showVideoList.js const app = getApp() const util = require("../../utils/util") const urlDef = require("../../utils/urls") Page({ /** * 页面的初始数据 */ data: { personType: 0, index: 0, switchTitle: ['热门', '最新', '我点赞的', '我发布的'], list: [ ], loading: '上拉加载', flag: 0, pageNum: 0, hasNextPage: true, curStu: null, }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let personType = options.personType; if (personType == 1) { this.setData({ switchTitle: ['热门', '最新', '我点赞的'] }) } this.setData({ personType: personType }) }, uploadTap: function () { wx.navigateTo({ url: '/pages/uploadShow/uploadShow', }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { this.setData({ pageNum: 0, list: [] }) this.queryList(); }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { this.setData({ list: [] }) this.queryList() }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { if (this.data.hasNextPage) { let pn = this.data.pageNum this.setData({ loading: '加载中', 'pageNum': ++pn }) this.queryList() } }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, selectIndex: function (i) { this.setData({ index: i.detail, list: [], pageNum: 0 }) this.queryList() }, queryList: function () { const urls = urlDef.urls; let stu = wx.getStorageSync('student'); if (stu) { this.setData({ curStu: stu }) let url = urls.person_video_list; let params = { 'q.personType': this.data.personType, 'q.orgId': stu.orgId, 'q.doPersonId': stu.studentId }; if (this.data.index == 0) { params['q.sortBy'] = 'goodCount'// 最热 按点赞量来 } else if (this.data.index == 1) { params['q.sortBy'] = 'createDate' } else if (this.data.index == 2) { params['q.goodPersonId'] = stu.studentId } else if (this.data.index == 3) { params['q.personId'] = stu.studentId } params.pageNum = this.data.pageNum util.apiPost(url, params).then(rs => { let list = rs.list this.setData({ 'hasNextPage': rs.hasNextPage, 'loading': rs.hasNextPage ? '下拉刷新' : '没有更多数据', 'list': this.data.list.concat(list) }) let that = this; list.map(v => { util.apiPost(urls.video_loadInfo + v.videoId).then((rs) => { v.imgUrl = rs.img v.playUrl = rs.url that.reloadVideos(v) }) }) wx.stopPullDownRefresh() }) } }, reloadVideos: function (v) { this.data.list.map(o => { if (o.videoId == v.videoId) { o = v } }) this.setData({ list: this.data.list }) }, doThumbsUp: function (o) { const urls = urlDef.urls; let pid = this.data.curStu.studentId; let pt = o.detail.personType; let vid = o.detail.videoId; let entity = { videoId: vid, personId: pid, personType: pt, actionType: 1 }; util.apiPost(urls.person_video_view_save, entity, 'application/json').then(rs => { this.data.list.map(o => { if (o.videoId == vid) { o.goodCount += 1 } }) this.setData({ 'list': this.data.list }) }).catch(e => { console.log(e); }) } })