Commit fb705cd84d180f8256e6f60b50396ffb5bb3af08
Merge branch 'dev' of http://git.vipzhuang.cn/wxd/MShopWeApp into dev
Showing
3 changed files
with
117 additions
and
41 deletions
pages/user/assistance/task_assistance.js
@@ -13,6 +13,8 @@ Page({ | @@ -13,6 +13,8 @@ Page({ | ||
13 | * 页面的初始数据 | 13 | * 页面的初始数据 |
14 | */ | 14 | */ |
15 | data: { | 15 | data: { |
16 | + swpie_img: s.imghost +"/miniapp/images/user_index_powder.jpg", | ||
17 | + defaultAvatar: s.imghost + "/miniapp/images/no-head.jpg",//助力头像的默认图 | ||
16 | sw_index: 0, //轮播的下标控制 | 18 | sw_index: 0, //轮播的下标控制 |
17 | url: s.url, //接口网址 | 19 | url: s.url, //接口网址 |
18 | iurl: s.imghost, | 20 | iurl: s.imghost, |
@@ -25,17 +27,22 @@ Page({ | @@ -25,17 +27,22 @@ Page({ | ||
25 | help_id: "", //活动的id canvasHidden: 0, //分享图片是否已经生成 | 27 | help_id: "", //活动的id canvasHidden: 0, //分享图片是否已经生成 |
26 | gid: "", | 28 | gid: "", |
27 | timer: null, //全局的定时器 | 29 | timer: null, //全局的定时器 |
28 | - user_task_list: null, //会员列表 | 30 | + user_task_list: [], //会员列表 |
29 | taskid: "", //任务id | 31 | taskid: "", //任务id |
30 | usercount: 0, //参与的人数 | 32 | usercount: 0, //参与的人数 |
31 | - dismantle: null, //帮拆记录数据集 | 33 | + dismantle:[], //帮拆记录数据集 |
32 | is_user_task: null, //判断是不是领取的任务 | 34 | is_user_task: null, //判断是不是领取的任务 |
33 | zzjx_id: "", //真正进行的任务id | 35 | zzjx_id: "", //真正进行的任务id |
34 | is_show: 0, //任务的加载更多 | 36 | is_show: 0, //任务的加载更多 |
35 | is_bc_show: 0, //帮拆的加载更多 | 37 | is_bc_show: 0, //帮拆的加载更多 |
36 | bc_page: 1, //帮拆的页码 | 38 | bc_page: 1, //帮拆的页码 |
37 | rw_page: 1, //任务的页码 | 39 | rw_page: 1, //任务的页码 |
38 | - block: 0, //阻断助力的用户图片多次添加 | 40 | + block: 0, //阻断助力的我的任务在当前位置多次点击 |
41 | + is_dismantle:0, //阻断助力的帮拆记录在当前位置多次点击 | ||
42 | + is_clik:0,//点击的时候控制划动 | ||
43 | + is_dis_list:0,//多个数据的时候 | ||
44 | + is_user_list:0,//我的任务点击加载更多的后 | ||
45 | + | ||
39 | //*********************************************start钱 | 46 | //*********************************************start钱 |
40 | canvasHidden: 0, //分享图片是否已经生成 | 47 | canvasHidden: 0, //分享图片是否已经生成 |
41 | is_share: 0, //是否显示画布 | 48 | is_share: 0, //是否显示画布 |
@@ -208,14 +215,18 @@ Page({ | @@ -208,14 +215,18 @@ Page({ | ||
208 | this.get_user_task_num(); | 215 | this.get_user_task_num(); |
209 | 216 | ||
210 | }, | 217 | }, |
211 | - | ||
212 | - | 218 | + //记录加载更多 |
219 | + dismantle_record_list:function(){ | ||
220 | + this.setData({ is_dismantle:0}); | ||
221 | + this.dismantle_record(); | ||
222 | + }, | ||
213 | //帮拆记录的 | 223 | //帮拆记录的 |
214 | dismantle_record: function(e) { | 224 | dismantle_record: function(e) { |
215 | - //优化444444444444444444 | ||
216 | - if (this.data.switch_head == 1) { | 225 | + //优化 |
226 | + if (this.data.is_dismantle == 1) { | ||
217 | return false; | 227 | return false; |
218 | } | 228 | } |
229 | + | ||
219 | var aitem = this.data.aitem; //任务的数据集 | 230 | var aitem = this.data.aitem; //任务的数据集 |
220 | var sw_index = this.data.sw_index; //轮播的下标 | 231 | var sw_index = this.data.sw_index; //轮播的下标 |
221 | //任务id | 232 | //任务id |
@@ -235,6 +246,7 @@ Page({ | @@ -235,6 +246,7 @@ Page({ | ||
235 | switch_head: 1, | 246 | switch_head: 1, |
236 | block: 0, | 247 | block: 0, |
237 | }); | 248 | }); |
249 | + | ||
238 | var bc_page = th.data.bc_page; | 250 | var bc_page = th.data.bc_page; |
239 | rq.get("/api/weshop/marketing/help/help/task/involve/page", { | 251 | rq.get("/api/weshop/marketing/help/help/task/involve/page", { |
240 | data: { | 252 | data: { |
@@ -246,19 +258,32 @@ Page({ | @@ -246,19 +258,32 @@ Page({ | ||
246 | }, | 258 | }, |
247 | success: function(res) { | 259 | success: function(res) { |
248 | if (res.data.code == 0) { | 260 | if (res.data.code == 0) { |
261 | + th.setData({is_dismantle: 1}); | ||
249 | var dismantle = res.data.data.pageData[0].zlHelpUser; | 262 | var dismantle = res.data.data.pageData[0].zlHelpUser; |
250 | if (res.data.data.total > 5) { | 263 | if (res.data.data.total > 5) { |
251 | var bc_page = th.data.bc_page + 1; | 264 | var bc_page = th.data.bc_page + 1; |
252 | - th.data({ | 265 | + var dismantle_s = th.data.dismantle.concat(dismantle); |
266 | + th.setData({ | ||
253 | bc_page: bc_page, | 267 | bc_page: bc_page, |
254 | - is_bc_show: 1 | 268 | + is_bc_show: 1, |
269 | + dismantle: dismantle_s, | ||
270 | + is_dis_list:1 | ||
255 | }) | 271 | }) |
256 | } else { | 272 | } else { |
257 | - getApp().my_warnning("暂无更多内容", 0, th); | 273 | + th.setData({ |
274 | + dismantle: dismantle, | ||
275 | + is_dis_list: 0 | ||
276 | + }); | ||
277 | + } | ||
278 | + var dis_len=th.data.dismantle.length; | ||
279 | + if (res.data.data.total == dis_len){ | ||
280 | + th.setData({ | ||
281 | + is_dis_list: 0, | ||
282 | + }) | ||
258 | } | 283 | } |
259 | - | ||
260 | th.setData({ | 284 | th.setData({ |
261 | - dismantle: dismantle | 285 | + |
286 | + is_clik: 0, | ||
262 | }); | 287 | }); |
263 | } else { | 288 | } else { |
264 | th.setData({ | 289 | th.setData({ |
@@ -273,7 +298,8 @@ Page({ | @@ -273,7 +298,8 @@ Page({ | ||
273 | get_libao: function(e) { | 298 | get_libao: function(e) { |
274 | var libao_id = e.currentTarget.dataset.libaoid; //礼包id | 299 | var libao_id = e.currentTarget.dataset.libaoid; //礼包id |
275 | var taskid= e.currentTarget.dataset.taskid; | 300 | var taskid= e.currentTarget.dataset.taskid; |
276 | - getApp().goto("/pages/user/assistance/giftpacklist?libao_id=" + libao_id + "&is_libao=" + 1 +"&taskId="+taskid); | 301 | + var taskingid = e.currentTarget.dataset.taskingid; |
302 | + getApp().goto("/pages/user/assistance/giftpacklist?help_id=" + this.data.help_id + "&is_libao=" + 1 + "&taskId=" + taskid + "&id="+taskingid); | ||
277 | }, | 303 | }, |
278 | //查看礼包id | 304 | //查看礼包id |
279 | select_libao: function(e) { | 305 | select_libao: function(e) { |
@@ -283,6 +309,10 @@ Page({ | @@ -283,6 +309,10 @@ Page({ | ||
283 | 309 | ||
284 | //划动的时候监听 | 310 | //划动的时候监听 |
285 | onSli: function(e) { | 311 | onSli: function(e) { |
312 | + var arr=[]; | ||
313 | + this.setData({ | ||
314 | + dismantle: arr | ||
315 | + }); | ||
286 | var th = this; | 316 | var th = this; |
287 | var ind = e.detail.current; | 317 | var ind = e.detail.current; |
288 | var aitem = this.data.aitem; | 318 | var aitem = this.data.aitem; |
@@ -291,10 +321,12 @@ Page({ | @@ -291,10 +321,12 @@ Page({ | ||
291 | th.setData({ | 321 | th.setData({ |
292 | sw_index: ind, | 322 | sw_index: ind, |
293 | task_number: task_number, | 323 | task_number: task_number, |
294 | - taskid: task_id | 324 | + taskid: task_id, |
325 | + is_dismantle: 0, | ||
326 | + bc_page:1 | ||
295 | }); | 327 | }); |
296 | - | ||
297 | - if (this.data.switch_head == 1) { | 328 | + |
329 | + if (this.data.switch_head == 1&&th.data.is_clik==0) { | ||
298 | //判断有没有帮拆记录 | 330 | //判断有没有帮拆记录 |
299 | this.dismantle_record(); | 331 | this.dismantle_record(); |
300 | } | 332 | } |
@@ -308,6 +340,11 @@ Page({ | @@ -308,6 +340,11 @@ Page({ | ||
308 | var nav_b = th.selectComponent("#nav_b"); //组件的id | 340 | var nav_b = th.selectComponent("#nav_b"); //组件的id |
309 | nav_b.close_box(); | 341 | nav_b.close_box(); |
310 | }, | 342 | }, |
343 | + //我的任务点击加载更多 | ||
344 | + task_list:function(){ | ||
345 | + this.setData({ block:0}); | ||
346 | + this.user_task_list(); | ||
347 | + }, | ||
311 | // 获取会员的参与的任务列表 我的任务 | 348 | // 获取会员的参与的任务列表 我的任务 |
312 | user_task_list: function(e) { | 349 | user_task_list: function(e) { |
313 | var th = this; | 350 | var th = this; |
@@ -346,14 +383,24 @@ Page({ | @@ -346,14 +383,24 @@ Page({ | ||
346 | rw_page: rw_page, | 383 | rw_page: rw_page, |
347 | is_show: 1 | 384 | is_show: 1 |
348 | }) | 385 | }) |
349 | - getApp().my_warnning(su.data.msg, 1, th); | 386 | + |
350 | } | 387 | } |
351 | - | ||
352 | - var user_list = su.data.data.pageData; | 388 | + |
389 | + | ||
390 | + var user_list = su.data.data.pageData; | ||
391 | + // if (user_list == "" || user_list.length == 0 || user_list==null){ | ||
392 | + // th.setData({ | ||
393 | + // is_user_list: 1 | ||
394 | + // }); | ||
395 | + // console.log("走哪里1111"); | ||
396 | + // }else{} | ||
397 | + console.log("走哪里22222222"); | ||
398 | + var user_lists=th.data.user_task_list.concat(user_list); | ||
353 | th.setData({ | 399 | th.setData({ |
354 | - user_task_list: user_list | 400 | + user_task_list: user_lists |
355 | }); | 401 | }); |
356 | } else { | 402 | } else { |
403 | + th.setData({ is_user_list: 1 }); | ||
357 | getApp().my_warnning(su.data.msg, 0, th); | 404 | getApp().my_warnning(su.data.msg, 0, th); |
358 | } | 405 | } |
359 | } | 406 | } |
@@ -436,6 +483,10 @@ Page({ | @@ -436,6 +483,10 @@ Page({ | ||
436 | 483 | ||
437 | // 轮播图点击左边 | 484 | // 轮播图点击左边 |
438 | click_pre: function() { | 485 | click_pre: function() { |
486 | + var arr=[]; | ||
487 | + this.setData({ | ||
488 | + dismantle:arr | ||
489 | + }); | ||
439 | var index = this.data.sw_index; | 490 | var index = this.data.sw_index; |
440 | index--; | 491 | index--; |
441 | if (index < 0) return; | 492 | if (index < 0) return; |
@@ -445,18 +496,29 @@ Page({ | @@ -445,18 +496,29 @@ Page({ | ||
445 | this.setData({ | 496 | this.setData({ |
446 | sw_index: index, | 497 | sw_index: index, |
447 | task_number: task_number, | 498 | task_number: task_number, |
448 | - taskid: task_id | 499 | + taskid: task_id, |
500 | + is_dismantle: 0, | ||
501 | + is_clik:1, | ||
502 | + bc_page:1 | ||
449 | }) | 503 | }) |
450 | if (this.data.switch_head == 1) { | 504 | if (this.data.switch_head == 1) { |
451 | //判断有没有帮拆记录 | 505 | //判断有没有帮拆记录 |
506 | + console.log("往左点////////////////////"); | ||
452 | this.dismantle_record(); | 507 | this.dismantle_record(); |
453 | } | 508 | } |
454 | - //判断有没有领取任务 | ||
455 | - this.get_user_task(); | 509 | + if (this.data.switch_head == 0){ |
510 | + //判断有没有领取任务 | ||
511 | + this.get_user_task(); | ||
512 | + } | ||
513 | + | ||
456 | }, | 514 | }, |
457 | //轮播图点击右边 | 515 | //轮播图点击右边 |
458 | click_next: function() { | 516 | click_next: function() { |
459 | - | 517 | + var arr=[]; |
518 | + this.setData({ | ||
519 | + is_clik:1, | ||
520 | + dismantle: arr | ||
521 | + }); | ||
460 | var index = this.data.sw_index; | 522 | var index = this.data.sw_index; |
461 | index++; | 523 | index++; |
462 | if (index >= this.data.aitem.length) return; | 524 | if (index >= this.data.aitem.length) return; |
@@ -466,7 +528,9 @@ Page({ | @@ -466,7 +528,9 @@ Page({ | ||
466 | this.setData({ | 528 | this.setData({ |
467 | sw_index: index, | 529 | sw_index: index, |
468 | task_number: task_number, | 530 | task_number: task_number, |
469 | - taskid: task_id | 531 | + taskid: task_id, |
532 | + is_dismantle: 0, | ||
533 | + bc_page:1, | ||
470 | }) | 534 | }) |
471 | if (this.data.switch_head == 1) { | 535 | if (this.data.switch_head == 1) { |
472 | this.dismantle_record(); | 536 | this.dismantle_record(); |
@@ -901,8 +965,11 @@ Page({ | @@ -901,8 +965,11 @@ Page({ | ||
901 | //立即兑换 | 965 | //立即兑换 |
902 | redeem_now: function (e) { | 966 | redeem_now: function (e) { |
903 | var libao_id = e.currentTarget.dataset.libaoid; | 967 | var libao_id = e.currentTarget.dataset.libaoid; |
904 | - var taskid = e.currentTarget.dataset.taskid; | ||
905 | - getApp().goto("/pages/user/assistance/giftpacklist?libao_id=" + libao_id + "&is_libao=" + 1 + "&taskId=" + taskid); | 968 | + var sw_index=this.data.sw_index; |
969 | + var aitem=this.data.aitem; | ||
970 | + var taskid = aitem[sw_index].id; | ||
971 | + var taskingid= e.currentTarget.dataset.taskingid; | ||
972 | + getApp().goto("/pages/user/assistance/giftpacklist?help_id=" + this.data.help_id + "&is_libao=" + 1 + "&taskId=" + taskid + "&id="+taskingid); | ||
906 | }, | 973 | }, |
907 | 974 | ||
908 | 975 |
pages/user/assistance/task_assistance.wxml
1 | <wxs module="filter" src="../../../utils/filter.wxs"></wxs> | 1 | <wxs module="filter" src="../../../utils/filter.wxs"></wxs> |
2 | -<view class="top-back" style="background-image: url({{iurl}}/miniapp/images/friendhelp/lumi.png)" bindtap="close"> | 2 | +<view class="top-back" style="padding-bottom:{{is_user_task!=null&&is_user_task.status==0?50:0}}rpx;background-image: url({{iurl}}/miniapp/images/friendhelp/lumi.png)" bindtap="close"> |
3 | <!-- 助力活动头部 --> | 3 | <!-- 助力活动头部 --> |
4 | <view class="top-frame"> | 4 | <view class="top-frame"> |
5 | <view class="flex-center"> | 5 | <view class="flex-center"> |
@@ -23,7 +23,7 @@ | @@ -23,7 +23,7 @@ | ||
23 | <swiper bindanimationfinish="changeGoodsSwip" current="{{sw_index}}" style='width:82.7%; height:100%' bindchange='onSli' indicator-dots="{{false}}" autoplay="{{false}}"> | 23 | <swiper bindanimationfinish="changeGoodsSwip" current="{{sw_index}}" style='width:82.7%; height:100%' bindchange='onSli' indicator-dots="{{false}}" autoplay="{{false}}"> |
24 | <swiper-item class="rel" wx:for="{{aitem}}" wx:for-item="aitem" wx:for-index="pidx"> | 24 | <swiper-item class="rel" wx:for="{{aitem}}" wx:for-item="aitem" wx:for-index="pidx"> |
25 | 25 | ||
26 | - <image class="xc-center-img" bindtap="libao_details" data-taskid="{{aitem.id}}" src="{{iurl+aitem.giftBagUrl}}"></image> | 26 | + <image class="xc-center-img" bindtap="libao_details" data-taskid="{{aitem.id}}" src="{{aitem.giftBagUrl!=null&&aitem.giftBagUrl!=''?iurl+aitem.giftBagUrl:swpie_img}}"></image> |
27 | <view class="abs select_details fs26 white">礼包详情</view> | 27 | <view class="abs select_details fs26 white">礼包详情</view> |
28 | 28 | ||
29 | </swiper-item> | 29 | </swiper-item> |
@@ -52,7 +52,7 @@ | @@ -52,7 +52,7 @@ | ||
52 | <view wx:if="{{is_user_task!=null&&is_user_task.status==0}}" class="task_clike fs40 t-c flex-center" bindtap="save_share"> | 52 | <view wx:if="{{is_user_task!=null&&is_user_task.status==0}}" class="task_clike fs40 t-c flex-center" bindtap="save_share"> |
53 | 好友拆一拆 | 53 | 好友拆一拆 |
54 | </view> | 54 | </view> |
55 | - <view wx:if="{{is_user_task!=null&&is_user_task.status==1}}" class="task_clike fs40 t-c flex-center" data-libaoid="{{is_user_task.helpListGiftBagId}}"data-taskid="{{is_user_task.id}}" bindtap="redeem_now"> | 55 | + <view wx:if="{{is_user_task!=null&&is_user_task.status==1}}" class="task_clike fs40 t-c flex-center" data-libaoid="{{is_user_task.helpListGiftBagId}}"data-taskingid="{{is_user_task.id}}" bindtap="redeem_now"> |
56 | 立即兑换 | 56 | 立即兑换 |
57 | </view> | 57 | </view> |
58 | <view wx:if="{{is_user_task!=null&&is_user_task.status==0}}" class="task_clike fs40 t-c flex-center"data-taskid="{{is_user_task.id}}" bindtap="test"> | 58 | <view wx:if="{{is_user_task!=null&&is_user_task.status==0}}" class="task_clike fs40 t-c flex-center"data-taskid="{{is_user_task.id}}" bindtap="test"> |
@@ -90,7 +90,7 @@ | @@ -90,7 +90,7 @@ | ||
90 | <view class="ellipsis-1"> | 90 | <view class="ellipsis-1"> |
91 | <text wx:if="{{item.status==0}}">{{item.zlHelpNum}}/{{item.helpNum}}</text> | 91 | <text wx:if="{{item.status==0}}">{{item.zlHelpNum}}/{{item.helpNum}}</text> |
92 | <text wx:if="{{item.status==2}}" bindtap="select_libao" data-orderSn="{{item.orderSn}}">查看礼包</text> | 92 | <text wx:if="{{item.status==2}}" bindtap="select_libao" data-orderSn="{{item.orderSn}}">查看礼包</text> |
93 | - <text wx:if="{{item.status==1}}" bindtap="get_libao" data-libaoid="{{item.helpListGiftBagId}}"data-taskid="{{item.id}}">领取礼包 </text> | 93 | + <text wx:if="{{item.status==1}}" bindtap="get_libao" data-libaoid="{{item.helpListGiftBagId}}"data-taskingid="{{item.id}}" data-taskid="{{item.helpTaskId}}">领取礼包 </text> |
94 | </view> | 94 | </view> |
95 | </view> | 95 | </view> |
96 | </view> | 96 | </view> |
@@ -110,21 +110,20 @@ | @@ -110,21 +110,20 @@ | ||
110 | <view class="items" wx:if="{{is_task==1}}"> | 110 | <view class="items" wx:if="{{is_task==1}}"> |
111 | <block wx:if="{{ dismantle!=null|| dismantle!=''}}"> | 111 | <block wx:if="{{ dismantle!=null|| dismantle!=''}}"> |
112 | 112 | ||
113 | - | 113 | + <view class="tesk_list"> |
114 | <view class="item fs26 flex flex-vertical-between padding" wx:for="{{dismantle}}" wx:for-index="idx"> | 114 | <view class="item fs26 flex flex-vertical-between padding" wx:for="{{dismantle}}" wx:for-index="idx"> |
115 | - | ||
116 | - <view class="flex white" style="justify-content: space-around; width: 90%;margin:auto"> | ||
117 | - <image class="circle user_img" src="{{item.headPic}}"></image> | 115 | + <view class="flex white is_dismantle_frame" style="justify-content: space-around; width: 90%;margin:auto"> |
116 | + <image class="circle user_img" src="{{item.headPic==null?defaultAvatar:item.headPic}}"></image> | ||
118 | <view class="ellipsis-1 width">{{item.nickName}} | 117 | <view class="ellipsis-1 width">{{item.nickName}} |
119 | </view> | 118 | </view> |
120 | <view class="ellipsis-1">{{filter.format_time(item.zltime)}} | 119 | <view class="ellipsis-1">{{filter.format_time(item.zltime)}} |
121 | </view> | 120 | </view> |
122 | </view> | 121 | </view> |
123 | </view> | 122 | </view> |
124 | - | ||
125 | - <view class="flex-center fs32" wx:if="{{is_bc_show==1}}"> | 123 | + </view> |
124 | + <view class="flex-center fs32" wx:if="{{is_bc_show==1&&dismantle!=null&&is_dis_list==1}}"> | ||
126 | <view class="line"></view> | 125 | <view class="line"></view> |
127 | - <view class="load white" bindtap="dismantle_record">点击加载更多</view> | 126 | + <view class="load white" bindtap="dismantle_record_list">点击加载更多</view> |
128 | <view class="line"></view> | 127 | <view class="line"></view> |
129 | </view> | 128 | </view> |
130 | </block> | 129 | </block> |
@@ -141,12 +140,12 @@ | @@ -141,12 +140,12 @@ | ||
141 | </view> | 140 | </view> |
142 | <!-- 加载更多 --> | 141 | <!-- 加载更多 --> |
143 | <view class="fs32"> | 142 | <view class="fs32"> |
144 | - <view class="flex-center" wx:if="{{is_show==1}}"> | 143 | + <view class="flex-center" wx:if="{{is_show==1&&is_user_list==0}}"> |
145 | <view class="line"></view> | 144 | <view class="line"></view> |
146 | - <view class="load white" bindtap="user_task_list">点击加载更多</view> | 145 | + <view class="load white" bindtap="task_list">点击加载更多</view> |
147 | <view class="line"></view> | 146 | <view class="line"></view> |
148 | </view> | 147 | </view> |
149 | - <view class="flex-center white" style="margin-top: 20rpx;" wx:if="{{usercount>0}}"> | 148 | + <view class="flex-center white bottom" wx:if="{{usercount>0}}"> |
150 | <view>已有{{usercount}}人领取了任务</view> | 149 | <view>已有{{usercount}}人领取了任务</view> |
151 | </view> | 150 | </view> |
152 | </view> | 151 | </view> |
pages/user/assistance/task_assistance.wxss
@@ -226,3 +226,13 @@ page { | @@ -226,3 +226,13 @@ page { | ||
226 | filter: alpha(opacity=60); | 226 | filter: alpha(opacity=60); |
227 | bottom: 0rpx; | 227 | bottom: 0rpx; |
228 | } | 228 | } |
229 | +.is_dismantle_frame{ | ||
230 | + align-content: center; | ||
231 | +height: 56rpx; | ||
232 | +line-height: 48rpx; | ||
233 | + | ||
234 | +} | ||
235 | +.bottom{ | ||
236 | + margin-bottom: 50rpx; | ||
237 | + margin-top: 20rpx; | ||
238 | +} | ||
229 | \ No newline at end of file | 239 | \ No newline at end of file |