// pages/liveStream/liveStream.js var t = require("../../../utils/util"), ut = t, e = require("../../../utils/common.js"), a = require("../../../utils/wxParse/wxParse.js"), s = getApp(), i = s.request, rq = i, oo = s.globalData, o = s.globalData.setting, os = o; var regeneratorRuntime = require('../../../utils/runtime.js'); const app = getApp(); let self = null; Page({ /** * 页面的初始数据 */ data: { curPage: 1, living: {}, livetoBegin: {}, liveOver: {}, list: null, isLoading: false, // 检测是否已经发送请求,防止重复发送请求 noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据 pageNum: 1, // 当前页数 }, // list: [], // live: { // ing:[], // toBegin:[], // over:[] // }, // 点击直播列表项 clickItem: function (e) { // id:列表项id // live:直播类别 即将开始/直播中/精彩回放 wx.navigateTo({ url: '/packageA/pages/liveStreamDetails/liveStreamDetails?id=' + e.currentTarget.dataset.id + '&live=' + e.currentTarget.dataset.live }) // console.log('options-->'); }, // 点击 订阅/观看直播/观看回放 按钮,跳转直播组件 clickLive: function (e) { // console.log('当前房间号roomid:', e.currentTarget.dataset.roomid); let roomId = e.currentTarget.dataset.roomid; let customParams = encodeURIComponent(JSON.stringify({ path: 'pages/index/index', pid: 1 })); wx.navigateTo({ url: `plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=${roomId}&custom_params=${customParams}` }) }, updateLiveList: function () { return new Promise((resolve, reject) => { let self = this; getApp().request.put("/api/weshop/wx/livelist/updatelivelist", { data: { storeId: o.stoid }, success: function (res) { // console.log('我发起了PUT请求,请求结果:', res.data); if(res.data.code == 0) { resolve(); }; } }); }); }, // loadLiveList: function (curPage) { // // console.log('---->curPage', curPage); // // var live = {}; // // live.toBegin = []; // 即将开始 // // live.ing = []; // 直播中 // // var liveOver = []; // 已结束 // var that = this; // var storeId = o.stoid; // // 请求数据 // getApp().request.promiseGet("/api/weshop/wx/livelist/page", { // data: { // storedId: o.stoid, // page: curPage, // live_status: 103 // } // }).then(res => { // if (res.data.code == 0) { // // console.log('res------------>', res); // // 计算总页数 // // var total = res.data.data.total; // // console.log("total", total); // // var pageSize = res.data.data.pageSize; // // console.log("pageSize", pageSize); // // var pageNum = that.pageTotal(total, pageSize); // // that.setData({ // // pageNum: that.pageTotal(total, pageSize) // // }); // // 如果当前请求的是第一页数据,则执行赋值,否则执行合并再赋值 // if (curPage == 1) { // that.setData({ // liveOver: that.data.liveOver.concat(res.data.data.pageData) // }) // } else { // that.setData({ // liveOver: that.data.liveOver.concat(res.data.data.pageData) // }) // }; // // var list = that.data.list; // // for(var i in list) { // // var liveStatus = list[i].live_status; // // if (liveStatus == '101') { // // live.ing.push(list[i]); // // } else if (liveStatus == '102') { // // live.toBegin.push(list[i]); // // } else if (liveStatus == '103') { // // live.over.push(list[i]); // // } // // } // // that.setData({ // // liveOver: list // // }); // curPage++; // that.setData({ // curPage // }); // console.log('上拉已经触发,当前page------------------------->',that.data.curPage); // } else { // console.error('请求失败!!!!!'); // } // }) // }, // pageTotal: function (rowCount, pageSize) { // if (rowCount == null || rowCount == "") { // return 0; // } else { // if (pageSize != 0 && rowCount % pageSize == 0) { // return parseInt(rowCount / pageSize) // }; // if (pageSize != 0 && rowCount % pageSize != 0) { // return parseInt(rowCount / pageSize) + 1; // }; // } // }, // getData: function (liveStatus) { // var that = this; // var curPage = this.data.curPage // getApp().request.promiseGet("/api/weshop/wx/livelist/page", { // data: { // storedId: o.stoid, // page: curPage, // live_status: liveStatus // } // }).then(res => { // if (res.data.code == 0) { // if (liveStatus == 101) { // that.setData({ // liveing: res.data.data.pageData // }); // } else if (liveStatus == 102) { // that.setData({ // livetoBegin: res.data.data.pageData // }); // } else if (liveStatus == 103) { // that.setData({ // liveOver: res.data.data.pageData // }); // var total = res.data.data.total; // console.log("total", total); // var pageSize = res.data.data.pageSize; // console.log("pageSize", pageSize); // var pageNum = that.pageTotal(total, pageSize); // console.log("pageNum", pageNum); // that.setData({ // pageNum // }); // } // } // curPage++; // that.setData({ // curPage // }); // }); // }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { getApp().is_Single_page(this,function(){ app.isLogin().then(function(data) {//进入页面前已经授权登录成功 this.setData({ userInfo: data, }); }); }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { getApp().check_can_share(); if(app.globalData.userInfo) { if(!this.data.isLogin) { this.setData({ userInfo: app.globalData.userInfo, imghost: app.globalData.setting.imghost, isLogin: true, }); this.updateLiveList().then(() => { self.getData(true, '/api/weshop/wx/livelist/page', { //请求直播中列表 storedId: o.stoid, live_status: 101, pageSize: 100, }).then((res) => { self.setData({ living: self.data.list, }); //直播中列表请求完后,请求即将开始列表 self.getData(true, '/api/weshop/wx/livelist/page', { storedId: o.stoid, live_status: 102, pageSize: 100, }).then((res) => { self.setData({ livetoBegin: self.data.list, }); //即将开始列表请求完后,请求结束列表 self.getData(true, '/api/weshop/wx/livelist/page', { storedId: o.stoid, live_status: 103, }).then((res) => { self.setData({ liveOver: self.data.list, }); }); }); }); }); }; }; }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { // var self = this; // wx.showNavigationBarLoading(); //在标题栏中显示加载 // setTimeout(function() { // self.loadLiveList(1); // wx.hideNavigationBarLoading(); //完成停止加载 // wx.stopPullDownRefresh(); //停止下拉刷新 // }, 500); }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { // var self = this; // var curPage = this.data.curPage; // console.log('now curPage',curPage); // var pageNum = this.data.pageNum; // console.log('now pageNum',pageNum); // if (curPage <= pageNum) { // wx.showLoading({ // title: '加载中...', // }) // setTimeout(function () { // self.loadLiveList(curPage); // wx.hideLoading(); // }, 500); // } else { // wx.showToast({ // title: '已经到底啦~', // duration: 1000 // }) // } // console.log('触底啦'); this.scrollToLower('/api/weshop/wx/livelist/page', { storedId: o.stoid, live_status: 103 }); }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { getApp().globalData.no_clear=1; if (res.from === 'button') { // 来自页面内转发按钮 // console.log(res.target) } return { title: '直播列表' // path: '/page/user?id=123' } }, onShareTimeline: function (res) { getApp().globalData.no_clear=1; if (res.from === 'button') { // 来自页面内转发按钮 // console.log(res.target) } return { title: '直播列表' // path: '/page/user?id=123' } }, /** * 请求数据 */ getData: function(isInit, url, data) { let p = app.request.promiseGet(url, { data: data, isShowLoading: true, }) .then(function(res) { if(res.data.code == 0) { self.setData({ isLoading: false }); if(isInit) {// 第一次加载 self.setData({ list: res.data.data }); } else { self.setData({ 'list.pageData': self.data.list.pageData.concat(res.data.data.pageData) }); }; if((res.data.data.pageData.length == 0) || (res.data.data.pageSize * res.data.data.page >= res.data.data.total)) { self.setData({ noMore: true }); }; } else { self.setData({ 'list.pageData': [] }); }; }); return p; }, /** * 上拉加载 */ scrollToLower(url, requestData) { // 数据总量 let total = this.data.list.total; // 单页最大数据量 let pageSize = this.data.list.pageSize; // 如果数据总量不为0且小于或等于单页最大数据量,说明数据已全部加载,显示‘没有更多了’ if((total != 0)&&(total <= pageSize)) { this.setData({ noMore: true }); }; if(!this.data.isLoading && !this.data.noMore) { this.setData({ isLoading: true, pageNum: this.data.pageNum + 1 }); requestData.page = this.data.pageNum; this.getData(false, url, requestData); }; }, })