Commit a5ffbf748d4b0e9f8a0825e08accfa037ec49399

Authored by taiyuan
1 parent 581a42d0

直播修改

packageA/pages/liveStream/liveStream.js
... ... @@ -10,17 +10,25 @@ var t = require("../../../utils/util"),
10 10 o = s.globalData.setting,
11 11 os = o;
12 12 var regeneratorRuntime = require('../../../utils/runtime.js');
13   -1
  13 +
  14 +const app = getApp();
  15 +let self = null;
  16 +
  17 +
14 18 Page({
15 19 /**
16 20 * 页面的初始数据
17 21 */
18 22 data: {
19 23 curPage: 1,
20   - pageNum: 1,
21   - liveing: [],
22   - livetoBegin: [],
23   - liveOver: []
  24 + living: {},
  25 + livetoBegin: {},
  26 + liveOver: {},
  27 + list: null,
  28 + isLoading: false, // 检测是否已经发送请求,防止重复发送请求
  29 + noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据
  30 + pageNum: 1, // 当前页数
  31 +
24 32 },
25 33 // list: [],
26 34 // live: {
... ... @@ -60,8 +68,10 @@ Page({
60 68 storeId: o.stoid
61 69 },
62 70 success: function (res) {
63   - console.log('我发起了PUT请求,请求结果:', res.data);
64   - resolve();
  71 + // console.log('我发起了PUT请求,请求结果:', res.data);
  72 + if(res.data.code == 0) {
  73 + resolve();
  74 + };
65 75 }
66 76 });
67 77 });
... ... @@ -136,99 +146,144 @@ Page({
136 146 })
137 147 },
138 148  
139   - pageTotal: function (rowCount, pageSize) {
140   - if (rowCount == null || rowCount == "") {
141   - return 0;
142   - } else {
143   - if (pageSize != 0 && rowCount % pageSize == 0) {
144   - return parseInt(rowCount / pageSize)
145   - };
146   - if (pageSize != 0 && rowCount % pageSize != 0) {
147   - return parseInt(rowCount / pageSize) + 1;
148   - };
149   - }
150   - },
151   -
152   - getData: function (liveStatus) {
153   - var that = this;
154   - var curPage = this.data.curPage
155   - getApp().request.promiseGet("/api/weshop/wx/livelist/page", {
156   - data: {
157   - storedId: o.stoid,
158   - page: curPage,
159   - live_status: liveStatus
160   - }
161   - }).then(res => {
162   - if (res.data.code == 0) {
163   - if (liveStatus == 101) {
164   - that.setData({
165   - liveing: res.data.data.pageData
166   - });
167   - } else if (liveStatus == 102) {
168   - that.setData({
169   - livetoBegin: res.data.data.pageData
170   - });
171   - } else if (liveStatus == 103) {
172   - that.setData({
173   - liveOver: res.data.data.pageData
174   - });
175   -
176   - var total = res.data.data.total;
177   - console.log("total", total);
178   - var pageSize = res.data.data.pageSize;
179   - console.log("pageSize", pageSize);
180   - var pageNum = that.pageTotal(total, pageSize);
181   - console.log("pageNum", pageNum);
182   - that.setData({
183   - pageNum
184   - });
185   -
186   - }
187   - }
188   -
189   - curPage++;
190   - that.setData({
191   - curPage
192   - });
  149 + // pageTotal: function (rowCount, pageSize) {
  150 + // if (rowCount == null || rowCount == "") {
  151 + // return 0;
  152 + // } else {
  153 + // if (pageSize != 0 && rowCount % pageSize == 0) {
  154 + // return parseInt(rowCount / pageSize)
  155 + // };
  156 + // if (pageSize != 0 && rowCount % pageSize != 0) {
  157 + // return parseInt(rowCount / pageSize) + 1;
  158 + // };
  159 + // }
  160 + // },
193 161  
194   - });
195   - },
  162 + // getData: function (liveStatus) {
  163 + // var that = this;
  164 + // var curPage = this.data.curPage
  165 + // getApp().request.promiseGet("/api/weshop/wx/livelist/page", {
  166 + // data: {
  167 + // storedId: o.stoid,
  168 + // page: curPage,
  169 + // live_status: liveStatus
  170 + // }
  171 + // }).then(res => {
  172 + // if (res.data.code == 0) {
  173 + // if (liveStatus == 101) {
  174 + // that.setData({
  175 + // liveing: res.data.data.pageData
  176 + // });
  177 + // } else if (liveStatus == 102) {
  178 + // that.setData({
  179 + // livetoBegin: res.data.data.pageData
  180 + // });
  181 + // } else if (liveStatus == 103) {
  182 + // that.setData({
  183 + // liveOver: res.data.data.pageData
  184 + // });
  185 +
  186 + // var total = res.data.data.total;
  187 + // console.log("total", total);
  188 + // var pageSize = res.data.data.pageSize;
  189 + // console.log("pageSize", pageSize);
  190 + // var pageNum = that.pageTotal(total, pageSize);
  191 + // console.log("pageNum", pageNum);
  192 + // that.setData({
  193 + // pageNum
  194 + // });
  195 +
  196 + // }
  197 + // }
  198 +
  199 + // curPage++;
  200 + // that.setData({
  201 + // curPage
  202 + // });
  203 +
  204 + // });
  205 + // },
196 206  
197 207 /**
198 208 * 生命周期函数--监听页面加载
199 209 */
200 210 onLoad: function (options) {
201   - console.log('ppppp',this.pageTotal(4, 10));
202   - // var self = this;
203   - // this.updateLiveList().then(() => {
204   - // self.getData(101);
205   - // self.getData(102);
206   - // self.getData(103);
207   - // });
  211 + self = this;
  212 + // console.log('ppppp',this.pageTotal(4, 10));
  213 +
  214 + app.isLogin().then(function(data) {//进入页面前已经授权登录成功
  215 + self.setData({
  216 + userInfo: data,
  217 + });
  218 + });
208 219 },
209 220  
210 221 /**
211 222 * 生命周期函数--监听页面初次渲染完成
212 223 */
213 224 onReady: function () {
214   - // var self = this;
215   - // this.updateLiveList().then(() => {
216   - // self.loadLiveList(1);
217   - // });
218   -
219   - var self = this;
220   - this.updateLiveList().then(() => {
221   - self.getData(101);
222   - self.getData(102);
223   - self.getData(103);
224   - });
  225 +
225 226 },
226 227  
227 228 /**
228 229 * 生命周期函数--监听页面显示
229 230 */
230 231 onShow: function () {
231   -
  232 + if(app.globalData.userInfo) {
  233 + if(!this.data.isLogin) {
  234 + this.setData({
  235 + userInfo: app.globalData.userInfo,
  236 + imghost: app.globalData.setting.imghost,
  237 + isLogin: true,
  238 + });
  239 +
  240 + this.updateLiveList().then(() => {
  241 +
  242 + self.getData(true, '/api/weshop/wx/livelist/page', { //请求直播中列表
  243 + storedId: o.stoid,
  244 + live_status: 101,
  245 + pageSize: 100,
  246 + }).then((res) => {
  247 + self.setData({
  248 + living: self.data.list,
  249 + });
  250 +
  251 + //直播中列表请求完后,请求即将开始列表
  252 + self.getData(true, '/api/weshop/wx/livelist/page', {
  253 + storedId: o.stoid,
  254 + live_status: 102,
  255 + pageSize: 100,
  256 + }).then((res) => {
  257 + self.setData({
  258 + livetoBegin: self.data.list,
  259 + });
  260 +
  261 + //即将开始列表请求完后,请求结束列表
  262 + self.getData(true, '/api/weshop/wx/livelist/page', {
  263 + storedId: o.stoid,
  264 + live_status: 103,
  265 + }).then((res) => {
  266 + self.setData({
  267 + liveOver: self.data.list,
  268 + });
  269 + });
  270 +
  271 +
  272 + });
  273 +
  274 +
  275 + });
  276 +
  277 +
  278 +
  279 +
  280 +
  281 + });
  282 +
  283 +
  284 +
  285 + };
  286 + };
232 287 },
233 288  
234 289 /**
... ... @@ -262,26 +317,32 @@ Page({
262 317 * 页面上拉触底事件的处理函数
263 318 */
264 319 onReachBottom: function () {
265   - var self = this;
266   - var curPage = this.data.curPage;
267   - console.log('now curPage',curPage);
268   - var pageNum = this.data.pageNum;
269   - console.log('now pageNum',pageNum);
270   -
271   - if (curPage <= pageNum) {
272   - wx.showLoading({
273   - title: '加载中...',
274   - })
275   - setTimeout(function () {
276   - self.loadLiveList(curPage);
277   - wx.hideLoading();
278   - }, 500);
279   - } else {
280   - wx.showToast({
281   - title: '已经到底啦~',
282   - duration: 1000
283   - })
284   - }
  320 + // var self = this;
  321 + // var curPage = this.data.curPage;
  322 + // console.log('now curPage',curPage);
  323 + // var pageNum = this.data.pageNum;
  324 + // console.log('now pageNum',pageNum);
  325 +
  326 + // if (curPage <= pageNum) {
  327 + // wx.showLoading({
  328 + // title: '加载中...',
  329 + // })
  330 + // setTimeout(function () {
  331 + // self.loadLiveList(curPage);
  332 + // wx.hideLoading();
  333 + // }, 500);
  334 + // } else {
  335 + // wx.showToast({
  336 + // title: '已经到底啦~',
  337 + // duration: 1000
  338 + // })
  339 + // }
  340 +
  341 + console.log('触底啦');
  342 + this.scrollToLower('/api/weshop/wx/livelist/page', {
  343 + storedId: o.stoid,
  344 + live_status: 103
  345 + });
285 346 },
286 347  
287 348 /**
... ... @@ -308,5 +369,80 @@ Page({
308 369 // path: '/page/user?id=123'
309 370 }
310 371 },
  372 +
  373 +
  374 +
  375 +
  376 +
  377 +
  378 + /**
  379 + * 请求数据
  380 + */
  381 + getData: function(isInit, url, data) {
  382 + let p = app.request.promiseGet(url, {
  383 + data: data,
  384 + isShowLoading: true,
  385 + })
  386 + .then(function(res) {
  387 + if(res.data.code == 0) {
  388 +
  389 + self.setData({
  390 + isLoading: false
  391 + });
  392 +
  393 + if(isInit) {// 第一次加载
  394 + self.setData({
  395 + list: res.data.data
  396 + });
  397 + } else {
  398 + self.setData({
  399 + 'list.pageData': self.data.list.pageData.concat(res.data.data.pageData)
  400 + });
  401 + };
  402 +
  403 + if((res.data.data.pageData.length == 0) || (res.data.data.pageSize * res.data.data.page >= res.data.data.total)) {
  404 + self.setData({
  405 + noMore: true
  406 + });
  407 + };
  408 +
  409 + } else {
  410 + self.setData({
  411 + 'list.pageData': []
  412 + });
  413 + };
  414 +
  415 + });
  416 +
  417 + return p;
  418 + },
  419 +
  420 +
  421 + /**
  422 + * 上拉加载
  423 + */
  424 + scrollToLower(url, requestData) {
  425 + // 数据总量
  426 + let total = this.data.list.total;
  427 + // 单页最大数据量
  428 + let pageSize = this.data.list.pageSize;
  429 + // 如果数据总量不为0且小于或等于单页最大数据量,说明数据已全部加载,显示‘没有更多了’
  430 + if((total != 0)&&(total <= pageSize)) {
  431 + this.setData({
  432 + noMore: true
  433 + });
  434 + };
  435 +
  436 + if(!this.data.isLoading && !this.data.noMore) {
  437 + this.setData({
  438 + isLoading: true,
  439 + pageNum: this.data.pageNum + 1
  440 + });
  441 + requestData.page = this.data.pageNum;
  442 + this.getData(false, url, requestData);
  443 + };
  444 + },
  445 +
  446 +
311 447  
312 448 })
313 449 \ No newline at end of file
... ...
packageA/pages/liveStream/liveStream.json
1 1 {
2 2 "usingComponents": {
3   - "subscribe": "plugin-private://wx2b03c6e691cd7370/components/subscribe/subscribe"
  3 + "nodata": "/components/nodata/nodata",
  4 + "subscribe": "plugin-private://wx2b03c6e691cd7370/components/subscribe/subscribe"
4 5 },
5 6 "navigationBarTitleText": "直播",
6   - "onReachBottomDistance": 300
  7 + "enablePullDownRefresh": false
7 8 }
8 9  
9 10  
10 11 \ No newline at end of file
... ...
packageA/pages/liveStream/liveStream.wxml
1 1 <!--pages/liveStream/liveStream.wxml-->
2 2 <wxs src="../../../utils/filter.wxs" module="filter"></wxs>
3 3 <view>
4   - <block wx:if="{{live === '{}'}}">当前暂无直播</block>
5 4 <!-- 即将开始 -->
6   - <block wx:if="{{livetoBegin.length > 0}}">
  5 + <block wx:if="{{livetoBegin.pageData.length > 0}}">
7 6 <view class="title">即将开始</view>
8 7 <view class="list">
9   - <block wx:for="{{livetoBegin}}" wx:key="item">
  8 + <block wx:for="{{livetoBegin.pageData}}" wx:key="item">
10 9 <view class="list-item" data-id="{{item.id}}" data-live="toBegin" catchtap="clickItem">
11 10 <view class="list-item-left">
12   - <image src="{{item.share_img}}" class="item-pic" mode="aspectFill"></image>
  11 + <image src="{{item.share_img}}" class="item-pic" mode="aspectFit"></image>
13 12 </view>
14 13 <view class="list-item-right">
15 14 <view>
... ... @@ -27,13 +26,13 @@
27 26  
28 27  
29 28 <!-- 直播中 -->
30   - <block wx:if="{{liveing.length > 0}}">
  29 + <block wx:if="{{living.pageData.length > 0}}">
31 30 <view class="title">直播中</view>
32 31 <view class="list">
33   - <block wx:for="{{liveing}}" wx:key="item">
  32 + <block wx:for="{{liveing.pageData}}" wx:key="item">
34 33 <view class="list-item" catchtap="clickItem" data-id="{{item.id}}" data-live="ing">
35 34 <view class="list-item-left">
36   - <image src="{{item.share_img}}" class="item-pic" mode="aspectFill"></image>
  35 + <image src="{{item.share_img}}" class="item-pic" mode="aspectFit"></image>
37 36 </view>
38 37 <view class="list-item-right">
39 38 <view>
... ... @@ -50,13 +49,13 @@
50 49  
51 50  
52 51 <!-- 精彩回放 -->
53   - <block wx:if="{{liveOver.length > 0}}">
  52 + <block wx:if="{{liveOver.pageData.length > 0}}">
54 53 <view class="title">精彩回放</view>
55 54 <view class="list">
56   - <block wx:for="{{liveOver}}" wx:key="item">
  55 + <block wx:for="{{liveOver.pageData}}" wx:key="item">
57 56 <view class="list-item" bindtap="clickItem" data-id="{{item.id}}" data-live="over">
58 57 <view class="list-item-left">
59   - <image src="{{item.share_img}}" class="item-pic" mode="aspectFill"></image>
  58 + <image src="{{item.share_img}}" class="item-pic" mode="aspectFit"></image>
60 59 </view>
61 60 <view class="list-item-right">
62 61 <view>
... ... @@ -70,4 +69,10 @@
70 69 </block>
71 70 </view>
72 71 </block>
  72 +
  73 +
  74 + <nodata nodataContainer="t-c" wx:if="{{livetoBegin.pageData.length == 0 && liveing.pageData.length == 0 && liveOver.pageData.length == 0}}"></nodata>
  75 + <view class="no-more" hidden="{{!noMore}}" wx:if="{{living.pageData.length != 0 && livetoBegin.pageData.length == 0 && liveO.pageData.length == 0}}">- 没有更多了 -</view>
  76 + <view class="no-more" hidden="{{!noMore}}" wx:if="{{living.pageData.length == 0 && livetoBegin.pageData.length != 0 && liveO.pageData.length == 0}}">- 没有更多了 -</view>
  77 + <view class="no-more" hidden="{{!noMore}}" wx:if="{{living.pageData.length == 0 && livetoBegin.pageData.length == 0 && liveO.pageData.length != 0}}">- 没有更多了 -</view>
73 78 </view>
74 79 \ No newline at end of file
... ...
packageA/pages/liveStream/liveStream.wxss
... ... @@ -60,12 +60,12 @@
60 60 }
61 61 .item-time {
62 62 color: #999;
63   - font-size: 22rpx;
  63 + font-size: 24rpx;
64 64 padding-top: 10rpx;
65 65 }
66 66 .item-anchor {
67 67 color: #999;
68   - font-size: 22rpx;
  68 + font-size: 24rpx;
69 69 }
70 70  
71 71 .item-btn {
... ... @@ -74,7 +74,7 @@
74 74 line-height: 56rpx;
75 75 background-color: #f23030;
76 76 color: #fff;
77   - font-size: 28rpx;
  77 + font-size: 24rpx;
78 78 text-align: center;
79 79 }
80 80 subscribe {
... ... @@ -101,4 +101,11 @@ subscribe {
101 101 }
102 102 .subscribe--live-player-hasSubscribe {
103 103 background-color: #666 !important;
  104 +}
  105 +
  106 +.no-more {
  107 + font-size: 24rpx;
  108 + line-height: 3;
  109 + color: #909090;
  110 + text-align: center;
104 111 }
105 112 \ No newline at end of file
... ...
packageA/pages/liveStreamDetails/liveStreamDetails.wxss
... ... @@ -128,7 +128,7 @@
128 128 .btn {
129 129 color: #fff;
130 130 background-color: #f23030;
131   - font-size: 36rpx;
  131 + font-size: 30rpx;
132 132 line-height: 92rpx;
133 133 text-align: center;
134 134 /* width: 618rpx;
... ...