liveStream.js 7.52 KB
// 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');

Page({
  /**
   * 页面的初始数据
   */
  data: {
    curPage: 1,
    pageNum: 1,
    liveing: [],
    livetoBegin: [],
    liveOver: []
  },
  // 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);
          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) {
    console.log('ppppp',this.pageTotal(4, 10));
    // var self = this;
    // this.updateLiveList().then(() => {
    //   self.getData(101);
    //   self.getData(102);
    //   self.getData(103);
    // });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    // var self = this;
    // this.updateLiveList().then(() => {
    //   self.loadLiveList(1);
    // });

    var self = this;
    this.updateLiveList().then(() => {
      self.getData(101);
      self.getData(102);
      self.getData(103);
    });
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  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
      })
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    if (res.from === 'button') {
      // 来自页面内转发按钮
      console.log(res.target)
    }
    return {
      title: '直播列表'
      // path: '/page/user?id=123'
    }
  },

  onShareTimeline: function (res) {
    if (res.from === 'button') {
      // 来自页面内转发按钮
      console.log(res.target)
    }
    return {
      title: '直播列表'
      // path: '/page/user?id=123'
    }
  },

})