Commit 2176743cfb8e41c94c7d0dbcabf532d1c7883359
Merge branch 'dev' into 'test'
Dev See merge request !537
Showing
43 changed files
with
5431 additions
and
101 deletions
app.json
1 | { | 1 | { |
2 | "pages": [ | 2 | "pages": [ |
3 | - | ||
4 | "pages/index/index/index", | 3 | "pages/index/index/index", |
5 | "pages/justTest/justTest", | 4 | "pages/justTest/justTest", |
6 | "pages/goods/categoryList/categoryList", | 5 | "pages/goods/categoryList/categoryList", |
@@ -103,7 +102,12 @@ | @@ -103,7 +102,12 @@ | ||
103 | "pages/quan_list/quan_list", | 102 | "pages/quan_list/quan_list", |
104 | "pages/quan_pro/quan_pro", | 103 | "pages/quan_pro/quan_pro", |
105 | "pages/liveStream/liveStream", | 104 | "pages/liveStream/liveStream", |
106 | - "pages/liveStreamDetails/liveStreamDetails" | 105 | + "pages/liveStreamDetails/liveStreamDetails", |
106 | + "pages/shop_details/shop_details", | ||
107 | + "pages/goods_share/goods_share", | ||
108 | + "pages/activity_share/activity_share", | ||
109 | + "pages/live_share/live_share", | ||
110 | + "pages/addCustomer/addCustomer" | ||
107 | ] | 111 | ] |
108 | 112 | ||
109 | }], | 113 | }], |
app.wxss
1 | - | 1 | +.pdt20 { |
2 | + padding-top: 20rpx; | ||
3 | +} | ||
4 | +.pdt40 { | ||
5 | + padding-top: 40rpx; | ||
6 | +} | ||
2 | .flex { | 7 | .flex { |
3 | display: flex; | 8 | display: flex; |
4 | } | 9 | } |
@@ -409,8 +414,107 @@ background: #ffe3e2; | @@ -409,8 +414,107 @@ background: #ffe3e2; | ||
409 | flex-wrap:wrap; | 414 | flex-wrap:wrap; |
410 | } | 415 | } |
411 | 416 | ||
417 | +.line-through { | ||
418 | + text-decoration:line-through; | ||
419 | +} | ||
420 | + | ||
421 | + | ||
412 | 422 | ||
413 | .lh1 { | 423 | .lh1 { |
414 | line-height: 1; | 424 | line-height: 1; |
415 | } | 425 | } |
416 | 426 | ||
427 | + | ||
428 | + | ||
429 | + | ||
430 | + | ||
431 | + | ||
432 | + | ||
433 | +/* 图标字体(ty) */ | ||
434 | +@font-face { | ||
435 | + font-family: 'iconfont'; /* project id 2054717 */ | ||
436 | + src: url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.eot'); | ||
437 | + src: url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.eot?#iefix') format('embedded-opentype'), | ||
438 | + url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.woff2') format('woff2'), | ||
439 | + url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.woff') format('woff'), | ||
440 | + url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.ttf') format('truetype'), | ||
441 | + url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.svg#iconfont') format('svg'); | ||
442 | +} | ||
443 | + | ||
444 | +.iconfont { | ||
445 | + font-family: "iconfont" !important; | ||
446 | + font-size: 16px; | ||
447 | + font-style: normal; | ||
448 | + -webkit-font-smoothing: antialiased; | ||
449 | + -moz-osx-font-smoothing: grayscale; | ||
450 | +} | ||
451 | + | ||
452 | +.icon-save:before { | ||
453 | + content: "\e6bb"; | ||
454 | +} | ||
455 | + | ||
456 | +.icon-close:before { | ||
457 | + content: "\e62e"; | ||
458 | +} | ||
459 | + | ||
460 | +.icon-info:before { | ||
461 | + content: "\e603"; | ||
462 | +} | ||
463 | + | ||
464 | +.icon-people:before { | ||
465 | + content: "\e66a"; | ||
466 | +} | ||
467 | + | ||
468 | +.icon-fire:before { | ||
469 | + content: "\e694"; | ||
470 | +} | ||
471 | + | ||
472 | +.icon-live:before { | ||
473 | + content: "\e664"; | ||
474 | +} | ||
475 | + | ||
476 | +.icon-clock:before { | ||
477 | + content: "\e608"; | ||
478 | +} | ||
479 | + | ||
480 | +.icon-hot:before { | ||
481 | + content: "\e680"; | ||
482 | +} | ||
483 | + | ||
484 | +.icon-img:before { | ||
485 | + content: "\e8c1"; | ||
486 | +} | ||
487 | + | ||
488 | +.icon-shang:before { | ||
489 | + content: "\e604"; | ||
490 | +} | ||
491 | + | ||
492 | +.icon-xia:before { | ||
493 | + content: "\e650"; | ||
494 | +} | ||
495 | + | ||
496 | +.icon-daohang:before { | ||
497 | + content: "\e748"; | ||
498 | +} | ||
499 | + | ||
500 | +.icon-phone:before { | ||
501 | + content: "\e602"; | ||
502 | +} | ||
503 | + | ||
504 | +.icon-up:before { | ||
505 | + content: "\e601"; | ||
506 | +} | ||
507 | + | ||
508 | +.icon-arrow_right:before { | ||
509 | + content: "\e61f"; | ||
510 | +} | ||
511 | + | ||
512 | +.icon-arrow_down:before { | ||
513 | + content: "\e600"; | ||
514 | +} | ||
515 | + | ||
516 | +.icon-weizhi:before { | ||
517 | + content: "\e615"; | ||
518 | +} | ||
519 | + | ||
520 | + |
components/nodata/nodata.js
0 → 100644
components/nodata/nodata.json
0 → 100644
components/nodata/nodata.wxml
0 → 100644
components/nodata/nodata.wxss
0 → 100644
1 | +@font-face { | ||
2 | + font-family: 'iconfont'; /* project id 1949577 */ | ||
3 | + src: url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.eot'); | ||
4 | + src: url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.eot?#iefix') format('embedded-opentype'), | ||
5 | + url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.woff2') format('woff2'), | ||
6 | + url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.woff') format('woff'), | ||
7 | + url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.ttf') format('truetype'), | ||
8 | + url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.svg#iconfont') format('svg'); | ||
9 | +} | ||
10 | +.iconfont { | ||
11 | + font-family: "iconfont" !important; | ||
12 | + font-size: 32rpx; | ||
13 | + font-style: normal; | ||
14 | + -webkit-font-smoothing: antialiased; | ||
15 | + -moz-osx-font-smoothing: grayscale; | ||
16 | +} | ||
17 | +.icon-nodata:before { | ||
18 | + content: "\e636"; | ||
19 | +} | ||
20 | +.nodata-container { | ||
21 | + text-align: center; | ||
22 | +} | ||
23 | +.nodata-icon { | ||
24 | + font-size: 220rpx; | ||
25 | + color: #ddd; | ||
26 | + padding-top: 50rpx; | ||
27 | +} | ||
28 | +.nodata-title { | ||
29 | + padding-top: 40rpx; | ||
30 | + padding-bottom: 40rpx; | ||
31 | + color: #bbb; | ||
32 | +} | ||
0 | \ No newline at end of file | 33 | \ No newline at end of file |
components/share/share.js
0 → 100644
1 | +Component({ | ||
2 | + /*** 页面的初始数据***/ | ||
3 | + data: { | ||
4 | + type:0,// 0默认情况发送好友和海报 1只有发送好友 | ||
5 | + }, | ||
6 | + methods: { | ||
7 | + cancel() { | ||
8 | + this.triggerEvent('cancel',{},{bubbles: true}); | ||
9 | + }, | ||
10 | + share_img(){ | ||
11 | + this.triggerEvent('share_img',{},{bubbles: true}); | ||
12 | + }, | ||
13 | + set_type(type){ | ||
14 | + this.setData({type:type}) | ||
15 | + } | ||
16 | + | ||
17 | + } | ||
18 | +}) | ||
0 | \ No newline at end of file | 19 | \ No newline at end of file |
components/share/share.json
0 → 100644
components/share/share.wxml
0 → 100644
1 | +<view class="container" hidden="{{hiddenShare}}"> | ||
2 | + <view class="container-wrap animated slideInUp"> | ||
3 | + <view class="flex"> | ||
4 | + <block wx:if="{{type==0}}"> | ||
5 | + <button open-type="share" class="btn"> | ||
6 | + <view class="icon-container bg-green"><view class="iconfont icon-weixin"></view></view> | ||
7 | + <view class="title">发送给好友</view> | ||
8 | + </button> | ||
9 | + <view class="btn" bindtap="share_img"> | ||
10 | + <view class="icon-container bg-red"><view class="iconfont icon-pic"></view></view> | ||
11 | + <view class="title">生成海报分享</view> | ||
12 | + </view> | ||
13 | + </block> | ||
14 | + <block wx:else> | ||
15 | + <button open-type="share" class="btn" style="width: 100%;"> | ||
16 | + <view class="icon-container bg-green"><view class="iconfont icon-weixin"></view></view> | ||
17 | + <view class="title">发送给好友</view> | ||
18 | + </button> | ||
19 | + </block> | ||
20 | + </view> | ||
21 | + <view class="btn-cancel" bindtap="cancel">取消</view> | ||
22 | + </view> | ||
23 | +</view> | ||
0 | \ No newline at end of file | 24 | \ No newline at end of file |
components/share/share.wxss
0 → 100644
1 | +@charset "UTF-8"; | ||
2 | +@font-face { | ||
3 | + font-family: 'iconfont'; | ||
4 | + /* project id 2125414 */ | ||
5 | + src: url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.eot'); | ||
6 | + src: url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.eot?#iefix') format('embedded-opentype'), | ||
7 | + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.woff2') format('woff2'), | ||
8 | + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.woff') format('woff'), | ||
9 | + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.ttf') format('truetype'), | ||
10 | + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.svg#iconfont') format('svg'); | ||
11 | +} | ||
12 | + | ||
13 | +.iconfont { | ||
14 | + font-family: "iconfont" !important; | ||
15 | + font-size: 32rpx; | ||
16 | + font-style: normal; | ||
17 | + -webkit-font-smoothing: antialiased; | ||
18 | + -moz-osx-font-smoothing: grayscale; | ||
19 | +} | ||
20 | + | ||
21 | +.icon-weixin:before { | ||
22 | + content: "\e677"; | ||
23 | +} | ||
24 | + | ||
25 | +.icon-pic:before { | ||
26 | + content: "\e620"; | ||
27 | +} | ||
28 | + | ||
29 | +.container { | ||
30 | + background-color: white; | ||
31 | + position: fixed; | ||
32 | + width: 100%; | ||
33 | + height: 100%; | ||
34 | + left: 0; | ||
35 | + top: 0; | ||
36 | + background-color: rgba(0,0,0,.5); | ||
37 | + z-index: 100; | ||
38 | +} | ||
39 | +.container-wrap { | ||
40 | + background-color: white; | ||
41 | + position: absolute; | ||
42 | + bottom: 0; | ||
43 | + width: 100%; | ||
44 | +} | ||
45 | +.flex { | ||
46 | + display: flex; | ||
47 | +} | ||
48 | + | ||
49 | +.btn { | ||
50 | + box-sizing: border-box; | ||
51 | + width: 50%; | ||
52 | + padding: 30rpx; | ||
53 | + text-align: center; | ||
54 | +} | ||
55 | + | ||
56 | +.icon-container { | ||
57 | + width: 80rpx; | ||
58 | + height: 80rpx; | ||
59 | + line-height: 80rpx; | ||
60 | + color: white; | ||
61 | + border-radius: 50%; | ||
62 | + text-align: center; | ||
63 | + margin: 0 auto; | ||
64 | +} | ||
65 | + | ||
66 | +.iconfont { | ||
67 | + font-size: 40rpx; | ||
68 | +} | ||
69 | + | ||
70 | +.bg-green { | ||
71 | + background-color: #2ECB38; | ||
72 | +} | ||
73 | + | ||
74 | +.bg-red { | ||
75 | + background-color: #F86C6C; | ||
76 | +} | ||
77 | + | ||
78 | +.title { | ||
79 | + font-size: 28rpx; | ||
80 | + color: #7b7b7b; | ||
81 | + padding-top: 10rpx; | ||
82 | +} | ||
83 | + | ||
84 | +.btn-cancel { | ||
85 | + padding: 20rpx; | ||
86 | + text-align: center; | ||
87 | + color: #7b7b7b; | ||
88 | + background-color: #f9f9f9; | ||
89 | + font-size: 28rpx; | ||
90 | + line-height: 2; | ||
91 | +} | ||
92 | + | ||
93 | +.animated { | ||
94 | + -webkit-animation-duration: .5s; | ||
95 | + animation-duration: .5s; | ||
96 | + -webkit-animation-fill-mode: both; | ||
97 | + animation-fill-mode: both | ||
98 | +} | ||
99 | + | ||
100 | +.animated.infinite { | ||
101 | + -webkit-animation-iteration-count: infinite; | ||
102 | + animation-iteration-count: infinite | ||
103 | +} | ||
104 | + | ||
105 | +.animated.hinge { | ||
106 | + -webkit-animation-duration: 2s; | ||
107 | + animation-duration: 2s | ||
108 | +} | ||
109 | + | ||
110 | +@-webkit-keyframes slideInUp { | ||
111 | + 0% { | ||
112 | + opacity: 0; | ||
113 | + -webkit-transform: translateY(2000px); | ||
114 | + transform: translateY(2000px) | ||
115 | + } | ||
116 | + | ||
117 | + 100% { | ||
118 | + opacity: 1; | ||
119 | + -webkit-transform: translateY(0); | ||
120 | + transform: translateY(0) | ||
121 | + } | ||
122 | +} | ||
123 | + | ||
124 | +@keyframes slideInUp { | ||
125 | + 0% { | ||
126 | + opacity: 0; | ||
127 | + -webkit-transform: translateY(100px); | ||
128 | + -ms-transform: translateY(100px); | ||
129 | + transform: translateY(100px) | ||
130 | + } | ||
131 | + | ||
132 | + 100% { | ||
133 | + opacity: 1; | ||
134 | + -webkit-transform: translateY(0); | ||
135 | + -ms-transform: translateY(0); | ||
136 | + transform: translateY(0) | ||
137 | + } | ||
138 | +} | ||
139 | + | ||
140 | +.slideInUp { | ||
141 | + -webkit-animation-name: slideInUp; | ||
142 | + animation-name: slideInUp | ||
143 | +} | ||
144 | + | ||
145 | +button{ | ||
146 | + border: none; | ||
147 | +} | ||
148 | + | ||
149 | +button::after { | ||
150 | + border: none; | ||
151 | +} | ||
0 | \ No newline at end of file | 152 | \ No newline at end of file |
packageA/pages/activity_share/activity_share.js
0 → 100644
1 | +// packageA//pages/goods_share/goods_share.js | ||
2 | +var app=getApp(),oo = app.globalData.setting,os=oo,ut = require("../../../utils/util.js"); | ||
3 | +var regeneratorRuntime = require('../../../utils/runtime.js'); | ||
4 | +Page({ | ||
5 | + /** | ||
6 | + * 页面的初始数据 | ||
7 | + */ | ||
8 | + data: { | ||
9 | + // tab | ||
10 | + tab: ['秒杀','拼单','促销','专享礼包'], | ||
11 | + currentIndex: 0, | ||
12 | + //促销页tab | ||
13 | + tab2: ['订单促销','搭配促销','优惠促销'], | ||
14 | + currentIndex2: 0, | ||
15 | + //秒杀和拼单底部tab | ||
16 | + currentIndex3: 0, | ||
17 | + // 控制价格 | ||
18 | + active1: false, | ||
19 | + // 控制佣金 | ||
20 | + active2: false, | ||
21 | + url:oo.imghost, | ||
22 | + //popup | ||
23 | + hiddenPopup: true, | ||
24 | + | ||
25 | + list:[], | ||
26 | + is_load:0, //是否正在加载 | ||
27 | + is_no_data:0, //没有数据 | ||
28 | + is_no_more:0, //没有更多数据 | ||
29 | + key_str:'', | ||
30 | + pattern:0, //分成的方式 | ||
31 | + currentPage:1, //当前的页码 | ||
32 | + | ||
33 | + canvasHidden: 1, //-- 隐藏画布 -- | ||
34 | + dis_switch:0, //-- 分销开关 -- | ||
35 | + pattern:0, //-- 分成的方式 -- | ||
36 | + share_hidden:1, //-- 分享的按钮隐藏 -- | ||
37 | + share_good:null, //--- 要分享的商品 --- | ||
38 | + | ||
39 | + timer:0, | ||
40 | + hui_active:null, //优惠活动分享 | ||
41 | + | ||
42 | + //点击活动详情的时候的响应 | ||
43 | + list2:[], | ||
44 | + is_load2:0, | ||
45 | + is_no_data2:0, //没有数据 | ||
46 | + is_no_more2:0, //没有更多数据 | ||
47 | + currentPage2:1, //页码 | ||
48 | + prom_goods:null, //优惠活动的条件 | ||
49 | + | ||
50 | + }, | ||
51 | + | ||
52 | + /** | ||
53 | + * 生命周期函数--监听页面加载 | ||
54 | + */ | ||
55 | + onLoad: function (options) { | ||
56 | + var th=this; | ||
57 | + //接受有没有导购的参数 | ||
58 | + var first_leader=options.first_leader; | ||
59 | + if(first_leader){ | ||
60 | + //-- user_id代过来免登陆 -- | ||
61 | + getApp().globalData.user_id=first_leader; | ||
62 | + getApp().getUserFir(); | ||
63 | + } | ||
64 | + | ||
65 | + this.requestGoodsList(); | ||
66 | + //-- 自定义海报 -- | ||
67 | + getApp().request.promiseGet("/api/weshop/goods/poster/page",{ | ||
68 | + data:{store_id:os.stoid, type:1, is_use:1 } | ||
69 | + }).then(res=>{ | ||
70 | + if(res.data.code==0){ | ||
71 | + | ||
72 | + var poster_data=res.data.data.pageData[0]; | ||
73 | + var json_str=poster_data.jsonStr; | ||
74 | + | ||
75 | + if(json_str){ | ||
76 | + var json_data=JSON.parse(json_str); | ||
77 | + if(json_data.bg_img){ | ||
78 | + | ||
79 | + //-- 把图片那到本地 -- | ||
80 | + wx.getImageInfo({ | ||
81 | + src:json_data.bg_img, | ||
82 | + success: function(res) { | ||
83 | + var path= res.path; | ||
84 | + th.setData({share_b_img:path}) | ||
85 | + }, | ||
86 | + fail: function(res) {} | ||
87 | + }); | ||
88 | + } | ||
89 | + | ||
90 | + th.setData({poster:json_data}) | ||
91 | + | ||
92 | + } | ||
93 | + } | ||
94 | + }) | ||
95 | + | ||
96 | + //获取分销的配置 | ||
97 | + getApp().request.promiseGet("/api/weshop/storeDistribut/get/"+oo.stoid,{}).then(res=>{ | ||
98 | + if(res.data.code==0){ | ||
99 | + th.setData({dis_switch:res.data.data.switch,pattern:res.data.data.pattern}); | ||
100 | + } | ||
101 | + }) | ||
102 | + | ||
103 | + //获取用户设备信息,屏幕宽度 | ||
104 | + wx.getSystemInfo({ | ||
105 | + success: res => { | ||
106 | + th.setData({ | ||
107 | + screenWidth: res.screenWidth | ||
108 | + }) | ||
109 | + } | ||
110 | + }); | ||
111 | + | ||
112 | + //-- ---秒杀和拼团都要有定时器--- | ||
113 | + if(!options.currentIndex || options.currentIndex<=1){ | ||
114 | + //设置全局定时器 | ||
115 | + th.data.timer=setInterval(function () { | ||
116 | + th.countDown(); | ||
117 | + },1000); | ||
118 | + } | ||
119 | + }, | ||
120 | + | ||
121 | + /** | ||
122 | + * 生命周期函数--监听页面显示 | ||
123 | + */ | ||
124 | + onShow: function () {}, | ||
125 | + /** | ||
126 | + * 生命周期函数--监听页面隐藏 | ||
127 | + */ | ||
128 | + onHide: function () { | ||
129 | + //--清理定时器-- | ||
130 | + clearInterval(this.timer); | ||
131 | + }, | ||
132 | + /**e | ||
133 | + * 页面上拉触底事件的处理函数 | ||
134 | + */ | ||
135 | + onReachBottom: function () {}, | ||
136 | + | ||
137 | + /** | ||
138 | + * 用户点击右上角分享 | ||
139 | + */ | ||
140 | + onShareAppMessage: function () { | ||
141 | + var th = this; | ||
142 | + //礼包的转发 | ||
143 | + if(th.data.currentIndex==3){ | ||
144 | + var lbid=th.data.hui_active.lbId; | ||
145 | + var url="pages/giftpack/giftpacklist/giftpacklist?lbId="+lbid+"&isBuy=1"; | ||
146 | + if(getApp().globalData.user_id){ | ||
147 | + url+="&first_leader="+getApp().globalData.user_id; | ||
148 | + } | ||
149 | + var img=this.data.share_img; | ||
150 | + var title=th.data.hui_active.giftTitle; | ||
151 | + | ||
152 | + var ob={ | ||
153 | + title:title, | ||
154 | + path:url, | ||
155 | + imageUrl: img, | ||
156 | + }; | ||
157 | + th.setData({share_hidden:1}); | ||
158 | + return ob; | ||
159 | + | ||
160 | + }else{ | ||
161 | + //---秒杀,拼团,促销--- | ||
162 | + var item=this.data.share_good; | ||
163 | + if(item){ | ||
164 | + var price = item.shop_price; | ||
165 | + var title= item.goods_name; | ||
166 | + var img=this.data.url+item.original_img; | ||
167 | + var url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + th.data.gid; | ||
168 | + if(getApp().globalData.user_id){ | ||
169 | + url+="&first_leader="+getApp().globalData.user_id; | ||
170 | + } | ||
171 | + var ob={ | ||
172 | + title: price + "元 " +title, | ||
173 | + path:url, | ||
174 | + imageUrl: img, | ||
175 | + }; | ||
176 | + th.setData({share_hidden:1,share_good:null}); | ||
177 | + return ob; | ||
178 | + }else{ | ||
179 | + var url="/pages/index/index/index"; | ||
180 | + if(getApp().globalData.user_id){ | ||
181 | + url+="?first_leader="+getApp().globalData.user_id; | ||
182 | + } | ||
183 | + var hui_active=this.data.hui_active; | ||
184 | + var title=hui_active.name; | ||
185 | + if(!title) title=hui_active.main_goods_name; | ||
186 | + if(!title) title=hui_active.giftTitle; | ||
187 | + | ||
188 | + var ob={ | ||
189 | + title: title, | ||
190 | + path:url, | ||
191 | + }; | ||
192 | + th.setData({share_hidden:1,share_good:null}); | ||
193 | + return ob; | ||
194 | + } | ||
195 | + } | ||
196 | + | ||
197 | + }, | ||
198 | + | ||
199 | + | ||
200 | + //-- 点击tab -- | ||
201 | + clickTab(e) { | ||
202 | + var th=this; | ||
203 | + if(this.data.currentIndex!=e.target.dataset.index){ | ||
204 | + this.setData({ | ||
205 | + currentIndex: e.target.dataset.index,is_no_data:0,is_no_more:0,list:[], | ||
206 | + }); | ||
207 | + this.data.is_load=0; | ||
208 | + this.data.currentPage=1; | ||
209 | + this.requestGoodsList(); | ||
210 | + if(e.target.dataset.index<=1){ | ||
211 | + //设置全局定时器 | ||
212 | + this.data.timer=setInterval(function () { | ||
213 | + th.countDown(); | ||
214 | + },1000); | ||
215 | + }else{ | ||
216 | + clearInterval(this.timer); | ||
217 | + } | ||
218 | + } | ||
219 | + }, | ||
220 | + | ||
221 | + //-- 点击促销页tab -- | ||
222 | + clickTab2(e) { | ||
223 | + if(this.data.currentIndex2!=e.target.dataset.index){ | ||
224 | + this.setData({ | ||
225 | + currentIndex2: e.target.dataset.index,is_no_data:0,is_no_more:0,list:[], | ||
226 | + }); | ||
227 | + this.data.is_load=0; | ||
228 | + this.data.currentPage=1; | ||
229 | + this.requestGoodsList(); | ||
230 | + } | ||
231 | + | ||
232 | + }, | ||
233 | + //-- 点击秒杀和拼单底部tab,火热进行和即将开始 -- | ||
234 | + clickTab3(e) { | ||
235 | + if(this.data.currentIndex3!=e.target.dataset.index){ | ||
236 | + this.setData({ | ||
237 | + currentIndex3: e.target.dataset.index,is_no_data:0,is_no_more:0,list:[], | ||
238 | + }); | ||
239 | + this.data.is_load=0; | ||
240 | + this.data.currentPage=1; | ||
241 | + this.requestGoodsList(); | ||
242 | + } | ||
243 | + }, | ||
244 | + // 关闭弹出层 | ||
245 | + closePopup() { | ||
246 | + this.setData({ | ||
247 | + hiddenPopup: true | ||
248 | + }); | ||
249 | + }, | ||
250 | + | ||
251 | + //--- 显示弹出层 --- | ||
252 | + showPopup(e) { | ||
253 | + var th=this; | ||
254 | + var index=e.currentTarget.dataset.index; | ||
255 | + var hui_active=this.data.list[index]; | ||
256 | + | ||
257 | + //---搭配促销-- | ||
258 | + this.setData({hui_active: hui_active}); | ||
259 | + ////---搭配促销-- | ||
260 | + if(this.data.currentIndex2==2){ | ||
261 | + this.get_prom_goods(); | ||
262 | + }else{ | ||
263 | + //-- 获取搭配购的从商品的信息 -- | ||
264 | + getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + hui_active.main_goods_id,{}).then(res=>{ | ||
265 | + if(res.data.code==0){ | ||
266 | + var info=res.data.data | ||
267 | + th.setData({['hui_active.ginfo']:info}); | ||
268 | + } | ||
269 | + }) | ||
270 | + this.get_colloction(); | ||
271 | + } | ||
272 | + this.setData({hiddenPopup:false}); | ||
273 | + | ||
274 | + }, | ||
275 | + | ||
276 | + get_colloction: async function(){ | ||
277 | + var list=null; | ||
278 | + //-- 获取搭配购的从商品的信息 -- | ||
279 | + await app.request.promiseGet("/api/weshop/goods/getGoodsPromList/"+oo.stoid+"/"+this.data.hui_active.main_goods_id+"/2",{}).then(res=>{ | ||
280 | + if(res.data.code==0){ | ||
281 | + list=res.data.data.collocationList; | ||
282 | + } | ||
283 | + }) | ||
284 | + if(list){ | ||
285 | + for(var i in list){ | ||
286 | + await app.request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + list[i].goods_id,{}).then(res=>{ | ||
287 | + if(res.data.code==0){ | ||
288 | + var info=res.data.data | ||
289 | + list[i].shop_price=info.shop_price; | ||
290 | + } | ||
291 | + }) | ||
292 | + } | ||
293 | + } | ||
294 | + this.setData({list2:list});//把数据弄到前台 | ||
295 | + | ||
296 | + }, | ||
297 | + //-- 获取优惠商品的活动 -- | ||
298 | + get_prom_goods:function(){ | ||
299 | + var list=null; | ||
300 | + var th=this; | ||
301 | + var prom_goods=null; | ||
302 | + var hui_active=this.data.hui_active; | ||
303 | + | ||
304 | + //-- 获取优惠活动的详情信息 -- | ||
305 | + app.request.promiseGet("/api/weshop/promgoodslist/getPromGoodsInfo/"+hui_active.id,{}).then(res=>{ | ||
306 | + if(res.data.code==0){ | ||
307 | + prom_goods=res.data.data; | ||
308 | + th.setData({prom_goods:prom_goods}); | ||
309 | + } | ||
310 | + }) | ||
311 | + //-- 指定商品参与,才有商品列表分 -- | ||
312 | + if(hui_active.good_object==1){ | ||
313 | + this.request_prom_goods(); | ||
314 | + } | ||
315 | + | ||
316 | + }, | ||
317 | + | ||
318 | + //-- -------获取商品列表-------- | ||
319 | + requestGoodsList:function(){ | ||
320 | + var th=this; | ||
321 | + if(th.data.is_load) return false; //-- 正在加载 | ||
322 | + if(th.data.is_no_data) return false; //-- 没有数据 | ||
323 | + if(th.data.is_no_more) return false; //-- 没有更多 | ||
324 | + th.data.is_load=1; | ||
325 | + var url=""; | ||
326 | + var req_data={ | ||
327 | + page:this.data.currentPage, | ||
328 | + store_id:oo.stoid, | ||
329 | + } | ||
330 | + | ||
331 | + switch(th.data.currentIndex){ | ||
332 | + case 0: //--秒杀-- | ||
333 | + url="/api/ms/flash_sale/spikepage"; | ||
334 | + if(th.data.currentIndex3==0){ | ||
335 | + url+="?timetype=1"; //火热进行中 | ||
336 | + }else{ | ||
337 | + url+="?timetype=0"; //即将开始 | ||
338 | + } | ||
339 | + req_data.is_show=1; | ||
340 | + req_data.is_end=0; | ||
341 | + | ||
342 | + if(th.data.key_str && th.data.key_str.trim()){ | ||
343 | + req_data.key_str=th.data.key_str.trim(); | ||
344 | + } | ||
345 | + break; | ||
346 | + case 1: //--拼团-- | ||
347 | + url="/api/weshop/teamlist/pageteam"; | ||
348 | + if(th.data.currentIndex3==0){ | ||
349 | + url+="/1"; //火热进行中 | ||
350 | + }else{ | ||
351 | + url+="/0"; //即将开始 | ||
352 | + } | ||
353 | + req_data.is_show=1; | ||
354 | + req_data.is_end=0; | ||
355 | + | ||
356 | + if(th.data.key_str && th.data.key_str.trim()){ | ||
357 | + req_data.key_str=th.data.key_str.trim(); | ||
358 | + } | ||
359 | + break; | ||
360 | + case 2: //--促销-- | ||
361 | + if(th.data.currentIndex2==0){ | ||
362 | + url="//api/weshop/promorder/page"; | ||
363 | + if(th.data.key_str && th.data.key_str.trim()){ | ||
364 | + req_data.name=th.data.key_str.trim(); | ||
365 | + } | ||
366 | + }else if(th.data.currentIndex2==1){ | ||
367 | + url="/api/weshop/prom/collocation/pageCollocationGoods"; | ||
368 | + if(th.data.key_str && th.data.key_str.trim()){ | ||
369 | + req_data.name=th.data.key_str.trim(); | ||
370 | + } | ||
371 | + }else{ | ||
372 | + url="/api/weshop/promgoods/page"; | ||
373 | + if(th.data.key_str && th.data.key_str.trim()){ | ||
374 | + req_data.name=th.data.key_str.trim(); | ||
375 | + } | ||
376 | + } | ||
377 | + break; | ||
378 | + case 3: //专享礼包 | ||
379 | + url='/api/weshop/marketing/giftbag/pageMd'; | ||
380 | + if(th.data.key_str && th.data.key_str.trim()){ | ||
381 | + req_data.key_str=th.data.key_str.trim(); | ||
382 | + } | ||
383 | + break; | ||
384 | + } | ||
385 | + | ||
386 | + if(this.data.key_str && this.data.key_str.trim()){ | ||
387 | + var str=this.data.key_str.trim(); | ||
388 | + req_data.key_str=str; | ||
389 | + } | ||
390 | + //-- ---调用接口---- | ||
391 | + app.request.promiseGet(url,{data:req_data,isShowLoading:1}).then(res=>{ | ||
392 | + th.data.is_load=0; | ||
393 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
394 | + th.data.currentPage++; | ||
395 | + var data=res.data.data.pageData; | ||
396 | + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more:1});} | ||
397 | + var list=th.data.list; | ||
398 | + list=list.concat(data); | ||
399 | + th.setData({list:list}); | ||
400 | + }else{ | ||
401 | + if(th.data.currentPage==1){ | ||
402 | + th.setData({is_no_data:1}); | ||
403 | + } | ||
404 | + } | ||
405 | + }) | ||
406 | + }, | ||
407 | + | ||
408 | + //-- -------获取活动详情的商品的列表-------- | ||
409 | + request_prom_goods:function(){ | ||
410 | + var th=this; | ||
411 | + if(th.data.is_load2) return false; //-- 正在加载 | ||
412 | + if(th.data.is_no_data2) return false; //-- 没有数据 | ||
413 | + if(th.data.is_no_more2) return false; //-- 没有更多 | ||
414 | + th.data.is_load2=1; | ||
415 | + | ||
416 | + var req_data={ | ||
417 | + page:th.data.currentPage2 | ||
418 | + } | ||
419 | + app.request.promiseGet("/api/weshop/goods/page?store_id="+oo.stoid+"&prom_type=3&prom_id="+th.data.hui_active.id,{ | ||
420 | + data:req_data,isShowLoading:1 | ||
421 | + }).then(res=>{ | ||
422 | + th.data.is_load2=0; | ||
423 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
424 | + th.data.currentPage2++; | ||
425 | + var data=res.data.data.pageData; | ||
426 | + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more2:1});} | ||
427 | + var list=th.data.list2; | ||
428 | + list=list.concat(data); | ||
429 | + th.setData({list2:list}); | ||
430 | + }else{ | ||
431 | + if(th.data.currentPage==1){ | ||
432 | + th.setData({is_no_data2:1}); | ||
433 | + } | ||
434 | + } | ||
435 | + }) | ||
436 | + }, | ||
437 | + | ||
438 | + //--- 获取卡类列表 --- | ||
439 | + getPlusCardType: function (func) { | ||
440 | + var storid = oo.stoid; | ||
441 | + var th = this; | ||
442 | + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { | ||
443 | + var plusCard = res.data.data; | ||
444 | + var arr = [1219, 2089, 3031]; | ||
445 | + var new_arr = new Array(); | ||
446 | + var card_name_map=new Map(); | ||
447 | + var user = getApp().globalData.userInfo; | ||
448 | + for (var i = 0; i < plusCard.length; i++) { | ||
449 | + if ((user.card_field==null || user.card_field=="") && (plusCard[i].IsStopBuy==true)) { | ||
450 | + continue; | ||
451 | + } | ||
452 | + var name="card"+plusCard[i].CorrPrice.toLowerCase(); | ||
453 | + card_name_map.set(name,plusCard[i].CardName); | ||
454 | + new_arr.push(plusCard[i]); | ||
455 | + } | ||
456 | + | ||
457 | + var ob={"card_list":new_arr,"name_map":card_name_map}; | ||
458 | + func(ob); | ||
459 | + }) | ||
460 | + }, | ||
461 | + | ||
462 | + | ||
463 | + //---图片失败,默认图片--- | ||
464 | + bind_bnerr2: function (e) { | ||
465 | + var _errImg = e.target.dataset.errorimg; | ||
466 | + var _errObj = {}; | ||
467 | + _errObj[_errImg] ="/miniapp/images/default_g_img.gif"; | ||
468 | + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | ||
469 | + }, | ||
470 | + //-- ---更多加载---- | ||
471 | + refresh:function(){ | ||
472 | + this.requestGoodsList(); | ||
473 | + }, | ||
474 | + | ||
475 | + //--定义的保存图片方法,分享团--- | ||
476 | + saveImageToPhotosAlbum: function() { | ||
477 | + //--先判断会员状态-- | ||
478 | + var user_info = getApp().globalData.userInfo; | ||
479 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
480 | + //getApp().my_warnning("请先登录",0,this); | ||
481 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | ||
482 | + return false; | ||
483 | + } | ||
484 | + //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 | ||
485 | + var type = 0; | ||
486 | + wx.showLoading({ | ||
487 | + title: '生成中...', | ||
488 | + }) | ||
489 | + var that = this, th = that; | ||
490 | + //设置画板显示,才能开始绘图,并关闭底部按钮 | ||
491 | + that.setData({ | ||
492 | + canvasHidden: false,share_hidden:1 | ||
493 | + }) | ||
494 | + | ||
495 | + var app = getApp(); | ||
496 | + var unit = that.data.screenWidth / 750 * 1.35; //基础单位, | ||
497 | + var scene = th.data.gid+""; | ||
498 | + var user_id=getApp().globalData.user_id?getApp().globalData.user_id:0; | ||
499 | + if(user_id>0){ | ||
500 | + scene+="_"+user_id; | ||
501 | + } | ||
502 | + | ||
503 | + ///二微码 | ||
504 | + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + | ||
505 | + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo"; | ||
506 | + | ||
507 | + //读取文件成功则OK-- | ||
508 | + wx.getImageInfo({ | ||
509 | + src: path3, | ||
510 | + success: function(res) { | ||
511 | + //回调写法 | ||
512 | + th.get_head_temp(th.get_goods_temp, function() { | ||
513 | + var vpath = res.path; | ||
514 | + var context = wx.createCanvasContext('share'); | ||
515 | + //先画背景 | ||
516 | + var pg_path = "../../../images/share/share_bg.png"; | ||
517 | + | ||
518 | + //-- 如果有自定义海报的时候,判断背景的图片 -- | ||
519 | + if(th.data.share_b_img){ | ||
520 | + pg_path=th.data.share_b_img; | ||
521 | + } | ||
522 | + context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); | ||
523 | + | ||
524 | + //-- 是自定义海报的情况下 -- | ||
525 | + if(th.data.poster && parseInt(th.data.poster.style)==2){ | ||
526 | + //在线上分享人的情况下 | ||
527 | + if(parseInt(th.data.poster.show_headpic)){ | ||
528 | + //获取坐标 | ||
529 | + var x=parseFloat(th.data.poster.head_x)*2; | ||
530 | + var y=parseFloat(th.data.poster.head_y)*2; | ||
531 | + var x1=(x+90) *unit; | ||
532 | + var y1=(y+50) *unit; | ||
533 | + //--昵称--- | ||
534 | + context.setFontSize(24 * unit) | ||
535 | + context.setFillStyle("black") | ||
536 | + context.fillText(app.globalData.userInfo.nickname, x1, y1); | ||
537 | + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; | ||
538 | + //强烈推荐 改许程 | ||
539 | + var tj_path = "../../../images/share/q_tj.png"; | ||
540 | + context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit); | ||
541 | + context.setFontSize(16 * unit) | ||
542 | + context.setLineJoin('round'); //交点设置成圆角 | ||
543 | + context.setFillStyle("white") | ||
544 | + context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit); | ||
545 | + } | ||
546 | + }else{ | ||
547 | + //--昵称--- | ||
548 | + context.setFontSize(24 * unit) | ||
549 | + context.setFillStyle("black") | ||
550 | + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); | ||
551 | + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; | ||
552 | + //强烈推荐 改许程 | ||
553 | + var tj_path = "../../../images/share/q_tj.png"; | ||
554 | + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit); | ||
555 | + context.setFontSize(16 * unit) | ||
556 | + context.setLineJoin('round'); //交点设置成圆角 | ||
557 | + context.setFillStyle("white") | ||
558 | + context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 76 * unit); | ||
559 | + } | ||
560 | + | ||
561 | + | ||
562 | + //---产品名称--- | ||
563 | + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | ||
564 | + context.setFillStyle("black"); | ||
565 | + context.setFontSize(21.3 * unit) | ||
566 | + th.draw_Text(context, th.data.share_good.goods_name, | ||
567 | + 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); | ||
568 | + //------产品的价格------- | ||
569 | + context.setFontSize(23 * unit) | ||
570 | + context.setFillStyle("red") | ||
571 | + context.fillText("¥", 416 * unit, 185 * unit); | ||
572 | + context.setFontSize(31 * unit) | ||
573 | + var pri0 = th.data.share_good.shop_price; | ||
574 | + if (th.data.prom_act) | ||
575 | + pri0 = th.data.prom_act.price; | ||
576 | + | ||
577 | + pri0 = parseFloat(pri0).toFixed(2); | ||
578 | + context.fillText(pri0, 438 * unit, 185 * unit); | ||
579 | + //---市场价划掉--- | ||
580 | + context.setFillStyle("gray") | ||
581 | + context.setFontSize(22 * unit) | ||
582 | + context.fillText("¥" + th.data.share_good.market_price, 426 * unit, 213 * unit); | ||
583 | + context.setStrokeStyle('gray') | ||
584 | + context.setLineWidth(1 * unit) | ||
585 | + context.moveTo(426 * unit, 206 * unit) | ||
586 | + context.lineTo(510 * unit, 206 * unit) | ||
587 | + context.stroke(); | ||
588 | + //---中间大图--- | ||
589 | + context.drawImage(th.data.share_goods_img, 68 * unit, 242 * unit, 410 * unit, 410 * unit); | ||
590 | + //-------大图后面就不一样了----------- | ||
591 | + switch (type) { | ||
592 | + case 0: //普通商品的展示 | ||
593 | + //中间的几个字 | ||
594 | + if(th.data.poster && parseInt(th.data.poster.style)==2 ){ | ||
595 | + if(parseInt(th.data.poster.show_quality)){ | ||
596 | + var g_path = "../../../images/share/s_gou.png"; | ||
597 | + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
598 | + context.setFillStyle("red") | ||
599 | + context.setFontSize(18 * unit) | ||
600 | + context.fillText("正品保证", 84 * unit, 690 * unit); | ||
601 | + | ||
602 | + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
603 | + context.setFillStyle("red") | ||
604 | + context.setFontSize(18 * unit) | ||
605 | + context.fillText("纯实体店", 246 * unit, 690 * unit); | ||
606 | + | ||
607 | + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
608 | + context.setFillStyle("red") | ||
609 | + context.setFontSize(18 * unit) | ||
610 | + context.fillText("官方验证", 420 * unit, 690 * unit); | ||
611 | + } | ||
612 | + | ||
613 | + }else{ | ||
614 | + var g_path = "../../../images/share/s_gou.png"; | ||
615 | + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
616 | + context.setFillStyle("red") | ||
617 | + context.setFontSize(18 * unit) | ||
618 | + context.fillText("正品保证", 84 * unit, 690 * unit); | ||
619 | + | ||
620 | + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
621 | + context.setFillStyle("red") | ||
622 | + context.setFontSize(18 * unit) | ||
623 | + context.fillText("纯实体店", 246 * unit, 690 * unit); | ||
624 | + | ||
625 | + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
626 | + context.setFillStyle("red") | ||
627 | + context.setFontSize(18 * unit) | ||
628 | + context.fillText("官方验证", 420 * unit, 690 * unit); | ||
629 | + } | ||
630 | + | ||
631 | + //---画线--- | ||
632 | + context.setLineWidth(1 * unit) | ||
633 | + context.moveTo(32 * unit, 710 * unit) | ||
634 | + context.lineTo(520 * unit, 710 * unit) | ||
635 | + context.stroke(); | ||
636 | + //---文字--- | ||
637 | + context.setFillStyle("black") | ||
638 | + context.setFontSize(22 * unit) | ||
639 | + // 原来start ---> | ||
640 | + context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 776 * unit); | ||
641 | + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 826 * unit); | ||
642 | + | ||
643 | + //---二维吗图--- | ||
644 | + //-- 自定义海报 -- | ||
645 | + if(th.data.poster){ | ||
646 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | ||
647 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | ||
648 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | ||
649 | + }else{ | ||
650 | + //---二维吗图--- | ||
651 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | ||
652 | + } | ||
653 | + | ||
654 | + break; | ||
655 | + case 1: //秒杀商品的展示 | ||
656 | + //---画线--- | ||
657 | + context.setLineWidth(1 * unit) | ||
658 | + context.moveTo(32 * unit, 670 * unit) | ||
659 | + context.lineTo(520 * unit, 670 * unit) | ||
660 | + context.stroke(); | ||
661 | + | ||
662 | + //画秒杀的图片 | ||
663 | + var miaos_path = '../../../images/share/miao_share.png'; | ||
664 | + context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit); | ||
665 | + | ||
666 | + //---文字--- | ||
667 | + context.setFontSize(22 * unit) | ||
668 | + context.setFillStyle("black") | ||
669 | + context.fillText("特惠好物,限时秒杀", 40 * unit, 806 * unit); | ||
670 | + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit); | ||
671 | + //---二维吗图--- | ||
672 | + //-- 自定义海报 -- | ||
673 | + if(th.data.poster){ | ||
674 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | ||
675 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | ||
676 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | ||
677 | + }else{ | ||
678 | + //---二维吗图--- | ||
679 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | ||
680 | + } | ||
681 | + break; | ||
682 | + | ||
683 | + case 2: //会员团和商家团的展示 | ||
684 | + //---画线--- | ||
685 | + context.setLineWidth(1 * unit) | ||
686 | + context.moveTo(32 * unit, 670 * unit) | ||
687 | + context.lineTo(520 * unit, 670 * unit) | ||
688 | + context.stroke(); | ||
689 | + //---文字--- | ||
690 | + context.setFontSize(22 * unit) | ||
691 | + context.font = 'normal bold'; | ||
692 | + context.setFillStyle("black") | ||
693 | + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); | ||
694 | + | ||
695 | + //绘制成团图片 | ||
696 | + var ct_img = "../../../images/share/ct_num.png"; | ||
697 | + context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit); | ||
698 | + var ct_num = th.data.prom_act.ct_num; | ||
699 | + context.setFontSize(14 * unit) | ||
700 | + context.font = 'normal'; | ||
701 | + context.setFillStyle("red") | ||
702 | + if (ct_num < 10) { | ||
703 | + context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit); | ||
704 | + } else { | ||
705 | + context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit); | ||
706 | + } | ||
707 | + context.setFontSize(22 * unit) | ||
708 | + context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit); | ||
709 | + context.setFillStyle("gray") | ||
710 | + context.fillText("快来和我一起拼团吧!", 40 * unit, 826 * unit); | ||
711 | + context.setFillStyle("black") | ||
712 | + context.font = 'normal bold 18px sans-serif'; | ||
713 | + context.setFontSize(21.3 * unit) | ||
714 | + context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit); | ||
715 | + //---二维吗图--- | ||
716 | + //-- 自定义海报 -- | ||
717 | + if(th.data.poster){ | ||
718 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | ||
719 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | ||
720 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | ||
721 | + }else{ | ||
722 | + //---二维吗图--- | ||
723 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | ||
724 | + } | ||
725 | + break | ||
726 | + case 3: //阶梯团的展示 | ||
727 | + //---画线--- | ||
728 | + context.setLineWidth(1 * unit) | ||
729 | + context.moveTo(32 * unit, 670 * unit) | ||
730 | + context.lineTo(520 * unit, 670 * unit) | ||
731 | + context.stroke(); | ||
732 | + //---文字--- | ||
733 | + context.setFontSize(22 * unit) | ||
734 | + context.font = 'normal bold'; | ||
735 | + context.setFillStyle("black") | ||
736 | + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); | ||
737 | + //---绘制中间阶梯的价格--- | ||
738 | + var list = th.data.prom_act.ct_rylist; | ||
739 | + for (var i = 0; i < list.length; i++) { | ||
740 | + var item = list[i]; | ||
741 | + var wi = i * 90 * unit; | ||
742 | + context.font = 'normal'; | ||
743 | + context.setFontSize(16 * unit) | ||
744 | + context.setFillStyle("red") | ||
745 | + context.fillText("¥", 40 * unit + wi, 756 * unit); | ||
746 | + context.setFontSize(22 * unit) | ||
747 | + var pri = parseFloat(item.price).toFixed(2); | ||
748 | + context.fillText(pri, 56 * unit + wi, 756 * unit); | ||
749 | + context.setFillStyle("gray") | ||
750 | + context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit); | ||
751 | + } | ||
752 | + //----------------下面部分---------------- | ||
753 | + context.setFillStyle("gray") | ||
754 | + context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit); | ||
755 | + context.setFillStyle("black") | ||
756 | + context.font = 'normal bold 18px sans-serif'; | ||
757 | + context.setFontSize(22 * unit) | ||
758 | + context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); | ||
759 | + | ||
760 | + //-- 自定义海报 -- | ||
761 | + if(th.data.poster){ | ||
762 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | ||
763 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | ||
764 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | ||
765 | + }else{ | ||
766 | + //---二维吗图--- | ||
767 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | ||
768 | + } | ||
769 | + break | ||
770 | + } | ||
771 | + | ||
772 | + | ||
773 | + //--- 如果是自定义海报的时候 --- | ||
774 | + if(th.data.poster && parseInt(th.data.poster.style)==2){ | ||
775 | + //如果显示会员信息的话 | ||
776 | + if(parseInt(th.data.poster.show_headpic)){ | ||
777 | + //获取坐标 | ||
778 | + var x= parseFloat(th.data.poster.head_x)*2; | ||
779 | + var y=parseFloat(th.data.poster.head_y)*2; | ||
780 | + //---绘制圆形要放在最后---- | ||
781 | + context.save(); | ||
782 | + context.beginPath(); | ||
783 | + var h_x = x* unit; | ||
784 | + var h_y = y * unit; | ||
785 | + var h_r = 40 * unit; | ||
786 | + var cx = h_x + h_r; | ||
787 | + var cy = h_y + h_r; | ||
788 | + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | ||
789 | + context.closePath(); | ||
790 | + context.fill(); | ||
791 | + context.clip(); | ||
792 | + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | ||
793 | + context.restore(); | ||
794 | + } | ||
795 | + | ||
796 | + }else{ | ||
797 | + //---绘制圆形要放在最后---- | ||
798 | + context.save(); | ||
799 | + context.beginPath(); | ||
800 | + var h_x = 60 * unit; | ||
801 | + var h_y = 24 * unit; | ||
802 | + var h_r = 40 * unit; | ||
803 | + var cx = h_x + h_r; | ||
804 | + var cy = h_y + h_r; | ||
805 | + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | ||
806 | + context.closePath(); | ||
807 | + context.fill(); | ||
808 | + context.clip(); | ||
809 | + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | ||
810 | + context.restore(); | ||
811 | + } | ||
812 | + | ||
813 | + | ||
814 | + //把画板内容绘制成图片,并回调 画板图片路径 | ||
815 | + context.draw(false, function() { | ||
816 | + setTimeout(function() { | ||
817 | + wx.canvasToTempFilePath({ | ||
818 | + x: 0, | ||
819 | + y: 0, | ||
820 | + width: 750, | ||
821 | + height: 1217, | ||
822 | + destWidth: 1.2 * 750 * 750 / that.data.screenWidth, | ||
823 | + destHeight: 1.2 * 1217 * 750 / that.data.screenWidth, | ||
824 | + canvasId: 'share', | ||
825 | + success: function(res) { | ||
826 | + that.setData({ | ||
827 | + shareImgPath: res.tempFilePath, | ||
828 | + canvasHidden: true | ||
829 | + }) | ||
830 | + if (!res.tempFilePath) { | ||
831 | + wx.showModal({ | ||
832 | + title: '提示', | ||
833 | + content: '图片绘制中,请稍后重试', | ||
834 | + showCancel: false | ||
835 | + }) | ||
836 | + return false; | ||
837 | + } | ||
838 | + wx.previewImage({ | ||
839 | + //将图片预览出来 | ||
840 | + urls: [that.data.shareImgPath] | ||
841 | + }); | ||
842 | + //-- 将商品清空 -- | ||
843 | + th.setData({share_good:null}); | ||
844 | + | ||
845 | + wx.hideLoading(); | ||
846 | + } | ||
847 | + }) | ||
848 | + }, 500) | ||
849 | + | ||
850 | + }); | ||
851 | + }); | ||
852 | + } | ||
853 | + }); | ||
854 | + | ||
855 | + }, | ||
856 | + //---点击分享优惠活动--- | ||
857 | + share_index:function(e){ | ||
858 | + | ||
859 | + //--先判断会员状态-- | ||
860 | + var user_info = getApp().globalData.userInfo; | ||
861 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
862 | + //getApp().my_warnning("请先登录",0,this); | ||
863 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | ||
864 | + return false; | ||
865 | + } | ||
866 | + | ||
867 | + var index=e.currentTarget.dataset.index; | ||
868 | + var item=this.data.list[index]; | ||
869 | + this.setData({share_hidden:0,hui_active:item}); | ||
870 | + | ||
871 | + var com = this.selectComponent("#share_button"); //组件的id | ||
872 | + com.set_type(1); | ||
873 | + }, | ||
874 | + //---点击分享商品--- | ||
875 | + share_good:function(e){ | ||
876 | + | ||
877 | + //--先判断会员状态-- | ||
878 | + var user_info = getApp().globalData.userInfo; | ||
879 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
880 | + //getApp().my_warnning("请先登录",0,this); | ||
881 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | ||
882 | + return false; | ||
883 | + } | ||
884 | + | ||
885 | + var index=e.currentTarget.dataset.index; | ||
886 | + var item=this.data.list[index]; | ||
887 | + this.setData({share_hidden:0,share_good:item}); | ||
888 | + | ||
889 | + var com = this.selectComponent("#share_button"); //组件的id | ||
890 | + com.set_type(0); | ||
891 | + }, | ||
892 | + | ||
893 | + //----活动详情里面的分享--- | ||
894 | + share_good2:function(e){ | ||
895 | + //--先判断会员状态-- | ||
896 | + var user_info = getApp().globalData.userInfo; | ||
897 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
898 | + //getApp().my_warnning("请先登录",0,this); | ||
899 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | ||
900 | + return false; | ||
901 | + } | ||
902 | + | ||
903 | + var index=e.currentTarget.dataset.index; | ||
904 | + var item=this.data.list2[index]; | ||
905 | + this.setData({share_hidden:0,share_good:item}); | ||
906 | + var com = this.selectComponent("#share_button"); //组件的id | ||
907 | + com.set_type(0); | ||
908 | + }, | ||
909 | + | ||
910 | + //-----详情里面的分享------- | ||
911 | + share_detail:function(e){ | ||
912 | + | ||
913 | + //--先判断会员状态-- | ||
914 | + var user_info = getApp().globalData.userInfo; | ||
915 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
916 | + //getApp().my_warnning("请先登录",0,this); | ||
917 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | ||
918 | + return false; | ||
919 | + } | ||
920 | + | ||
921 | + var com = this.selectComponent("#share_button"); //组件的id | ||
922 | + com.set_type(0); | ||
923 | + | ||
924 | + var idx=e.currentTarget.dataset.index; | ||
925 | + var item=this.data.list2[index]; | ||
926 | + this.setData({share_hidden:0,share_good:item}); | ||
927 | + }, | ||
928 | + | ||
929 | + cancel:function(){ | ||
930 | + this.setData({share_hidden:1}); | ||
931 | + }, | ||
932 | + | ||
933 | + //--获取头像的本地缓存,回调写法-- | ||
934 | + get_head_temp: function(tt, func) { | ||
935 | + var ee = this; | ||
936 | + if (ee.data.share_head) { | ||
937 | + tt(func); | ||
938 | + return false; | ||
939 | + } | ||
940 | + //---获取分享图片的本地地址,头像和商品图片---- | ||
941 | + var path2 = getApp().globalData.userInfo.head_pic; | ||
942 | + if (path2 == "") { | ||
943 | + ee.data.share_head = "../../../images/share/hui_hear_pic.png"; | ||
944 | + tt(func); | ||
945 | + } else { | ||
946 | + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); | ||
947 | + path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); | ||
948 | + wx.getImageInfo({ | ||
949 | + src: path2, | ||
950 | + success: function(res) { | ||
951 | + //res.path是网络图片的本地地址 | ||
952 | + ee.data.share_head = res.path; | ||
953 | + tt(func); | ||
954 | + }, | ||
955 | + fail: function(res) { | ||
956 | + ee.data.share_head = "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 | ||
957 | + tt(func); | ||
958 | + } | ||
959 | + }); | ||
960 | + } | ||
961 | + }, | ||
962 | + //--获取商品图片的本地缓存,回调写法-- | ||
963 | + get_goods_temp: function(tt) { | ||
964 | + var ee = this; | ||
965 | + //获取商品是分享图信息 | ||
966 | + wx.getImageInfo({ | ||
967 | + src: ee.data.url+ee.data.share_good.original_img, | ||
968 | + success: function(res) { | ||
969 | + //res.path是网络图片的本地地址 | ||
970 | + ee.data.share_goods_img = res.path; | ||
971 | + tt(); | ||
972 | + }, | ||
973 | + fail: function(res) { | ||
974 | + ee.data.share_goods_img = "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的 | ||
975 | + tt(); | ||
976 | + } | ||
977 | + }); | ||
978 | + }, | ||
979 | + | ||
980 | + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | ||
981 | + draw_Text: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) { | ||
982 | + var lineWidth = 0; | ||
983 | + var lastSubStrIndex = 0; //每次开始截取的字符串的索引 | ||
984 | + var han = 0; | ||
985 | + for (let i = 0; i < str.length; i++) { | ||
986 | + if (han == 2) return; | ||
987 | + //lineWidth += ctx.measureText(str[i]).width; | ||
988 | + lineWidth += ut.measureText(str[i], 21.3 * unit); | ||
989 | + if (lineWidth > canvasWidth) { | ||
990 | + han++; | ||
991 | + | ||
992 | + if (han == 2) | ||
993 | + ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分 | ||
994 | + else | ||
995 | + ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight); | ||
996 | + | ||
997 | + initHeight += 22; //22为字体的高度 | ||
998 | + lineWidth = 0; | ||
999 | + lastSubStrIndex = i; | ||
1000 | + titleHeight += 20; | ||
1001 | + } | ||
1002 | + if (i == str.length - 1) { //绘制剩余部分 | ||
1003 | + ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); | ||
1004 | + } | ||
1005 | + } | ||
1006 | + }, | ||
1007 | + | ||
1008 | + //---小于10的格式化函数---- | ||
1009 | + timeFormat(param) { | ||
1010 | + return param < 10 ? '0' + param : param; | ||
1011 | + }, | ||
1012 | + | ||
1013 | + //----倒计时函数----- | ||
1014 | + countDown() { | ||
1015 | + if(!this.data.timer) return false; | ||
1016 | + var th=this; | ||
1017 | + // 获取当前时间,同时得到活动结束时间数组 | ||
1018 | + let newTime =ut.gettimestamp(); | ||
1019 | + var endTimeList = this.data.list; | ||
1020 | + if(endTimeList==null) return null | ||
1021 | + // 对结束时间进行处理渲染到页面 | ||
1022 | + for (var i = 0; i < endTimeList.length;i++){ | ||
1023 | + var o = endTimeList[i]; | ||
1024 | + var endTime = o.end_time; | ||
1025 | + let obj = null; | ||
1026 | + // 如果活动未结束,对时间进行处理 | ||
1027 | + if (endTime - newTime > 0){ | ||
1028 | + let time = (endTime - newTime); | ||
1029 | + // 获取天、时、分、秒 | ||
1030 | + let day = parseInt(time / (60 * 60 * 24)); | ||
1031 | + let hou = parseInt(time % (60 * 60 * 24) / 3600); | ||
1032 | + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); | ||
1033 | + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); | ||
1034 | + obj = { | ||
1035 | + day: this.timeFormat(day), hou: this.timeFormat(hou), min: this.timeFormat(min), sec: this.timeFormat(sec), hide: 1 | ||
1036 | + } | ||
1037 | + }else{ | ||
1038 | + //活动已结束,全部设置为'00' | ||
1039 | + obj = { day: '00', hou: '00', min: '00', sec: '00' } | ||
1040 | + } | ||
1041 | + var txt ="list["+i+"].djs"; | ||
1042 | + th.setData({ [txt]: obj}); | ||
1043 | + } | ||
1044 | + }, | ||
1045 | + | ||
1046 | + //-------搜索的相关功能------ | ||
1047 | + set_search_value:function(e){ | ||
1048 | + var key_str=e.detail.value; | ||
1049 | + if(key_str) key_str=key_str.trim(); | ||
1050 | + this.setData({key_str:key_str}); | ||
1051 | + | ||
1052 | + }, | ||
1053 | + search_data:function(){ | ||
1054 | + this.setData({ | ||
1055 | + is_no_data:0,is_no_more:0,list:[], | ||
1056 | + }); | ||
1057 | + this.data.is_load=0; | ||
1058 | + this.data.currentPage=1; | ||
1059 | + this.requestGoodsList(); | ||
1060 | + } | ||
1061 | + | ||
1062 | + | ||
1063 | +}) | ||
0 | \ No newline at end of file | 1064 | \ No newline at end of file |
packageA/pages/activity_share/activity_share.json
0 → 100644
packageA/pages/activity_share/activity_share.wxml
0 → 100644
1 | +<wxs module="g_filter" src="g_filter.wxs"></wxs> | ||
2 | +<view class="container"> | ||
3 | + <!-- 搜索框 --> | ||
4 | + <view class="search-container"> | ||
5 | + <view class="input-container"><input bindinput="set_search_value" class="search" type="text" placeholder="请输入您想查找的商品信息"/></view> | ||
6 | + <view bindtap="search_data" class="btn-search">搜索</view> | ||
7 | + </view> | ||
8 | + | ||
9 | + <!-- 列表 --> | ||
10 | + <view class="list-container"> | ||
11 | + <!-- 标题 --> | ||
12 | + <view class="title" > | ||
13 | + <block wx:for="{{tab}}"> | ||
14 | + <view class="title-item {{currentIndex == index ? 'active':''}}" data-index="{{index}}" bindtap="clickTab">{{item}}</view> | ||
15 | + </block> | ||
16 | + </view> | ||
17 | + <!-- 促销页标题 --> | ||
18 | + <view class="subTab-title flex" wx:if="{{currentIndex == 2}}"> | ||
19 | + <block wx:for="{{tab2}}"> | ||
20 | + <view class="subTab-titleItem {{currentIndex2 == index ? 'active':''}}" data-index="{{index}}" bindtap="clickTab2">{{item}}</view> | ||
21 | + </block> | ||
22 | + </view> | ||
23 | + <!-- 列表项 --> | ||
24 | + <scroll-view | ||
25 | + class="list {{currentIndex == 2?'active1':''}} {{currentIndex == 3?'active2':''}}" | ||
26 | + scroll-y="true" | ||
27 | + bindscrolltolower="refresh" | ||
28 | + scroll-anchoring | ||
29 | + refresher-enabled> | ||
30 | + | ||
31 | + <block wx:for="{{list}}"> | ||
32 | + | ||
33 | + <!-- 拼单和秒杀 --> | ||
34 | + <block wx:if="{{currentIndex == 0 || currentIndex == 1}}"> | ||
35 | + <view class class="list-item"> | ||
36 | + <view class="img-container"> | ||
37 | + <image src="{{url+item.original_img}}" style="width: 100%; height: 100%;" | ||
38 | + binderror="bind_bnerr2" lazy-load="true" | ||
39 | + data-errorimg="list[{{index}}].original_img"></image> | ||
40 | + | ||
41 | + </view> | ||
42 | + <view class="details"> | ||
43 | + <view class="fs28 name ellipsis-2">{{item.title}}</view> | ||
44 | + <view> | ||
45 | + <!-- 点击秒杀时显示 --> | ||
46 | + <view class="flex ai-center pdtb8" wx:if="{{currentIndex == 0}}"> | ||
47 | + <view class="progress-container"> | ||
48 | + <progress class="progress" percent="{{100*(item.goods_num-item.buy_num)/item.goods_num}}" border-radius="6" stroke-width="14" activeColor="#FE6867" backgroundColor="#ccc"></progress> | ||
49 | + <text class="percent fs20">剩余{{g_filter.toFix(100*(item.goods_num-item.buy_num)/item.goods_num,2) }}%</text> | ||
50 | + </view> | ||
51 | + <view class="fs22 gray">已抢{{item.buy_num}}件</view> | ||
52 | + </view> | ||
53 | + <!-- 点击拼单时显示 --> | ||
54 | + <view class="flex pdtb6" wx:if="{{currentIndex == 1}}"> | ||
55 | + <view class="group-num">已拼{{item.buy_num}}份</view> | ||
56 | + <view class="group-type">1人团</view> | ||
57 | + </view> | ||
58 | + <!-- 公共项 --> | ||
59 | + <view class="fs22 red">剩余: | ||
60 | + <text class='tui-conutdown-box'> {{item.djs.day}}</text>天 | ||
61 | + <text class='tui-conutdown-box'>{{item.djs.hou}}</text>时 | ||
62 | + <text class='tui-conutdown-box'>{{item.djs.min}}</text>分 | ||
63 | + <text class='tui-conutdown-box tui-countdown-bg'>{{item.djs.sec}}</text>秒 | ||
64 | + </view> | ||
65 | + </view> | ||
66 | + <view class="red flex ai-center"> | ||
67 | + <view>¥{{item.price}}</view> | ||
68 | + <view class="retail">零售价:¥{{item.market_price}}</view> | ||
69 | + </view> | ||
70 | + <view bindtap="share_good" data-index="{{index}}" class="t-r fs28"><text class="btn-share">分享</text></view> | ||
71 | + </view> | ||
72 | + </view> | ||
73 | + </block> | ||
74 | + | ||
75 | + <!-- 促销 - 订单促销 --> | ||
76 | + <block wx:if="{{currentIndex == 2}}"> | ||
77 | + <view class="subTab-container"> | ||
78 | + <view class="subTab-list"> | ||
79 | + <view class="subTab-item"> | ||
80 | + <view class="bdr-b"> | ||
81 | + <view class="flex"> | ||
82 | + <view wx:if="{{currentIndex2==1 && item.type==0}}" class="badge">折</view> | ||
83 | + <view wx:if="{{currentIndex2==1 && item.type==1}}" class="badge">减</view> | ||
84 | + <view wx:if="{{currentIndex2==1}}" class="badge">配</view> | ||
85 | + <view wx:if="{{currentIndex2==2}}" class="badge">惠</view> | ||
86 | + <view wx:if="{{currentIndex2==1}}" class="ellipsis-1">{{item.main_goods_name}}</view> | ||
87 | + <view wx:else class="ellipsis-1">{{item.name}}</view> | ||
88 | + </view> | ||
89 | + <view class="pdv10 fs28">促销时间:{{g_filter.format_time(item.start_time,1)}} 到 {{g_filter.format_time(item.end_time,1)}}</view> | ||
90 | + </view> | ||
91 | + <view class="flex-space-between" wx:if="{{currentIndex2 == 0}}"> | ||
92 | + <view class="fs28"> | ||
93 | + <view class="pdv10">需购买金额:¥{{g_filter.toFix(item.money,2)}}</view> | ||
94 | + <view wx:if="{{item.type==0}}">折扣:{{item.expression}}(%)</view> | ||
95 | + <view wx:if="{{item.type==1}}">优惠金额:{{g_filter.toFix(item.expression,2)}}</view> | ||
96 | + </view> | ||
97 | + <view bindtap="share_index" data-index="{{index}}" class="btn-container"><text class="btn-share">分享</text></view> | ||
98 | + </view> | ||
99 | + <view class="flex-equality pdt20" wx:else> | ||
100 | + <view bindtap="showPopup" data-index="{{index}}" class="btn-container" ><text class="btn-share">活动详情</text></view> | ||
101 | + <view bindtap="share_index" data-index="{{index}}" class="btn-container"><text class="btn-share w164">分享</text></view> | ||
102 | + </view> | ||
103 | + </view> | ||
104 | + </view> | ||
105 | + </view> | ||
106 | + </block> | ||
107 | + | ||
108 | + <!-- 专享礼包 --> | ||
109 | + <block wx:if="{{currentIndex == 3}}"> | ||
110 | + <view class class="list-item"> | ||
111 | + <view class="img-container"> | ||
112 | + <image src="{{url+item.lbUrl}}" style="width: 100%; height: 100%;" | ||
113 | + binderror="bind_bnerr2" lazy-load="true" | ||
114 | + data-errorimg="list[{{index}}].lbUrl"></image> | ||
115 | + </view> | ||
116 | + <view class="details"> | ||
117 | + <view class="ellipsis-2 fs28 name">{{item.giftTitle}}</view> | ||
118 | + <view class="pdt14 red"> | ||
119 | + <tex wx:if="{{item.payMoney}}">¥{{g_filter.toFix(item.payMoney,2)}}</tex> | ||
120 | + <text wx:if="{{item.payMoney && item.payIntegral}}">/</text> | ||
121 | + <text wx:if="{{item.payIntegral}}">{{item.payIntegral}}积分</text> | ||
122 | + </view> | ||
123 | + <view class="fs22 line-through gray">零售价:¥{{item.giftPosPrice}}</view> | ||
124 | + <!-- <view class="fs22">已售:<text class="red">3</text></view> --> | ||
125 | + <view bindtap="share_index" data-index="{{index}}" class="t-r fs28"><view class="btn-share">分享</view></view> | ||
126 | + </view> | ||
127 | + </view> | ||
128 | + </block> | ||
129 | + | ||
130 | + </block><!--for的闭合 --> | ||
131 | + <view style="height: 1rpx;"></view> | ||
132 | + <nodata wx:if="{{list.length==0}}" nodataContainer="nodata">暂无数据</nodata> | ||
133 | + <view wx:if="{{is_no_more}}" class="no-more t-c">- 已全部加载 -</view> | ||
134 | + </scroll-view> | ||
135 | + </view> | ||
136 | + | ||
137 | + <!-- 底部栏 --> | ||
138 | + <view class="tabbar flex" wx:if="{{currentIndex == 0 || currentIndex == 1}}" bindtap="clickTab3"> | ||
139 | + <view class="tabbar-item {{currentIndex3 == 0?'active':''}}" data-index="0"> | ||
140 | + <text class="iconfont icon-hot"></text>火热进行 | ||
141 | + </view> | ||
142 | + <view class="tabbar-item {{currentIndex3 == 1?'active':''}}" data-index="1"> | ||
143 | + <text class="iconfont icon-clock"></text>即将开始 | ||
144 | + </view> | ||
145 | + </view> | ||
146 | + | ||
147 | + <!-- 弹出层 --> | ||
148 | + <view class="popup-container" hidden="{{hiddenPopup}}"> | ||
149 | + <view class="popup"> | ||
150 | + <view class="popup-content {{currentIndex2 == 2?'active':''}}"> | ||
151 | + <view class="popup-title dash-b">活动详情</view> | ||
152 | + <!-- 搭配促销 --> | ||
153 | + <block wx:if="{{currentIndex2 == 1}}"> | ||
154 | + <view class="pdv20 dash-b fs28"> | ||
155 | + <view class="popup-title2">必买商品</view> | ||
156 | + <view class="popup-title3">商品编号:{{hui_active.goods_sn}}</view> | ||
157 | + <view class="popup-title3">{{hui_active.main_goods_name}}</view> | ||
158 | + <view class="popup-title3 red">手店价:¥{{g_filter.toFix(hui_active.ginfo.shop_price,2)}}</view> | ||
159 | + </view> | ||
160 | + <view class="pdv20"> | ||
161 | + <view class="popup-title2 fs28">搭配商品</view> | ||
162 | + <view class="fs28"> | ||
163 | + <view class="flex t-c bold pdv10"> | ||
164 | + <view class="w25">序号</view> | ||
165 | + <view class="w25">商品信息</view> | ||
166 | + <view class="w25">手店价</view> | ||
167 | + <view class="w25">搭配价</view> | ||
168 | + </view> | ||
169 | + <view class="popup-list t-c"> | ||
170 | + <block wx:for="{{list2}}"> | ||
171 | + <view class="flex ai-center pdb10"> | ||
172 | + <view class="w25">{{index+1}}</view> | ||
173 | + <view class="w25 ellipsis-2">{{item.goods_name}}</view> | ||
174 | + <view class="w25">¥{{g_filter.toFix(item.shop_price,2)}}</view> | ||
175 | + <view class="w25 red">¥{{g_filter.toFix(item.price,2)}}</view> | ||
176 | + </view> | ||
177 | + </block> | ||
178 | + | ||
179 | + </view> | ||
180 | + </view> | ||
181 | + </view> | ||
182 | + </block> | ||
183 | + | ||
184 | + <!-- 优惠促销 --> | ||
185 | + <block wx:if="{{currentIndex2 == 2}}"> | ||
186 | + <view class="pdv20 dash-b"> | ||
187 | + <view class="popup-title2 fs28">参与对象</view> | ||
188 | + <view class="flex ai-center t-c fs28 pdv20"> | ||
189 | + <view class="w50"> | ||
190 | + <radio wx:if="{{hui_active.good_object==0}}" checked="true" disabled/> | ||
191 | + <radio wx:else disabled/> | ||
192 | + 全部商品 | ||
193 | + </view> | ||
194 | + <view class="w50"> | ||
195 | + <radio wx:if="{{hui_active.good_object==1}}" checked="true" disabled/> | ||
196 | + <radio wx:else disabled/> | ||
197 | + 指定商品 | ||
198 | + </view> | ||
199 | + </view> | ||
200 | + <view class="fs28"> | ||
201 | + <view class="flex t-c bold pdv10"> | ||
202 | + <view class="w25">序号</view> | ||
203 | + <view class="w25">商品信息</view> | ||
204 | + <view class="w25">手店价</view> | ||
205 | + <view class="w25">操作</view> | ||
206 | + </view> | ||
207 | + <view class="t-c"> | ||
208 | + <block wx:for="{{list2}}"> | ||
209 | + <view class="flex ai-center pdb10"> | ||
210 | + <view class="w25">{{index+1}}</view> | ||
211 | + <view class="w25 ellipsis-2">{{item.goods_name}}</view> | ||
212 | + <view class="w25">¥{{item.shop_price}}</view> | ||
213 | + <view bindtap="share_good2" data-index="{{index}}" class="w25"><text class="btn-share">分享</text></view> | ||
214 | + </view> | ||
215 | + </block> | ||
216 | + </view> | ||
217 | + </view> | ||
218 | + </view> | ||
219 | + <view class="pdv20"> | ||
220 | + <view class="popup-title2 fs28">活动详情</view> | ||
221 | + <view class="fs28"> | ||
222 | + <block wx:for="{{prom_goods}}"> | ||
223 | + <view class="pdv10">需购买:{{item.condition}} | ||
224 | + <text wx:if="{{item.prom_type==0}}">元</text> | ||
225 | + <text wx:else>件</text> | ||
226 | + </view> | ||
227 | + <view class="pdl20"> | ||
228 | + <view class="flex pdb20"> | ||
229 | + <view class="w50" wx:if="{{item.money}}"><radio checked="true" disabled/>减现金 <text class="red">-{{item.money}}</text></view> | ||
230 | + <view class="w50" wx:if="{{item.sale}}"><radio checked="true" disabled/>打折 <text class="red">{{item.sale}}%</text></view> | ||
231 | + </view> | ||
232 | + <view class="flex pdb20"> | ||
233 | + <view class="w50"><radio wx:if="{{item.past}}" checked="true" disabled/><radio wx:else disabled/>包邮</view> | ||
234 | + <view class="w50"> | ||
235 | + <block wx:if="{{item.intValue}}"> | ||
236 | + <radio disabled/>积分 <text class="red">{{item.intValue}}</text> | ||
237 | + </block> | ||
238 | + <block wx:else> | ||
239 | + <radio disabled/>积分 | ||
240 | + </block> | ||
241 | + </view> | ||
242 | + </view> | ||
243 | + <view class="pdb20"><radio wx:if="{{item.couponId}}" checked="true" disabled/> <radio wx:else disabled/>优惠券</view> | ||
244 | + <view class="pdb20"><radio wx:if="{{item.gift_id}}" checked="true" disabled/> <radio wx:else disabled/>赠品</view> | ||
245 | + <view><radio wx:if="{{item.lb_id}}" checked="true" disabled/> <radio wx:else disabled/>礼包</view> | ||
246 | + </view> | ||
247 | + </block> | ||
248 | + | ||
249 | + </view> | ||
250 | + </view> | ||
251 | + </block> | ||
252 | + </view> | ||
253 | + <view class="popup-btn t-c"><text class="iconfont icon-close" bindtap="closePopup"></text></view> | ||
254 | + </view> | ||
255 | + </view> | ||
256 | +</view> | ||
257 | + | ||
258 | +<!--二维码显示页面--> | ||
259 | +<canvas canvas-id='share' style='width:750rpx;height:1217rpx;' wx:if='{{!canvasHidden}}'></canvas> | ||
260 | +<!-- 分享控件,底部弹出 --> | ||
261 | +<share_button id="share_button" bind:cancel="cancel" bind:share_img="saveImageToPhotosAlbum" wx:if="{{!share_hidden}}"></share_button> |
packageA/pages/activity_share/activity_share.wxss
0 → 100644
1 | +/* packageA//pages/goods_share/goods_share.wxss */ | ||
2 | +.red { | ||
3 | + color: #FE6867; | ||
4 | +} | ||
5 | +.gray { | ||
6 | + color: #7b7b7b; | ||
7 | +} | ||
8 | +.w25 { | ||
9 | + width: 25%; | ||
10 | +} | ||
11 | +.w50 { | ||
12 | + width: 50%; | ||
13 | +} | ||
14 | +.w164 { | ||
15 | + width: 164rpx; | ||
16 | +} | ||
17 | +.bold { | ||
18 | + font-weight: bold; | ||
19 | +} | ||
20 | +page { | ||
21 | + background-color: #f2f2f2; | ||
22 | + height: 100%; | ||
23 | +} | ||
24 | +.container { | ||
25 | + background-color: white; | ||
26 | + height: 100%; | ||
27 | +} | ||
28 | +.search-container { | ||
29 | + display: flex; | ||
30 | + padding: 26rpx 20rpx; | ||
31 | + border-bottom: 2rpx solid #f8f8f8; | ||
32 | +} | ||
33 | +.input-container { | ||
34 | + flex: 1; | ||
35 | + border-radius: 6rpx 0 0 6rpx; | ||
36 | + overflow: hidden; | ||
37 | +} | ||
38 | +.search { | ||
39 | + background-color: #f0f0f0; | ||
40 | + padding: 10rpx 20rpx; | ||
41 | + font-size: 28rpx; | ||
42 | +} | ||
43 | +.btn-search { | ||
44 | + background-color: #FE6867; | ||
45 | + color: white; | ||
46 | + padding: 0 30rpx; | ||
47 | + display: flex; | ||
48 | + align-items: center; | ||
49 | + border-radius: 0 6rpx 6rpx 0; | ||
50 | +} | ||
51 | +.title { | ||
52 | + display: flex; | ||
53 | + font-size: 30rpx; | ||
54 | + border-bottom: 2rpx solid #f8f8f8; | ||
55 | +} | ||
56 | +.title .iconfont { | ||
57 | + color: #ccc; | ||
58 | + font-size: 16rpx; | ||
59 | + margin-left: 8rpx; | ||
60 | +} | ||
61 | +.title-item { | ||
62 | + width: 25%; | ||
63 | + box-sizing: border-box; | ||
64 | + text-align: center; | ||
65 | + padding: 20rpx; | ||
66 | + position: relative; | ||
67 | +} | ||
68 | +.title-item.active { | ||
69 | + color: #FE6867; | ||
70 | + font-weight: bold; | ||
71 | +} | ||
72 | +.title-item.active:after { | ||
73 | + content:''; | ||
74 | + position: absolute; | ||
75 | + width: 50%; | ||
76 | + height: 4rpx; | ||
77 | + background-color: #FE6867; | ||
78 | + left: 0; | ||
79 | + right: 0; | ||
80 | + bottom: 0; | ||
81 | + margin: 0 auto; | ||
82 | +} | ||
83 | +.list-container { | ||
84 | + height: calc(100% - 118rpx); | ||
85 | +} | ||
86 | +.list { | ||
87 | + box-sizing: border-box; | ||
88 | + height: calc(100% - 82rpx); | ||
89 | + background-color: #f2f2f2; | ||
90 | + padding-bottom: 102rpx; | ||
91 | +} | ||
92 | +.list.active1 { | ||
93 | + height: calc(100% - 82rpx - 78rpx); | ||
94 | + padding-bottom: 0; | ||
95 | +} | ||
96 | +.list.active2 { | ||
97 | + padding-bottom: 0; | ||
98 | +} | ||
99 | +.list-item { | ||
100 | + display: flex; | ||
101 | + padding: 20rpx; | ||
102 | + border-bottom: 2rpx solid #f8f8f8; | ||
103 | + background-color: white; | ||
104 | +} | ||
105 | +.img-container { | ||
106 | + background-color: #f0f0f0; | ||
107 | + width: 280rpx; | ||
108 | + height: 248rpx; | ||
109 | + display: flex; | ||
110 | + align-items: center; | ||
111 | + justify-content: center; | ||
112 | +} | ||
113 | +.img-container:after { | ||
114 | + | ||
115 | +} | ||
116 | +.details { | ||
117 | + flex: 1; | ||
118 | + padding-left: 20rpx; | ||
119 | +} | ||
120 | +.btn-share { | ||
121 | + box-sizing: border-box; | ||
122 | + display: inline-block; | ||
123 | + background-color: #FE6867; | ||
124 | + color: white; | ||
125 | + padding: 8rpx 30rpx; | ||
126 | + border-radius: 6rpx; | ||
127 | + text-align: center; | ||
128 | +} | ||
129 | +.pdt14 { | ||
130 | + padding-top: 14rpx; | ||
131 | +} | ||
132 | +.pdtb6 { | ||
133 | + padding-top: 6rpx; | ||
134 | + padding-bottom: 6rpx; | ||
135 | +} | ||
136 | +.pdtb8 { | ||
137 | + padding-top: 8rpx; | ||
138 | + padding-bottom: 8rpx; | ||
139 | +} | ||
140 | +.pdl20 { | ||
141 | + padding-left: 104rpx; | ||
142 | +} | ||
143 | + | ||
144 | + | ||
145 | +.no-more { | ||
146 | + line-height: 3; | ||
147 | + color: #ccc; | ||
148 | + /* background-color: #f2f2f2; */ | ||
149 | +} | ||
150 | +.nodata { | ||
151 | + text-align: center; | ||
152 | + background-color: #f2f2f2; | ||
153 | +} | ||
154 | +.progress-container { | ||
155 | + width: 55%; | ||
156 | + padding-right: 10rpx; | ||
157 | + position: relative; | ||
158 | + text-align: center; | ||
159 | +} | ||
160 | +.retail { | ||
161 | + color: #7b7b7b; | ||
162 | + text-decoration: line-through; | ||
163 | + font-size: 22rpx; | ||
164 | + padding-left: 20rpx; | ||
165 | +} | ||
166 | +.name { | ||
167 | + height: 76rpx; | ||
168 | + overflow: hidden; | ||
169 | +} | ||
170 | + | ||
171 | +.percent { | ||
172 | + position: absolute; | ||
173 | + top: 0; | ||
174 | + bottom: 0; | ||
175 | + left: 0; | ||
176 | + right: 0; | ||
177 | + margin: auto; | ||
178 | + color: white; | ||
179 | +} | ||
180 | +.tabbar { | ||
181 | + position: fixed; | ||
182 | + width: 100%; | ||
183 | + bottom: 0; | ||
184 | + background-color: white; | ||
185 | +} | ||
186 | +.tabbar:after { | ||
187 | + position: absolute; | ||
188 | + content: ''; | ||
189 | + width: 2rpx; | ||
190 | + height: 50%; | ||
191 | + top: 0; | ||
192 | + bottom: 0; | ||
193 | + left: 0; | ||
194 | + right: 0; | ||
195 | + margin: auto; | ||
196 | + background-color: #f0f0f0; | ||
197 | +} | ||
198 | +.tabbar-item { | ||
199 | + width: 50%; | ||
200 | + text-align: center; | ||
201 | + padding-top: 30rpx; | ||
202 | + padding-bottom: 30rpx; | ||
203 | +} | ||
204 | +.tabbar-item .iconfont { | ||
205 | + margin-right: 10rpx; | ||
206 | +} | ||
207 | +.tabbar-item.active { | ||
208 | + color: #FE6867; | ||
209 | +} | ||
210 | + | ||
211 | + | ||
212 | +.group-type, | ||
213 | +.group-num { | ||
214 | + position: relative; | ||
215 | + font-size: 22rpx; | ||
216 | +} | ||
217 | +.group-type:before, | ||
218 | +.group-num:before { | ||
219 | + font-family: iconfont; | ||
220 | +} | ||
221 | +.group-type:before { | ||
222 | + content: '\e66a'; | ||
223 | + color: white; | ||
224 | + background-color: #FE6867; | ||
225 | + position: absolute; | ||
226 | + left: 0; | ||
227 | + top: 0; | ||
228 | + bottom: 0; | ||
229 | + padding-left: 6rpx; | ||
230 | + padding-right: 10rpx; | ||
231 | + line-height: 30rpx; | ||
232 | +} | ||
233 | +.group-num:before { | ||
234 | + padding-right: 6rpx; | ||
235 | +} | ||
236 | +.group-num:before { | ||
237 | + content: '\e694'; | ||
238 | + position: relative; | ||
239 | +} | ||
240 | +.group-num { | ||
241 | + color: white; | ||
242 | + background-color: #FE6867; | ||
243 | + border-radius: 34rpx; | ||
244 | + padding-left: 10rpx; | ||
245 | + padding-right: 10rpx; | ||
246 | + margin-right: 14rpx; | ||
247 | +} | ||
248 | +.group-type { | ||
249 | + color: #FE6867; | ||
250 | + border: 2rpx solid #FE6867; | ||
251 | + padding-left: 42rpx; | ||
252 | + padding-right: 4rpx; | ||
253 | + border-radius: 6rpx; | ||
254 | +} | ||
255 | + | ||
256 | +.badge { | ||
257 | + color: white; | ||
258 | + padding: 0 20rpx; | ||
259 | + border-radius: 6rpx; | ||
260 | + background-color: #FE6867; | ||
261 | + margin-right: 10rpx; | ||
262 | +} | ||
263 | + | ||
264 | +.subTab-title { | ||
265 | + text-align: center; | ||
266 | + justify-content: center; | ||
267 | + align-items: center; | ||
268 | + font-size: 28rpx; | ||
269 | +} | ||
270 | +.subTab-list { | ||
271 | + padding: 20rpx; | ||
272 | +} | ||
273 | +.subTab-titleItem { | ||
274 | + box-sizing: border-box; | ||
275 | + width: calc(100% / 3); | ||
276 | + padding: 20rpx 40rpx; | ||
277 | + background-color: white; | ||
278 | + border-right: 2rpx solid #f8f8f8; | ||
279 | +} | ||
280 | +.subTab-titleItem:last-child { | ||
281 | + border-right: none; | ||
282 | +} | ||
283 | +.subTab-titleItem.active { | ||
284 | + background-color: #FE6867; | ||
285 | + color: white; | ||
286 | +} | ||
287 | +.subTab-item { | ||
288 | + padding: 20rpx; | ||
289 | + border-bottom: 2rpx solid #f8f8f8; | ||
290 | + background-color: white; | ||
291 | + border-radius: 8rpx; | ||
292 | + box-shadow: 0 8px 12px #e7e9eb; | ||
293 | +} | ||
294 | +.subTab-item ~ .subTab-item { | ||
295 | + margin-top: 20rpx; | ||
296 | +} | ||
297 | +.pdv10 { | ||
298 | + padding-top: 10rpx; | ||
299 | + padding-bottom: 10rpx; | ||
300 | +} | ||
301 | +.pdv20 { | ||
302 | + padding-top: 20rpx; | ||
303 | + padding-bottom: 20rpx; | ||
304 | +} | ||
305 | +.pdb10 { | ||
306 | + padding-bottom: 10rpx; | ||
307 | +} | ||
308 | +.pdb20 { | ||
309 | + padding-bottom: 20rpx; | ||
310 | +} | ||
311 | +.bdr-b { | ||
312 | + border-bottom: 2rpx solid #f8f8f8; | ||
313 | +} | ||
314 | +.dash-b { | ||
315 | + border-bottom: 2rpx dashed #ddd; | ||
316 | +} | ||
317 | +.btn-container { | ||
318 | + display: flex; | ||
319 | + align-items: flex-end; | ||
320 | + font-size: 26rpx; | ||
321 | +} | ||
322 | + | ||
323 | + | ||
324 | +.popup-container { | ||
325 | + content:''; | ||
326 | + position: fixed; | ||
327 | + top: 0; | ||
328 | + bottom: 0; | ||
329 | + left: 0; | ||
330 | + right: 0; | ||
331 | + z-index: 3; | ||
332 | + background-color: rgba(0,0,0,.6); | ||
333 | + display: flex; | ||
334 | + align-items: center; | ||
335 | + justify-content: center; | ||
336 | +} | ||
337 | +.popup { | ||
338 | + width: 90%; | ||
339 | +} | ||
340 | +.popup-content { | ||
341 | + box-sizing: border-box; | ||
342 | + width: 100%; | ||
343 | + background-color: white; | ||
344 | + padding: 0 20rpx; | ||
345 | + border-radius: 10rpx; | ||
346 | + max-height: 1038rpx; | ||
347 | +} | ||
348 | +.icon-close { | ||
349 | + font-size: 60rpx; | ||
350 | + color: white; | ||
351 | +} | ||
352 | +.popup-btn { | ||
353 | + padding-top: 30rpx; | ||
354 | +} | ||
355 | + | ||
356 | +.popup-title { | ||
357 | + /* font-size: 28rpx; */ | ||
358 | + font-weight: bold; | ||
359 | + padding: 20rpx 0; | ||
360 | +} | ||
361 | +.popup-title2 { | ||
362 | + /* padding: 10rpx 0; */ | ||
363 | + padding-bottom: 8rpx; | ||
364 | +} | ||
365 | +.popup-title3 { | ||
366 | + padding-left: 34rpx; | ||
367 | + font-size: 30rpx; | ||
368 | +} | ||
369 | +.popup-list { | ||
370 | + max-height: 602rpx; | ||
371 | + overflow-y: auto; | ||
372 | +} | ||
373 | + | ||
374 | + | ||
375 | +radio .wx-radio-input { | ||
376 | + width: 28rpx; | ||
377 | + height: 28rpx; | ||
378 | +} | ||
379 | + | ||
380 | + | ||
381 | +radio .wx-radio-input.wx-radio-input-checked { | ||
382 | + background-color: #FE6867; | ||
383 | + border-color: #FE6867; | ||
384 | +} | ||
385 | +radio .wx-radio-input.wx-radio-input-checked::before{ | ||
386 | + color: white; | ||
387 | +} | ||
388 | + | ||
389 | +.popup-content.active { | ||
390 | + max-height: 982rpx; | ||
391 | + overflow: auto; | ||
392 | +} | ||
393 | + | ||
394 | + |
packageA/pages/activity_share/g_filter.wxs
0 → 100644
1 | +var g_filters = { | ||
2 | + //-- 判断是不是有等级价 -- | ||
3 | + is_has_rank:function(rank_switch,item){ | ||
4 | + if(!rank_switch) return false; | ||
5 | + if(item.cardprice1 || item.cardprice2 || item.cardprice3) {return true} | ||
6 | + return false; | ||
7 | + }, | ||
8 | + | ||
9 | + //-- 判断,不是等级会员时候,要显示的最低等级价和名称 -- | ||
10 | + get_card_price:function(goods,all_card,type){ | ||
11 | + var price1=parseFloat(goods['cardprice1']); | ||
12 | + var price2=parseFloat(goods['cardprice2']); | ||
13 | + var price3=parseFloat(goods['cardprice3']); | ||
14 | + if(!all_card){ | ||
15 | + if(type==0) return 0; | ||
16 | + return ""; | ||
17 | + } | ||
18 | + | ||
19 | + var arr=[]; | ||
20 | + var min_price= 0; | ||
21 | + var min_name=""; | ||
22 | + | ||
23 | + var min_price=null; | ||
24 | + var min_name=null; | ||
25 | + //---设置对应的价格名字---- | ||
26 | + for(var i=0;i<3;i++) { | ||
27 | + var vl=all_card[i]; | ||
28 | + if(!vl) continue; | ||
29 | + if(vl['CorrPrice']=="Price1" && price1>0) | ||
30 | + { | ||
31 | + if(min_price==null) { | ||
32 | + min_price=price1;min_name=vl['CardName']; | ||
33 | + } | ||
34 | + else if(price1<min_price) { | ||
35 | + min_price=price1;min_name=vl['CardName']; | ||
36 | + } | ||
37 | + } | ||
38 | + if(vl['CorrPrice']=="Price2" && price2>0) | ||
39 | + { | ||
40 | + if(min_price==null) { | ||
41 | + min_price=price2;min_name=vl['CardName']; | ||
42 | + } | ||
43 | + else if(price2<min_price) { | ||
44 | + min_price=price2;min_name=vl['CardName']; | ||
45 | + } | ||
46 | + } | ||
47 | + | ||
48 | + if(vl['CorrPrice']=="Price3" && price3>0) | ||
49 | + { | ||
50 | + if(min_price==null) { | ||
51 | + min_price=price3;min_name=vl['CardName']; | ||
52 | + } | ||
53 | + else if(price3<min_price) { | ||
54 | + min_price=price3;min_name=vl['CardName']; | ||
55 | + } | ||
56 | + } | ||
57 | + | ||
58 | + } | ||
59 | + if(min_price==null){ | ||
60 | + if(type==0) return 0; | ||
61 | + return ""; | ||
62 | + } | ||
63 | + | ||
64 | + //if(type==0) return arr.length; | ||
65 | + //--进行排序,升序--- | ||
66 | + /*--- | ||
67 | + arr.sort(function(a,b){ | ||
68 | + if (a.price < b.price) { | ||
69 | + return -1; | ||
70 | + } else if (a.fee == b.fee) { | ||
71 | + return 0; | ||
72 | + } else { | ||
73 | + return 1; | ||
74 | + } | ||
75 | + })--*/ | ||
76 | + //-- 获取最下价钱,和相应的卡的名称 -- | ||
77 | + if(type==0) return min_price.toFixed(2); | ||
78 | + if(min_name.length>4) min_name=min_name.substring(0, 8); | ||
79 | + return min_name; | ||
80 | + }, | ||
81 | + | ||
82 | + toFix: function (val, count) { | ||
83 | + val = parseFloat(val); | ||
84 | + return val.toFixed(count) | ||
85 | + }, | ||
86 | + format_time: function (ts, isFull) { | ||
87 | + // 如果数值位数为1,则补0 | ||
88 | + function appendZero(obj) { | ||
89 | + if (obj < 10) { | ||
90 | + return "0" + "" + obj; | ||
91 | + } else { | ||
92 | + return obj; | ||
93 | + } | ||
94 | + }; | ||
95 | + | ||
96 | + if (ts == null || ts == undefined || ts == '') return ""; | ||
97 | + var d = getDate(ts * 1000) | ||
98 | + var fm = [d.getFullYear(), d.getMonth() + 1, d.getDate()].join('-'); | ||
99 | + var md = (d.getMonth() + 1) + '月' + d.getDate() + '日'; | ||
100 | + if (isFull == 1) | ||
101 | + fm = fm + ' ' + [d.getHours(), d.getMinutes(), d.getSeconds()].join(':'); | ||
102 | + if (isFull == 2) { | ||
103 | + fm = md + ' ' + [appendZero(d.getHours()), appendZero(d.getMinutes())].join(':'); | ||
104 | + } | ||
105 | + return fm; | ||
106 | + }, | ||
107 | + | ||
108 | +} | ||
109 | +module.exports = { | ||
110 | + is_has_rank:g_filters.is_has_rank, | ||
111 | + get_card_price:g_filters.get_card_price, | ||
112 | + toFix:g_filters.toFix, | ||
113 | + format_time:g_filters.format_time, | ||
114 | +} | ||
0 | \ No newline at end of file | 115 | \ No newline at end of file |
packageA/pages/addCustomer/addCustomer.js
0 → 100644
1 | +// packageA//pages/quan/quan.js | ||
2 | +Page({ | ||
3 | + | ||
4 | + /** | ||
5 | + * 页面的初始数据 | ||
6 | + */ | ||
7 | + data: { | ||
8 | + | ||
9 | + }, | ||
10 | + | ||
11 | + /** | ||
12 | + * 生命周期函数--监听页面加载 | ||
13 | + */ | ||
14 | + onLoad: function (options) { | ||
15 | + | ||
16 | + }, | ||
17 | + | ||
18 | + /** | ||
19 | + * 生命周期函数--监听页面初次渲染完成 | ||
20 | + */ | ||
21 | + onReady: function () { | ||
22 | + | ||
23 | + }, | ||
24 | + | ||
25 | + /** | ||
26 | + * 生命周期函数--监听页面显示 | ||
27 | + */ | ||
28 | + onShow: function () { | ||
29 | + | ||
30 | + }, | ||
31 | + | ||
32 | + /** | ||
33 | + * 生命周期函数--监听页面隐藏 | ||
34 | + */ | ||
35 | + onHide: function () { | ||
36 | + | ||
37 | + }, | ||
38 | + | ||
39 | + /** | ||
40 | + * 生命周期函数--监听页面卸载 | ||
41 | + */ | ||
42 | + onUnload: function () { | ||
43 | + | ||
44 | + }, | ||
45 | + | ||
46 | + /** | ||
47 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
48 | + */ | ||
49 | + onPullDownRefresh: function () { | ||
50 | + | ||
51 | + }, | ||
52 | + | ||
53 | + /** | ||
54 | + * 页面上拉触底事件的处理函数 | ||
55 | + */ | ||
56 | + onReachBottom: function () { | ||
57 | + | ||
58 | + }, | ||
59 | + | ||
60 | + /** | ||
61 | + * 用户点击右上角分享 | ||
62 | + */ | ||
63 | + onShareAppMessage: function () { | ||
64 | + | ||
65 | + } | ||
66 | +}) | ||
0 | \ No newline at end of file | 67 | \ No newline at end of file |
packageA/pages/addCustomer/addCustomer.json
0 → 100644
packageA/pages/addCustomer/addCustomer.wxml
0 → 100644
1 | +<view class="container"> | ||
2 | + <view class="panel t-c"> | ||
3 | + <view class="avatar"></view> | ||
4 | + <view class="nickname">微信昵称</view> | ||
5 | + <view class="gray">hello,我是您的专属顾问</view> | ||
6 | + <view class="gray">扫描下方二维码,加我微信吧~</view> | ||
7 | + <view class="qrcode"></view> | ||
8 | + </view> | ||
9 | + <view class="flex bottom t-c gray pdv10"> | ||
10 | + <view class="w50"> | ||
11 | + <image src="../../images/wx.png" class="wx"></image> | ||
12 | + <view class="fs26">发给客户</view> | ||
13 | + </view> | ||
14 | + <view class="w50 save"> | ||
15 | + <text class="iconfont icon-save"></text> | ||
16 | + <view class="fs26 mgt12">保存图片</view> | ||
17 | + </view> | ||
18 | + </view> | ||
19 | +</view> | ||
0 | \ No newline at end of file | 20 | \ No newline at end of file |
packageA/pages/addCustomer/addCustomer.wxss
0 → 100644
1 | +/* packageA//pages/goods_share/goods_share.wxss */ | ||
2 | +.red { | ||
3 | + color: #FE6867; | ||
4 | +} | ||
5 | +.gray { | ||
6 | + color: #7b7b7b; | ||
7 | +} | ||
8 | +.w25 { | ||
9 | + width: 25%; | ||
10 | +} | ||
11 | +.w50 { | ||
12 | + width: 50%; | ||
13 | +} | ||
14 | +.w164 { | ||
15 | + width: 164rpx; | ||
16 | +} | ||
17 | +.bold { | ||
18 | + font-weight: bold; | ||
19 | +} | ||
20 | +.mgt12 { | ||
21 | + margin-top: 12rpx; | ||
22 | +} | ||
23 | +page, | ||
24 | +.container { | ||
25 | + /* background-color: #f2f2f2; */ | ||
26 | + height: 100%; | ||
27 | + background-color: pink; | ||
28 | +} | ||
29 | +.container { | ||
30 | + /* background-color: white; */ | ||
31 | + /* position: fixed; | ||
32 | + width: 100%; | ||
33 | + bottom: 0; */ | ||
34 | + box-sizing: border-box; | ||
35 | + padding: 160rpx 40rpx 0; | ||
36 | + background-image: linear-gradient(to top, #4481eb 0%, #04befe 100%); | ||
37 | + /* padding-bottom: 128rpx; */ | ||
38 | +} | ||
39 | +.search-container { | ||
40 | + display: flex; | ||
41 | + padding: 26rpx 20rpx; | ||
42 | + border-bottom: 2rpx solid #f8f8f8; | ||
43 | +} | ||
44 | +.input-container { | ||
45 | + flex: 1; | ||
46 | + border-radius: 6rpx 0 0 6rpx; | ||
47 | + overflow: hidden; | ||
48 | +} | ||
49 | +.search { | ||
50 | + background-color: #f0f0f0; | ||
51 | + padding: 10rpx 20rpx; | ||
52 | + font-size: 28rpx; | ||
53 | +} | ||
54 | +.btn-search { | ||
55 | + background-color: #FE6867; | ||
56 | + color: white; | ||
57 | + padding: 0 30rpx; | ||
58 | + display: flex; | ||
59 | + align-items: center; | ||
60 | + border-radius: 0 6rpx 6rpx 0; | ||
61 | +} | ||
62 | +.title { | ||
63 | + display: flex; | ||
64 | + font-size: 30rpx; | ||
65 | + border-bottom: 2rpx solid #f8f8f8; | ||
66 | +} | ||
67 | +.title .iconfont { | ||
68 | + color: #ccc; | ||
69 | + font-size: 16rpx; | ||
70 | + margin-left: 8rpx; | ||
71 | +} | ||
72 | +.title-item { | ||
73 | + width: 25%; | ||
74 | + box-sizing: border-box; | ||
75 | + text-align: center; | ||
76 | + padding: 20rpx; | ||
77 | + position: relative; | ||
78 | +} | ||
79 | +.title-item.active { | ||
80 | + color: #FE6867; | ||
81 | + font-weight: bold; | ||
82 | +} | ||
83 | +.title-item.active:after { | ||
84 | + content:''; | ||
85 | + position: absolute; | ||
86 | + width: 50%; | ||
87 | + height: 4rpx; | ||
88 | + background-color: #FE6867; | ||
89 | + left: 0; | ||
90 | + right: 0; | ||
91 | + bottom: 0; | ||
92 | + margin: 0 auto; | ||
93 | +} | ||
94 | +.list-container { | ||
95 | + height: calc(100% - 118rpx); | ||
96 | +} | ||
97 | +.list { | ||
98 | + box-sizing: border-box; | ||
99 | + height: calc(100% - 82rpx); | ||
100 | + background-color: #f2f2f2; | ||
101 | + /* padding-bottom: 102rpx; */ | ||
102 | +} | ||
103 | +.list.active1 { | ||
104 | + height: calc(100% - 82rpx - 78rpx); | ||
105 | + padding-bottom: 0; | ||
106 | +} | ||
107 | +.list.active2 { | ||
108 | + padding-bottom: 0; | ||
109 | +} | ||
110 | +.list-item { | ||
111 | + display: flex; | ||
112 | + padding: 20rpx; | ||
113 | + border-bottom: 2rpx solid #f8f8f8; | ||
114 | + background-color: white; | ||
115 | +} | ||
116 | +.img-container { | ||
117 | + background-color: #f0f0f0; | ||
118 | + width: 280rpx; | ||
119 | + height: 248rpx; | ||
120 | + display: flex; | ||
121 | + align-items: center; | ||
122 | + justify-content: center; | ||
123 | + position: relative; | ||
124 | +} | ||
125 | +.img-container:after { | ||
126 | + font-family: iconfont; | ||
127 | + content: '\e8c1'; | ||
128 | + color: #bbb; | ||
129 | + font-size: 80rpx; | ||
130 | +} | ||
131 | + | ||
132 | + | ||
133 | +.img-container.live:before { | ||
134 | + content: '\e664'; | ||
135 | +} | ||
136 | +.img-container.coming:before { | ||
137 | + content: '\e608'; | ||
138 | +} | ||
139 | +.img-container.playback:before { | ||
140 | + content: '\e603'; | ||
141 | +} | ||
142 | +.img-container.live:before, | ||
143 | +.img-container.coming:before, | ||
144 | +.img-container.playback:before { | ||
145 | + font-family: iconfont; | ||
146 | + background-color: #FE6867; | ||
147 | + color: white; | ||
148 | + width: 50rpx; | ||
149 | + height: 50rpx; | ||
150 | + line-height: 50rpx; | ||
151 | + text-align: center; | ||
152 | + border-radius: 50%; | ||
153 | + position: absolute; | ||
154 | + left: 10rpx; | ||
155 | + top: 10rpx; | ||
156 | +} | ||
157 | +.details { | ||
158 | + flex: 1; | ||
159 | + padding-left: 20rpx; | ||
160 | +} | ||
161 | +.btn-share { | ||
162 | + box-sizing: border-box; | ||
163 | + display: inline-block; | ||
164 | + background-color: #FE6867; | ||
165 | + color: white; | ||
166 | + padding: 8rpx 30rpx; | ||
167 | + border-radius: 6rpx; | ||
168 | + text-align: center; | ||
169 | +} | ||
170 | +.pdt10 { | ||
171 | + padding-top: 10rpx; | ||
172 | +} | ||
173 | +.pdt14 { | ||
174 | + padding-top: 14rpx; | ||
175 | +} | ||
176 | +.pdtb6 { | ||
177 | + padding-top: 6rpx; | ||
178 | + padding-bottom: 6rpx; | ||
179 | +} | ||
180 | +.pdtb8 { | ||
181 | + padding-top: 8rpx; | ||
182 | + padding-bottom: 8rpx; | ||
183 | +} | ||
184 | +.pdl20 { | ||
185 | + padding-left: 104rpx; | ||
186 | +} | ||
187 | + | ||
188 | + | ||
189 | +.no-more { | ||
190 | + line-height: 3; | ||
191 | + color: #ccc; | ||
192 | + /* background-color: #f2f2f2; */ | ||
193 | +} | ||
194 | +.nodata { | ||
195 | + text-align: center; | ||
196 | + background-color: #f2f2f2; | ||
197 | +} | ||
198 | +.progress-container { | ||
199 | + width: 55%; | ||
200 | + padding-right: 10rpx; | ||
201 | + position: relative; | ||
202 | + text-align: center; | ||
203 | +} | ||
204 | +.retail { | ||
205 | + color: #7b7b7b; | ||
206 | + text-decoration: line-through; | ||
207 | + font-size: 22rpx; | ||
208 | + padding-left: 20rpx; | ||
209 | +} | ||
210 | +.name { | ||
211 | + height: 76rpx; | ||
212 | + overflow: hidden; | ||
213 | +} | ||
214 | + | ||
215 | +.percent { | ||
216 | + position: absolute; | ||
217 | + top: 0; | ||
218 | + bottom: 0; | ||
219 | + left: 0; | ||
220 | + right: 0; | ||
221 | + margin: auto; | ||
222 | + color: white; | ||
223 | +} | ||
224 | +.tabbar { | ||
225 | + position: fixed; | ||
226 | + width: 100%; | ||
227 | + bottom: 0; | ||
228 | + background-color: white; | ||
229 | +} | ||
230 | +.tabbar:after { | ||
231 | + position: absolute; | ||
232 | + content: ''; | ||
233 | + width: 2rpx; | ||
234 | + height: 50%; | ||
235 | + top: 0; | ||
236 | + bottom: 0; | ||
237 | + left: 0; | ||
238 | + right: 0; | ||
239 | + margin: auto; | ||
240 | + background-color: #f0f0f0; | ||
241 | +} | ||
242 | +.tabbar-item { | ||
243 | + width: 50%; | ||
244 | + text-align: center; | ||
245 | + padding-top: 30rpx; | ||
246 | + padding-bottom: 30rpx; | ||
247 | +} | ||
248 | +.tabbar-item .iconfont { | ||
249 | + margin-right: 10rpx; | ||
250 | +} | ||
251 | +.tabbar-item.active { | ||
252 | + color: #FE6867; | ||
253 | +} | ||
254 | + | ||
255 | + | ||
256 | +.group-type, | ||
257 | +.group-num { | ||
258 | + position: relative; | ||
259 | + font-size: 22rpx; | ||
260 | +} | ||
261 | +.group-type:before, | ||
262 | +.group-num:before { | ||
263 | + font-family: iconfont; | ||
264 | +} | ||
265 | +.group-type:before { | ||
266 | + content: '\e66a'; | ||
267 | + color: white; | ||
268 | + background-color: #FE6867; | ||
269 | + position: absolute; | ||
270 | + left: 0; | ||
271 | + top: 0; | ||
272 | + bottom: 0; | ||
273 | + padding-left: 6rpx; | ||
274 | + padding-right: 10rpx; | ||
275 | + line-height: 30rpx; | ||
276 | +} | ||
277 | +.group-num:before { | ||
278 | + padding-right: 6rpx; | ||
279 | +} | ||
280 | +.group-num:before { | ||
281 | + content: '\e694'; | ||
282 | + position: relative; | ||
283 | +} | ||
284 | +.group-num { | ||
285 | + color: white; | ||
286 | + background-color: #FE6867; | ||
287 | + border-radius: 34rpx; | ||
288 | + padding-left: 10rpx; | ||
289 | + padding-right: 10rpx; | ||
290 | + margin-right: 14rpx; | ||
291 | +} | ||
292 | +.group-type { | ||
293 | + color: #FE6867; | ||
294 | + border: 2rpx solid #FE6867; | ||
295 | + padding-left: 42rpx; | ||
296 | + padding-right: 4rpx; | ||
297 | + border-radius: 6rpx; | ||
298 | +} | ||
299 | + | ||
300 | +.badge { | ||
301 | + color: white; | ||
302 | + padding: 0 20rpx; | ||
303 | + border-radius: 6rpx; | ||
304 | + background-color: #FE6867; | ||
305 | + margin-right: 10rpx; | ||
306 | +} | ||
307 | + | ||
308 | +.subTab-title { | ||
309 | + text-align: center; | ||
310 | + justify-content: center; | ||
311 | + align-items: center; | ||
312 | + font-size: 28rpx; | ||
313 | +} | ||
314 | +.subTab-list { | ||
315 | + padding: 20rpx; | ||
316 | +} | ||
317 | +.subTab-titleItem { | ||
318 | + box-sizing: border-box; | ||
319 | + width: calc(100% / 3); | ||
320 | + padding: 20rpx 40rpx; | ||
321 | + background-color: white; | ||
322 | + border-right: 2rpx solid #f8f8f8; | ||
323 | +} | ||
324 | +.subTab-titleItem:last-child { | ||
325 | + border-right: none; | ||
326 | +} | ||
327 | +.subTab-titleItem.active { | ||
328 | + background-color: #FE6867; | ||
329 | + color: white; | ||
330 | +} | ||
331 | +.subTab-item { | ||
332 | + padding: 20rpx; | ||
333 | + border-bottom: 2rpx solid #f8f8f8; | ||
334 | + background-color: white; | ||
335 | + border-radius: 8rpx; | ||
336 | + box-shadow: 0 8px 12px #e7e9eb; | ||
337 | +} | ||
338 | +.subTab-item ~ .subTab-item { | ||
339 | + margin-top: 20rpx; | ||
340 | +} | ||
341 | +.pdv10 { | ||
342 | + padding-top: 10rpx; | ||
343 | + padding-bottom: 10rpx; | ||
344 | +} | ||
345 | +.pdv20 { | ||
346 | + padding-top: 20rpx; | ||
347 | + padding-bottom: 20rpx; | ||
348 | +} | ||
349 | +.pdb10 { | ||
350 | + padding-bottom: 10rpx; | ||
351 | +} | ||
352 | +.pdb20 { | ||
353 | + padding-bottom: 20rpx; | ||
354 | +} | ||
355 | +.bdr-b { | ||
356 | + border-bottom: 2rpx solid #f8f8f8; | ||
357 | +} | ||
358 | +.dash-b { | ||
359 | + border-bottom: 2rpx dashed #ddd; | ||
360 | +} | ||
361 | +.btn-container { | ||
362 | + display: flex; | ||
363 | + align-items: flex-end; | ||
364 | + font-size: 26rpx; | ||
365 | +} | ||
366 | + | ||
367 | + | ||
368 | +/* .popup-container { | ||
369 | + content:''; | ||
370 | + position: fixed; | ||
371 | + top: 0; | ||
372 | + bottom: 0; | ||
373 | + left: 0; | ||
374 | + right: 0; | ||
375 | + z-index: 3; | ||
376 | + background-color: rgba(0,0,0,.6); | ||
377 | + display: flex; | ||
378 | + align-items: center; | ||
379 | + justify-content: center; | ||
380 | +} | ||
381 | +.popup { | ||
382 | + width: 90%; | ||
383 | +} | ||
384 | +.popup-content { | ||
385 | + box-sizing: border-box; | ||
386 | + width: 100%; | ||
387 | + background-color: white; | ||
388 | + padding: 0 20rpx; | ||
389 | + border-radius: 10rpx; | ||
390 | + max-height: 1038rpx; | ||
391 | +} | ||
392 | +.icon-close { | ||
393 | + font-size: 60rpx; | ||
394 | + color: white; | ||
395 | +} | ||
396 | +.popup-btn { | ||
397 | + padding-top: 30rpx; | ||
398 | +} | ||
399 | + | ||
400 | +.popup-title { | ||
401 | + /* font-size: 28rpx; */ | ||
402 | + /* font-weight: bold; | ||
403 | + padding: 20rpx 0; | ||
404 | +} | ||
405 | +.popup-title2 { */ | ||
406 | + /* padding: 10rpx 0; */ | ||
407 | + /* padding-bottom: 8rpx; | ||
408 | +} | ||
409 | +.popup-title3 { | ||
410 | + padding-left: 34rpx; | ||
411 | + font-size: 30rpx; | ||
412 | +} | ||
413 | +.popup-list { | ||
414 | + max-height: 602rpx; | ||
415 | + overflow-y: auto; | ||
416 | +} | ||
417 | + | ||
418 | + | ||
419 | +radio .wx-radio-input { | ||
420 | + width: 28rpx; | ||
421 | + height: 28rpx; | ||
422 | +} | ||
423 | + | ||
424 | + | ||
425 | +radio .wx-radio-input.wx-radio-input-checked { | ||
426 | + background-color: #FE6867; | ||
427 | + border-color: #FE6867; | ||
428 | +} | ||
429 | +radio .wx-radio-input.wx-radio-input-checked::before{ | ||
430 | + color: white; | ||
431 | +} | ||
432 | + | ||
433 | +.popup-content.active { | ||
434 | + max-height: 982rpx; | ||
435 | + overflow: auto; | ||
436 | +} */ | ||
437 | + | ||
438 | +.panel { | ||
439 | + box-sizing: border-box; | ||
440 | + background-color: white; | ||
441 | + height: 100%; | ||
442 | + border-radius: 16rpx; | ||
443 | + position: relative; | ||
444 | + padding-top: 140rpx; | ||
445 | + box-shadow: 0 8px 12px #ccc; | ||
446 | +} | ||
447 | +.avatar { | ||
448 | + width: 220rpx; | ||
449 | + height: 220rpx; | ||
450 | + border-radius: 50%; | ||
451 | + background-color: skyblue; | ||
452 | + position: absolute; | ||
453 | + top: -100rpx; | ||
454 | + left: 0; | ||
455 | + right: 0; | ||
456 | + margin: 0 auto; | ||
457 | +} | ||
458 | +.nickname { | ||
459 | + padding-bottom: 60rpx; | ||
460 | +} | ||
461 | +.bottom { | ||
462 | + background-color: white; | ||
463 | + border-top: 2rpx solid #f0f0f0; | ||
464 | + /* box-shadow: 0 -6px 8px #e7e9eb; */ | ||
465 | + width: 100%; | ||
466 | + position: fixed; | ||
467 | + left: 0; | ||
468 | + bottom: 0; | ||
469 | +} | ||
470 | +.wx { | ||
471 | + width: 60rpx; | ||
472 | + height: 60rpx; | ||
473 | +} | ||
474 | +.save { | ||
475 | + box-sizing: border-box; | ||
476 | + padding-top: 6rpx; | ||
477 | +} | ||
478 | +.icon-save { | ||
479 | + font-size: 50rpx; | ||
480 | +} | ||
481 | +.qrcode { | ||
482 | + width: 480rpx; | ||
483 | + height: 480rpx; | ||
484 | + background-color: red; | ||
485 | + margin: 60rpx auto 0; | ||
486 | +} | ||
487 | + | ||
488 | + |
packageA/pages/goods_share/g_filter.wxs
0 → 100644
1 | +var g_filters = { | ||
2 | + //-- 判断是不是有等级价 -- | ||
3 | + is_has_rank:function(rank_switch,item){ | ||
4 | + if(!rank_switch) return false; | ||
5 | + if(item.cardprice1 || item.cardprice2 || item.cardprice3) {return true} | ||
6 | + return false; | ||
7 | + }, | ||
8 | + | ||
9 | + //-- 判断,不是等级会员时候,要显示的最低等级价和名称 -- | ||
10 | + get_card_price:function(goods,all_card,type){ | ||
11 | + var price1=parseFloat(goods['cardprice1']); | ||
12 | + var price2=parseFloat(goods['cardprice2']); | ||
13 | + var price3=parseFloat(goods['cardprice3']); | ||
14 | + if(!all_card){ | ||
15 | + if(type==0) return 0; | ||
16 | + return ""; | ||
17 | + } | ||
18 | + | ||
19 | + var arr=[]; | ||
20 | + var min_price= 0; | ||
21 | + var min_name=""; | ||
22 | + | ||
23 | + var min_price=null; | ||
24 | + var min_name=null; | ||
25 | + //---设置对应的价格名字---- | ||
26 | + for(var i=0;i<3;i++) { | ||
27 | + var vl=all_card[i]; | ||
28 | + if(!vl) continue; | ||
29 | + if(vl['CorrPrice']=="Price1" && price1>0) | ||
30 | + { | ||
31 | + if(min_price==null) { | ||
32 | + min_price=price1;min_name=vl['CardName']; | ||
33 | + } | ||
34 | + else if(price1<min_price) { | ||
35 | + min_price=price1;min_name=vl['CardName']; | ||
36 | + } | ||
37 | + } | ||
38 | + if(vl['CorrPrice']=="Price2" && price2>0) | ||
39 | + { | ||
40 | + if(min_price==null) { | ||
41 | + min_price=price2;min_name=vl['CardName']; | ||
42 | + } | ||
43 | + else if(price2<min_price) { | ||
44 | + min_price=price2;min_name=vl['CardName']; | ||
45 | + } | ||
46 | + } | ||
47 | + | ||
48 | + if(vl['CorrPrice']=="Price3" && price3>0) | ||
49 | + { | ||
50 | + if(min_price==null) { | ||
51 | + min_price=price3;min_name=vl['CardName']; | ||
52 | + } | ||
53 | + else if(price3<min_price) { | ||
54 | + min_price=price3;min_name=vl['CardName']; | ||
55 | + } | ||
56 | + } | ||
57 | + | ||
58 | + } | ||
59 | + if(min_price==null){ | ||
60 | + if(type==0) return 0; | ||
61 | + return ""; | ||
62 | + } | ||
63 | + | ||
64 | + //if(type==0) return arr.length; | ||
65 | + //--进行排序,升序--- | ||
66 | + /*--- | ||
67 | + arr.sort(function(a,b){ | ||
68 | + if (a.price < b.price) { | ||
69 | + return -1; | ||
70 | + } else if (a.fee == b.fee) { | ||
71 | + return 0; | ||
72 | + } else { | ||
73 | + return 1; | ||
74 | + } | ||
75 | + })--*/ | ||
76 | + //-- 获取最下价钱,和相应的卡的名称 -- | ||
77 | + if(type==0) return min_price.toFixed(2); | ||
78 | + if(min_name.length>4) min_name=min_name.substring(0, 8); | ||
79 | + return min_name; | ||
80 | + }, | ||
81 | +} | ||
82 | +module.exports = { | ||
83 | + is_has_rank:g_filters.is_has_rank, | ||
84 | + get_card_price:g_filters.get_card_price, | ||
85 | +} | ||
0 | \ No newline at end of file | 86 | \ No newline at end of file |
packageA/pages/goods_share/goods_share.js
0 → 100644
1 | +// packageA//pages/goods_share/goods_share.js | ||
2 | +var app=getApp(),oo = app.globalData.setting,os=oo,ut = require("../../../utils/util.js"); | ||
3 | +Page({ | ||
4 | + /** | ||
5 | + * 页面的初始数据 | ||
6 | + */ | ||
7 | + data: { | ||
8 | + // 控制价格 | ||
9 | + active1: false, | ||
10 | + // 控制佣金 | ||
11 | + active2: false, | ||
12 | + url:oo.imghost, | ||
13 | + orderField:'sales_sum', | ||
14 | + orderType:'desc', | ||
15 | + list:[], | ||
16 | + is_load:0, //是否正在加载 | ||
17 | + is_no_data:0, //没有数据 | ||
18 | + is_no_more:0, //没有更多数据 | ||
19 | + key_str:'', | ||
20 | + pattern:0, //分成的方式 | ||
21 | + currentPage:1, //当前的页码 | ||
22 | + | ||
23 | + canvasHidden: 1, //-- 隐藏画布 -- | ||
24 | + dis_switch:0, //-- 分销开关 -- | ||
25 | + pattern:0, //-- 分成的方式 -- | ||
26 | + share_hidden:1, //-- 分享的按钮隐藏 -- | ||
27 | + share_good:null //--- 要分享的商品 --- | ||
28 | + }, | ||
29 | + /** | ||
30 | + * 生命周期函数--监听页面加载 | ||
31 | + */ | ||
32 | + onLoad: function (options) { | ||
33 | + var th=this; | ||
34 | + //接受有没有导购的参数 | ||
35 | + var first_leader=options.first_leader; | ||
36 | + if(first_leader){ | ||
37 | + //-- user_id代过来免登陆 -- | ||
38 | + getApp().globalData.user_id=first_leader; | ||
39 | + getApp().getUserFir(); | ||
40 | + } | ||
41 | + this.requestGoodsList(); | ||
42 | + | ||
43 | + //-- 自定义海报 -- | ||
44 | + getApp().request.promiseGet("/api/weshop/goods/poster/page",{ | ||
45 | + data:{store_id:os.stoid, type:1, is_use:1 } | ||
46 | + }).then(res=>{ | ||
47 | + if(res.data.code==0){ | ||
48 | + | ||
49 | + var poster_data=res.data.data.pageData[0]; | ||
50 | + var json_str=poster_data.jsonStr; | ||
51 | + | ||
52 | + if(json_str){ | ||
53 | + var json_data=JSON.parse(json_str); | ||
54 | + if(json_data.bg_img){ | ||
55 | + | ||
56 | + //-- 把图片那到本地 -- | ||
57 | + wx.getImageInfo({ | ||
58 | + src:json_data.bg_img, | ||
59 | + success: function(res) { | ||
60 | + var path= res.path; | ||
61 | + th.setData({share_b_img:path}) | ||
62 | + }, | ||
63 | + fail: function(res) {} | ||
64 | + }); | ||
65 | + } | ||
66 | + | ||
67 | + th.setData({poster:json_data}) | ||
68 | + | ||
69 | + } | ||
70 | + } | ||
71 | + }) | ||
72 | + | ||
73 | + //获取分销的配置 | ||
74 | + getApp().request.promiseGet("/api/weshop/storeDistribut/get/"+oo.stoid,{}).then(res=>{ | ||
75 | + if(res.data.code==0){ | ||
76 | + th.setData({dis_switch:res.data.data.switch,pattern:res.data.data.pattern}); | ||
77 | + } | ||
78 | + }) | ||
79 | + //获取用户设备信息,屏幕宽度 | ||
80 | + wx.getSystemInfo({ | ||
81 | + success: res => { | ||
82 | + th.setData({ | ||
83 | + screenWidth: res.screenWidth | ||
84 | + }) | ||
85 | + } | ||
86 | + }); | ||
87 | + | ||
88 | + }, | ||
89 | + | ||
90 | + /*** 生命周期函数--监听页面显示***/ | ||
91 | + onShow: function () { | ||
92 | + var th=this; | ||
93 | + getApp().getConfig2(function(rs){ | ||
94 | + //计算等级价相关 | ||
95 | + var swithc_list=rs.switch_list; | ||
96 | + var sw_arr=JSON.parse(swithc_list); | ||
97 | + //---如果后台又开等级卡的开关--- | ||
98 | + if(sw_arr.rank_switch && sw_arr.rank_switch=="2"){ | ||
99 | + th.setData({rank_switch:true}); | ||
100 | + var user=getApp().globalData.userInfo; | ||
101 | + var ti=setInterval(function(){ | ||
102 | + if(!user) return false; | ||
103 | + clearInterval(ti); | ||
104 | + //---回调卡的列表--- | ||
105 | + th.getPlusCardType(function(ob){ | ||
106 | + th.setData({card_list:ob.card_list}); | ||
107 | + if(user.card_field ){ | ||
108 | + var str = user['card_expiredate'].replace(/-/g, '/'); | ||
109 | + var end = new Date(str); | ||
110 | + end = Date.parse(end) / 1000; | ||
111 | + var now = ut.gettimestamp(); | ||
112 | + //--- 判断是等级会员,且在有效期范围内 --- | ||
113 | + if(user.card_field && now<end){ | ||
114 | + var card_name=ob.name_map.get(user.card_field); | ||
115 | + // if(card_name.length>4) card_name=card_name.substring(0,4); | ||
116 | + th.setData({card_field:user.card_field,card_name:card_name,card_list:ob.card_list}); | ||
117 | + } | ||
118 | + } | ||
119 | + }) | ||
120 | + },500) | ||
121 | + } | ||
122 | + }); | ||
123 | + }, | ||
124 | + | ||
125 | + /** | ||
126 | + * 生命周期函数--监听页面隐藏 | ||
127 | + */ | ||
128 | + onHide: function () {}, | ||
129 | + /**e | ||
130 | + * 用户点击右上角分享 | ||
131 | + */ | ||
132 | + onShareAppMessage: function () { | ||
133 | + var th = this; | ||
134 | + var item=this.data.share_good; | ||
135 | + var price = item.shop_price; | ||
136 | + var title= item.goods_name; | ||
137 | + var img=this.data.url+item.original_img; | ||
138 | + | ||
139 | + var url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + th.data.gid; | ||
140 | + if(getApp().globalData.user_id){ | ||
141 | + url+="&first_leader="+getApp().globalData.user_id; | ||
142 | + } | ||
143 | + var ob={ | ||
144 | + title: price + "元 " +title, | ||
145 | + path:url, | ||
146 | + imageUrl: img, | ||
147 | + }; | ||
148 | + th.setData({share_hidden:1}); | ||
149 | + return ob; | ||
150 | + | ||
151 | + }, | ||
152 | + | ||
153 | + // 点击价格排序 | ||
154 | + sort1() { | ||
155 | + if(this.data.active2) { | ||
156 | + this.setData({ | ||
157 | + active2: !this.data.active2 | ||
158 | + }); | ||
159 | + }; | ||
160 | + if(this.data.orderField!="shop_price"){ | ||
161 | + this.setData({ | ||
162 | + active1: 1,orderField:'shop_price',orderType:'asc',is_no_data:0,is_no_more:0,list:[], | ||
163 | + }); | ||
164 | + }else{ | ||
165 | + | ||
166 | + var ty=this.data.orderType=='asc'?'desc':'asc'; | ||
167 | + this.setData({ | ||
168 | + orderType:ty,is_no_data:0,is_no_more:0,list:[], | ||
169 | + }); | ||
170 | + } | ||
171 | + this.data.is_load=0; | ||
172 | + this.data.currentPage=1; | ||
173 | + this.requestGoodsList(); | ||
174 | + | ||
175 | + }, | ||
176 | + // 点击佣金排序 | ||
177 | + sort2() { | ||
178 | + if(this.data.active1) { | ||
179 | + this.setData({ | ||
180 | + active1: !this.data.active1 | ||
181 | + }); | ||
182 | + }; | ||
183 | + if(this.data.orderField!="commission"){ | ||
184 | + | ||
185 | + if(this.data.pattern==0){ | ||
186 | + this.setData({ | ||
187 | + active2: 1,orderField:'commission',orderType:'asc',is_no_data:0,is_no_more:0,list:[], | ||
188 | + }); | ||
189 | + }else{ | ||
190 | + this.setData({ | ||
191 | + active2: 1,orderField:'(fir_rate+sec_rate+thi_rate)',orderType:'asc',is_no_data:0,is_no_more:0,list:[], | ||
192 | + }); | ||
193 | + } | ||
194 | + | ||
195 | + | ||
196 | + }else{ | ||
197 | + this.setData({ | ||
198 | + orderType: (this.data.orderType=='asc'?'desc':'asc'),is_no_data:0,is_no_more:0,list:[], | ||
199 | + }); | ||
200 | + } | ||
201 | + this.data.is_load=0; | ||
202 | + this.data.currentPage=1; | ||
203 | + this.requestGoodsList(); | ||
204 | + }, | ||
205 | + | ||
206 | + //-- ----销量---- | ||
207 | + sale_sort(){ | ||
208 | + if(this.data.orderField!="sales_sum"){ | ||
209 | + this.setData({ | ||
210 | + active1: 0,active2:0,orderType:'desc',is_no_data:0,is_no_more:0,orderField:'sales_sum',list:[], | ||
211 | + }); | ||
212 | + this.data.is_load=0; | ||
213 | + this.data.currentPage=1; | ||
214 | + this.requestGoodsList(); | ||
215 | + } | ||
216 | + }, | ||
217 | + | ||
218 | + //-- ---最新--- | ||
219 | + new_sort:function(){ | ||
220 | + if(this.data.orderField!="is_new"){ | ||
221 | + this.setData({ | ||
222 | + active1: 0,active2:0,orderType:'desc',is_no_data:0,is_no_more:0,orderField:'is_new',list:[], | ||
223 | + }); | ||
224 | + this.data.is_load=0; | ||
225 | + this.data.currentPage=1; | ||
226 | + this.requestGoodsList(); | ||
227 | + } | ||
228 | + }, | ||
229 | + | ||
230 | + requestGoodsList:function(){ | ||
231 | + var th=this; | ||
232 | + if(th.data.is_load) return false; //-- 正在加载 | ||
233 | + if(th.data.is_no_data) return false; //-- 没有数据 | ||
234 | + if(th.data.is_no_more) return false; //-- 没有更多 | ||
235 | + th.data.is_load=1; | ||
236 | + | ||
237 | + var url="/api/weshop/goods/page"; | ||
238 | + var req_data={ | ||
239 | + page:this.data.currentPage, | ||
240 | + is_mainshow:1, | ||
241 | + isonsale:1, | ||
242 | + store_id:oo.stoid, | ||
243 | + orderField:this.data.orderField, | ||
244 | + orderType:this.data.orderType, | ||
245 | + } | ||
246 | + if(this.data.key_str && this.data.key_str.trim()){ | ||
247 | + var str=this.data.key_str.trim(); | ||
248 | + req_data.key_str=str; | ||
249 | + } | ||
250 | + //-- ---调用接口---- | ||
251 | + app.request.promiseGet(url,{data:req_data,isShowLoading:1}).then(res=>{ | ||
252 | + th.data.is_load=0; | ||
253 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
254 | + th.data.currentPage++; | ||
255 | + var data=res.data.data.pageData; | ||
256 | + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more:1});} | ||
257 | + var list=th.data.list; | ||
258 | + list=list.concat(data); | ||
259 | + th.setData({list:list}); | ||
260 | + }else{ | ||
261 | + if(th.data.currentPage==1){ | ||
262 | + th.setData({is_no_data:1}); | ||
263 | + } | ||
264 | + } | ||
265 | + }) | ||
266 | + }, | ||
267 | + | ||
268 | + | ||
269 | + //--- 获取卡类列表 --- | ||
270 | + getPlusCardType: function (func) { | ||
271 | + var storid = oo.stoid; | ||
272 | + var th = this; | ||
273 | + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { | ||
274 | + var plusCard = res.data.data; | ||
275 | + var arr = [1219, 2089, 3031]; | ||
276 | + var new_arr = new Array(); | ||
277 | + var card_name_map=new Map(); | ||
278 | + var user = getApp().globalData.userInfo; | ||
279 | + for (var i = 0; i < plusCard.length; i++) { | ||
280 | + if ((user.card_field==null || user.card_field=="") && (plusCard[i].IsStopBuy==true)) { | ||
281 | + continue; | ||
282 | + } | ||
283 | + var name="card"+plusCard[i].CorrPrice.toLowerCase(); | ||
284 | + card_name_map.set(name,plusCard[i].CardName); | ||
285 | + new_arr.push(plusCard[i]); | ||
286 | + } | ||
287 | + | ||
288 | + var ob={"card_list":new_arr,"name_map":card_name_map}; | ||
289 | + func(ob); | ||
290 | + }) | ||
291 | + }, | ||
292 | + | ||
293 | + | ||
294 | + //---图片失败,默认图片--- | ||
295 | + bind_bnerr2: function (e) { | ||
296 | + var _errImg = e.target.dataset.errorimg; | ||
297 | + var _errObj = {}; | ||
298 | + _errObj[_errImg] ="/miniapp/images/default_g_img.gif"; | ||
299 | + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | ||
300 | + }, | ||
301 | + //-- ---更多加载---- | ||
302 | + refresh:function(){ | ||
303 | + this.requestGoodsList(); | ||
304 | + }, | ||
305 | + | ||
306 | + //--定义的保存图片方法,分享团--- | ||
307 | + saveImageToPhotosAlbum: function() { | ||
308 | + //--先判断会员状态-- | ||
309 | + var user_info = getApp().globalData.userInfo; | ||
310 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
311 | + //getApp().my_warnning("请先登录",0,this); | ||
312 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | ||
313 | + return false; | ||
314 | + } | ||
315 | + //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 | ||
316 | + var type = 0; | ||
317 | + wx.showLoading({ | ||
318 | + title: '生成中...', | ||
319 | + }) | ||
320 | + var that = this, th = that; | ||
321 | + //设置画板显示,才能开始绘图 | ||
322 | + that.setData({ | ||
323 | + canvasHidden: false,share_hidden:1 | ||
324 | + }) | ||
325 | + | ||
326 | + var app = getApp(); | ||
327 | + var unit = that.data.screenWidth / 750 * 1.35; //基础单位, | ||
328 | + var scene = th.data.gid+""; | ||
329 | + var user_id=getApp().globalData.user_id?getApp().globalData.user_id:0; | ||
330 | + if(user_id>0){ | ||
331 | + scene+="_"+user_id; | ||
332 | + } | ||
333 | + | ||
334 | + ///二微码 | ||
335 | + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + | ||
336 | + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo"; | ||
337 | + | ||
338 | + //读取文件成功则OK-- | ||
339 | + wx.getImageInfo({ | ||
340 | + src: path3, | ||
341 | + success: function(res) { | ||
342 | + //回调写法 | ||
343 | + th.get_head_temp(th.get_goods_temp, function() { | ||
344 | + var vpath = res.path; | ||
345 | + var context = wx.createCanvasContext('share'); | ||
346 | + //先画背景 | ||
347 | + var pg_path = "../../../images/share/share_bg.png"; | ||
348 | + | ||
349 | + //-- 如果有自定义海报的时候,判断背景的图片 -- | ||
350 | + if(th.data.share_b_img){ | ||
351 | + pg_path=th.data.share_b_img; | ||
352 | + } | ||
353 | + context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); | ||
354 | + | ||
355 | + //-- 是自定义海报的情况下 -- | ||
356 | + if(th.data.poster && parseInt(th.data.poster.style)==2){ | ||
357 | + //在线上分享人的情况下 | ||
358 | + if(parseInt(th.data.poster.show_headpic)){ | ||
359 | + //获取坐标 | ||
360 | + var x=parseFloat(th.data.poster.head_x)*2; | ||
361 | + var y=parseFloat(th.data.poster.head_y)*2; | ||
362 | + var x1=(x+90) *unit; | ||
363 | + var y1=(y+50) *unit; | ||
364 | + //--昵称--- | ||
365 | + context.setFontSize(24 * unit) | ||
366 | + context.setFillStyle("black") | ||
367 | + context.fillText(app.globalData.userInfo.nickname, x1, y1); | ||
368 | + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; | ||
369 | + //强烈推荐 改许程 | ||
370 | + var tj_path = "../../../images/share/q_tj.png"; | ||
371 | + context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit); | ||
372 | + context.setFontSize(16 * unit) | ||
373 | + context.setLineJoin('round'); //交点设置成圆角 | ||
374 | + context.setFillStyle("white") | ||
375 | + context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit); | ||
376 | + } | ||
377 | + }else{ | ||
378 | + //--昵称--- | ||
379 | + context.setFontSize(24 * unit) | ||
380 | + context.setFillStyle("black") | ||
381 | + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); | ||
382 | + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; | ||
383 | + //强烈推荐 改许程 | ||
384 | + var tj_path = "../../../images/share/q_tj.png"; | ||
385 | + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit); | ||
386 | + context.setFontSize(16 * unit) | ||
387 | + context.setLineJoin('round'); //交点设置成圆角 | ||
388 | + context.setFillStyle("white") | ||
389 | + context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 76 * unit); | ||
390 | + } | ||
391 | + | ||
392 | + | ||
393 | + //---产品名称--- | ||
394 | + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | ||
395 | + context.setFillStyle("black"); | ||
396 | + context.setFontSize(21.3 * unit) | ||
397 | + th.draw_Text(context, th.data.share_good.goods_name, | ||
398 | + 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); | ||
399 | + //------产品的价格------- | ||
400 | + context.setFontSize(23 * unit) | ||
401 | + context.setFillStyle("red") | ||
402 | + context.fillText("¥", 416 * unit, 185 * unit); | ||
403 | + context.setFontSize(31 * unit) | ||
404 | + var pri0 = th.data.share_good.shop_price; | ||
405 | + if (th.data.prom_act) | ||
406 | + pri0 = th.data.prom_act.price; | ||
407 | + | ||
408 | + pri0 = parseFloat(pri0).toFixed(2); | ||
409 | + context.fillText(pri0, 438 * unit, 185 * unit); | ||
410 | + //---市场价划掉--- | ||
411 | + context.setFillStyle("gray") | ||
412 | + context.setFontSize(22 * unit) | ||
413 | + context.fillText("¥" + th.data.share_good.market_price, 426 * unit, 213 * unit); | ||
414 | + context.setStrokeStyle('gray') | ||
415 | + context.setLineWidth(1 * unit) | ||
416 | + context.moveTo(426 * unit, 206 * unit) | ||
417 | + context.lineTo(510 * unit, 206 * unit) | ||
418 | + context.stroke(); | ||
419 | + //---中间大图--- | ||
420 | + context.drawImage(th.data.share_goods_img, 68 * unit, 242 * unit, 410 * unit, 410 * unit); | ||
421 | + //-------大图后面就不一样了----------- | ||
422 | + switch (type) { | ||
423 | + case 0: //普通商品的展示 | ||
424 | + //中间的几个字 | ||
425 | + if(th.data.poster && parseInt(th.data.poster.style)==2 ){ | ||
426 | + if(parseInt(th.data.poster.show_quality)){ | ||
427 | + var g_path = "../../../images/share/s_gou.png"; | ||
428 | + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
429 | + context.setFillStyle("red") | ||
430 | + context.setFontSize(18 * unit) | ||
431 | + context.fillText("正品保证", 84 * unit, 690 * unit); | ||
432 | + | ||
433 | + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
434 | + context.setFillStyle("red") | ||
435 | + context.setFontSize(18 * unit) | ||
436 | + context.fillText("纯实体店", 246 * unit, 690 * unit); | ||
437 | + | ||
438 | + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
439 | + context.setFillStyle("red") | ||
440 | + context.setFontSize(18 * unit) | ||
441 | + context.fillText("官方验证", 420 * unit, 690 * unit); | ||
442 | + } | ||
443 | + | ||
444 | + }else{ | ||
445 | + var g_path = "../../../images/share/s_gou.png"; | ||
446 | + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
447 | + context.setFillStyle("red") | ||
448 | + context.setFontSize(18 * unit) | ||
449 | + context.fillText("正品保证", 84 * unit, 690 * unit); | ||
450 | + | ||
451 | + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
452 | + context.setFillStyle("red") | ||
453 | + context.setFontSize(18 * unit) | ||
454 | + context.fillText("纯实体店", 246 * unit, 690 * unit); | ||
455 | + | ||
456 | + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); | ||
457 | + context.setFillStyle("red") | ||
458 | + context.setFontSize(18 * unit) | ||
459 | + context.fillText("官方验证", 420 * unit, 690 * unit); | ||
460 | + } | ||
461 | + | ||
462 | + //---画线--- | ||
463 | + context.setLineWidth(1 * unit) | ||
464 | + context.moveTo(32 * unit, 710 * unit) | ||
465 | + context.lineTo(520 * unit, 710 * unit) | ||
466 | + context.stroke(); | ||
467 | + //---文字--- | ||
468 | + context.setFillStyle("black") | ||
469 | + context.setFontSize(22 * unit) | ||
470 | + // 原来start ---> | ||
471 | + context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 776 * unit); | ||
472 | + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 826 * unit); | ||
473 | + | ||
474 | + //---二维吗图--- | ||
475 | + //-- 自定义海报 -- | ||
476 | + if(th.data.poster){ | ||
477 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | ||
478 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | ||
479 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | ||
480 | + }else{ | ||
481 | + //---二维吗图--- | ||
482 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | ||
483 | + } | ||
484 | + | ||
485 | + break; | ||
486 | + case 1: //秒杀商品的展示 | ||
487 | + //---画线--- | ||
488 | + context.setLineWidth(1 * unit) | ||
489 | + context.moveTo(32 * unit, 670 * unit) | ||
490 | + context.lineTo(520 * unit, 670 * unit) | ||
491 | + context.stroke(); | ||
492 | + | ||
493 | + //画秒杀的图片 | ||
494 | + var miaos_path = '../../../images/share/miao_share.png'; | ||
495 | + context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit); | ||
496 | + | ||
497 | + //---文字--- | ||
498 | + context.setFontSize(22 * unit) | ||
499 | + context.setFillStyle("black") | ||
500 | + context.fillText("特惠好物,限时秒杀", 40 * unit, 806 * unit); | ||
501 | + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit); | ||
502 | + //---二维吗图--- | ||
503 | + //-- 自定义海报 -- | ||
504 | + if(th.data.poster){ | ||
505 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | ||
506 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | ||
507 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | ||
508 | + }else{ | ||
509 | + //---二维吗图--- | ||
510 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | ||
511 | + } | ||
512 | + | ||
513 | + | ||
514 | + break; | ||
515 | + | ||
516 | + case 2: //会员团和商家团的展示 | ||
517 | + //---画线--- | ||
518 | + context.setLineWidth(1 * unit) | ||
519 | + context.moveTo(32 * unit, 670 * unit) | ||
520 | + context.lineTo(520 * unit, 670 * unit) | ||
521 | + context.stroke(); | ||
522 | + //---文字--- | ||
523 | + context.setFontSize(22 * unit) | ||
524 | + context.font = 'normal bold'; | ||
525 | + context.setFillStyle("black") | ||
526 | + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); | ||
527 | + | ||
528 | + //绘制成团图片 | ||
529 | + var ct_img = "../../../images/share/ct_num.png"; | ||
530 | + context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit); | ||
531 | + var ct_num = th.data.prom_act.ct_num; | ||
532 | + context.setFontSize(14 * unit) | ||
533 | + context.font = 'normal'; | ||
534 | + context.setFillStyle("red") | ||
535 | + if (ct_num < 10) { | ||
536 | + context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit); | ||
537 | + } else { | ||
538 | + context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit); | ||
539 | + } | ||
540 | + context.setFontSize(22 * unit) | ||
541 | + context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit); | ||
542 | + context.setFillStyle("gray") | ||
543 | + context.fillText("快来和我一起拼团吧!", 40 * unit, 826 * unit); | ||
544 | + context.setFillStyle("black") | ||
545 | + context.font = 'normal bold 18px sans-serif'; | ||
546 | + context.setFontSize(21.3 * unit) | ||
547 | + context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit); | ||
548 | + //---二维吗图--- | ||
549 | + //-- 自定义海报 -- | ||
550 | + if(th.data.poster){ | ||
551 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | ||
552 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | ||
553 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | ||
554 | + }else{ | ||
555 | + //---二维吗图--- | ||
556 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | ||
557 | + } | ||
558 | + break | ||
559 | + case 3: //阶梯团的展示 | ||
560 | + //---画线--- | ||
561 | + context.setLineWidth(1 * unit) | ||
562 | + context.moveTo(32 * unit, 670 * unit) | ||
563 | + context.lineTo(520 * unit, 670 * unit) | ||
564 | + context.stroke(); | ||
565 | + //---文字--- | ||
566 | + context.setFontSize(22 * unit) | ||
567 | + context.font = 'normal bold'; | ||
568 | + context.setFillStyle("black") | ||
569 | + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); | ||
570 | + //---绘制中间阶梯的价格--- | ||
571 | + var list = th.data.prom_act.ct_rylist; | ||
572 | + for (var i = 0; i < list.length; i++) { | ||
573 | + var item = list[i]; | ||
574 | + var wi = i * 90 * unit; | ||
575 | + context.font = 'normal'; | ||
576 | + context.setFontSize(16 * unit) | ||
577 | + context.setFillStyle("red") | ||
578 | + context.fillText("¥", 40 * unit + wi, 756 * unit); | ||
579 | + context.setFontSize(22 * unit) | ||
580 | + var pri = parseFloat(item.price).toFixed(2); | ||
581 | + context.fillText(pri, 56 * unit + wi, 756 * unit); | ||
582 | + context.setFillStyle("gray") | ||
583 | + context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit); | ||
584 | + } | ||
585 | + //----------------下面部分---------------- | ||
586 | + context.setFillStyle("gray") | ||
587 | + context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit); | ||
588 | + context.setFillStyle("black") | ||
589 | + context.font = 'normal bold 18px sans-serif'; | ||
590 | + context.setFontSize(22 * unit) | ||
591 | + context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); | ||
592 | + | ||
593 | + //-- 自定义海报 -- | ||
594 | + if(th.data.poster){ | ||
595 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | ||
596 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | ||
597 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | ||
598 | + }else{ | ||
599 | + //---二维吗图--- | ||
600 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | ||
601 | + } | ||
602 | + break | ||
603 | + } | ||
604 | + | ||
605 | + | ||
606 | + //--- 如果是自定义海报的时候 --- | ||
607 | + if(th.data.poster && parseInt(th.data.poster.style)==2){ | ||
608 | + //如果显示会员信息的话 | ||
609 | + if(parseInt(th.data.poster.show_headpic)){ | ||
610 | + //获取坐标 | ||
611 | + var x= parseFloat(th.data.poster.head_x)*2; | ||
612 | + var y=parseFloat(th.data.poster.head_y)*2; | ||
613 | + //---绘制圆形要放在最后---- | ||
614 | + context.save(); | ||
615 | + context.beginPath(); | ||
616 | + var h_x = x* unit; | ||
617 | + var h_y = y * unit; | ||
618 | + var h_r = 40 * unit; | ||
619 | + var cx = h_x + h_r; | ||
620 | + var cy = h_y + h_r; | ||
621 | + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | ||
622 | + context.closePath(); | ||
623 | + context.fill(); | ||
624 | + context.clip(); | ||
625 | + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | ||
626 | + context.restore(); | ||
627 | + } | ||
628 | + | ||
629 | + }else{ | ||
630 | + //---绘制圆形要放在最后---- | ||
631 | + context.save(); | ||
632 | + context.beginPath(); | ||
633 | + var h_x = 60 * unit; | ||
634 | + var h_y = 24 * unit; | ||
635 | + var h_r = 40 * unit; | ||
636 | + var cx = h_x + h_r; | ||
637 | + var cy = h_y + h_r; | ||
638 | + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | ||
639 | + context.closePath(); | ||
640 | + context.fill(); | ||
641 | + context.clip(); | ||
642 | + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | ||
643 | + context.restore(); | ||
644 | + } | ||
645 | + | ||
646 | + | ||
647 | + //把画板内容绘制成图片,并回调 画板图片路径 | ||
648 | + context.draw(false, function() { | ||
649 | + setTimeout(function() { | ||
650 | + wx.canvasToTempFilePath({ | ||
651 | + x: 0, | ||
652 | + y: 0, | ||
653 | + width: 750, | ||
654 | + height: 1217, | ||
655 | + destWidth: 1.2 * 750 * 750 / that.data.screenWidth, | ||
656 | + destHeight: 1.2 * 1217 * 750 / that.data.screenWidth, | ||
657 | + canvasId: 'share', | ||
658 | + success: function(res) { | ||
659 | + that.setData({ | ||
660 | + shareImgPath: res.tempFilePath, | ||
661 | + canvasHidden: true | ||
662 | + }) | ||
663 | + if (!res.tempFilePath) { | ||
664 | + wx.showModal({ | ||
665 | + title: '提示', | ||
666 | + content: '图片绘制中,请稍后重试', | ||
667 | + showCancel: false | ||
668 | + }) | ||
669 | + return false; | ||
670 | + } | ||
671 | + wx.previewImage({ | ||
672 | + //将图片预览出来 | ||
673 | + urls: [that.data.shareImgPath] | ||
674 | + }); | ||
675 | + wx.hideLoading(); | ||
676 | + } | ||
677 | + }) | ||
678 | + }, 500) | ||
679 | + | ||
680 | + }); | ||
681 | + }); | ||
682 | + } | ||
683 | + }); | ||
684 | + | ||
685 | + }, | ||
686 | + | ||
687 | + //点击分享商品 | ||
688 | + share_good:function(e){ | ||
689 | + //--先判断会员状态-- | ||
690 | + var user_info = getApp().globalData.userInfo; | ||
691 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
692 | + //getApp().my_warnning("请先登录",0,this); | ||
693 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | ||
694 | + return false; | ||
695 | + } | ||
696 | + | ||
697 | + var index=e.currentTarget.dataset.index; | ||
698 | + var item=this.data.list[index]; | ||
699 | + this.setData({share_hidden:0,share_good:item}); | ||
700 | + }, | ||
701 | + | ||
702 | + cancel:function(){ | ||
703 | + this.setData({share_hidden:1}); | ||
704 | + }, | ||
705 | + | ||
706 | + //--获取头像的本地缓存,回调写法-- | ||
707 | + get_head_temp: function(tt, func) { | ||
708 | + var ee = this; | ||
709 | + if (ee.data.share_head) { | ||
710 | + tt(func); | ||
711 | + return false; | ||
712 | + } | ||
713 | + //---获取分享图片的本地地址,头像和商品图片---- | ||
714 | + var path2 = getApp().globalData.userInfo.head_pic; | ||
715 | + if (path2 == "") { | ||
716 | + ee.data.share_head = "../../../images/share/hui_hear_pic.png"; | ||
717 | + tt(func); | ||
718 | + } else { | ||
719 | + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); | ||
720 | + path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); | ||
721 | + wx.getImageInfo({ | ||
722 | + src: path2, | ||
723 | + success: function(res) { | ||
724 | + //res.path是网络图片的本地地址 | ||
725 | + ee.data.share_head = res.path; | ||
726 | + tt(func); | ||
727 | + }, | ||
728 | + fail: function(res) { | ||
729 | + ee.data.share_head = "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 | ||
730 | + tt(func); | ||
731 | + } | ||
732 | + }); | ||
733 | + } | ||
734 | + }, | ||
735 | + //--获取商品图片的本地缓存,回调写法-- | ||
736 | + get_goods_temp: function(tt) { | ||
737 | + var ee = this; | ||
738 | + //获取商品是分享图信息 | ||
739 | + wx.getImageInfo({ | ||
740 | + src: ee.data.url+ee.data.share_good.original_img, | ||
741 | + success: function(res) { | ||
742 | + //res.path是网络图片的本地地址 | ||
743 | + ee.data.share_goods_img = res.path; | ||
744 | + tt(); | ||
745 | + }, | ||
746 | + fail: function(res) { | ||
747 | + ee.data.share_goods_img = "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的 | ||
748 | + tt(); | ||
749 | + } | ||
750 | + }); | ||
751 | + }, | ||
752 | + | ||
753 | + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | ||
754 | + draw_Text: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) { | ||
755 | + var lineWidth = 0; | ||
756 | + var lastSubStrIndex = 0; //每次开始截取的字符串的索引 | ||
757 | + var han = 0; | ||
758 | + for (let i = 0; i < str.length; i++) { | ||
759 | + if (han == 2) return; | ||
760 | + //lineWidth += ctx.measureText(str[i]).width; | ||
761 | + lineWidth += ut.measureText(str[i], 21.3 * unit); | ||
762 | + if (lineWidth > canvasWidth) { | ||
763 | + han++; | ||
764 | + | ||
765 | + if (han == 2) | ||
766 | + ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分 | ||
767 | + else | ||
768 | + ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight); | ||
769 | + | ||
770 | + initHeight += 22; //22为字体的高度 | ||
771 | + lineWidth = 0; | ||
772 | + lastSubStrIndex = i; | ||
773 | + titleHeight += 20; | ||
774 | + } | ||
775 | + if (i == str.length - 1) { //绘制剩余部分 | ||
776 | + ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); | ||
777 | + } | ||
778 | + } | ||
779 | + }, | ||
780 | + | ||
781 | + //-------搜索的相关功能------ | ||
782 | + set_search_value:function(e){ | ||
783 | + var key_str=e.detail.value; | ||
784 | + if(key_str) key_str=key_str.trim(); | ||
785 | + this.setData({key_str:key_str}); | ||
786 | + | ||
787 | + }, | ||
788 | + search_data:function(){ | ||
789 | + this.setData({ | ||
790 | + is_no_data:0,is_no_more:0,list:[], | ||
791 | + }); | ||
792 | + this.data.is_load=0; | ||
793 | + this.data.currentPage=1; | ||
794 | + this.requestGoodsList(); | ||
795 | + } | ||
796 | + | ||
797 | + | ||
798 | +}) | ||
0 | \ No newline at end of file | 799 | \ No newline at end of file |
packageA/pages/goods_share/goods_share.json
0 → 100644
packageA/pages/goods_share/goods_share.wxml
0 → 100644
1 | +<wxs module="g_filter" src="g_filter.wxs"></wxs> | ||
2 | +<view class="container"> | ||
3 | + <!-- 搜索框 --> | ||
4 | + <view class="search-container"> | ||
5 | + <view class="input-container"><input bindinput="set_search_value" class="search" type="text" placeholder="请输入您想查找的商品信息"/></view> | ||
6 | + <view bindtap="search_data" class="btn-search">搜索</view> | ||
7 | + </view> | ||
8 | + <!-- 列表 --> | ||
9 | + <view class="list-container"> | ||
10 | + <!-- 标题 --> | ||
11 | + <view class="title"> | ||
12 | + <view class="title-item" bindtap="sale_sort">销量</view> | ||
13 | + <view class="title-item" bindtap="sort1">价格<text class="iconfont {{orderType=='asc'?'icon-shang':'icon-xia'}}"></text></view> | ||
14 | + <view class="title-item" bindtap="sort2">佣金<text class="iconfont {{orderType=='asc'?'icon-shang':'icon-xia'}}"></text></view> | ||
15 | + <view class="title-item" bindtap='new_sort'>最新</view> | ||
16 | + </view> | ||
17 | + <!-- 列表项 --> | ||
18 | + <scroll-view | ||
19 | + class="list" | ||
20 | + scroll-y="true" | ||
21 | + bindscrolltolower="refresh" | ||
22 | + scroll-anchoring | ||
23 | + refresher-enabled> | ||
24 | + <block wx:for="{{list}}"> | ||
25 | + <view class class="list-item"> | ||
26 | + <view class="img-container"> | ||
27 | + <image src="{{url+item.original_img}}" style="width: 100%; height: 100%;" | ||
28 | + binderror="bind_bnerr2" lazy-load="true" | ||
29 | + data-errorimg="list[{{index}}].original_img"></image> | ||
30 | + </view> | ||
31 | + <view class="details"> | ||
32 | + <view class="ellipsis-2 fs28 name">{{item.goods_name}}</view> | ||
33 | + <view class="red pdt14">¥{{item.shop_price}} | ||
34 | + <!-- 如果有等级卡的话 --> | ||
35 | + <block wx:if="{{g_filter.is_has_rank(rank_switch,item)}}"> | ||
36 | + <!-- 当会员是等级卡的时候,且卡有钱的时候 --> | ||
37 | + <block wx:if="{{card_field && item[card_field]>0}}"> | ||
38 | + <text class="plus_show">PLUS</text>¥{{item[card_field]}} | ||
39 | + </block> | ||
40 | + <!-- 当会员不是等级卡的时候,且卡有钱的时候 --> | ||
41 | + <block wx:if="{{!card_field && g_filter.get_card_price(item,card_list,0)>0}}"> | ||
42 | + <text class="plus_show">PLUS</text>¥{{g_filter.get_card_price(item,card_list,0)}} | ||
43 | + </block> | ||
44 | + </block> | ||
45 | + </view> | ||
46 | + | ||
47 | + <view class="flex jc_sb fs24 pdt14"> | ||
48 | + <view class="gray">已售:<text class="red">{{item.sales_sum}}</text></view> | ||
49 | + <view class="gray">分成金额: | ||
50 | + <text wx:if="{{!pattern}}" class="red">¥{{item.commission}}</text> | ||
51 | + <text wx:else class="red">¥{{item.fir_rate+item.sec_rate+item.thi_rate}}</text> | ||
52 | + </view> | ||
53 | + </view> | ||
54 | + <view bindtap="share_good" data-index="{{index}}" class="t-r fs28 pdt14"> | ||
55 | + <view class="btn-share">分享</view> | ||
56 | + </view> | ||
57 | + </view> | ||
58 | + </view> | ||
59 | + </block> | ||
60 | + <nodata wx:if="{{list.length==0}}" nodataContainer="nodata">暂无数据</nodata> | ||
61 | + <view wx:if="{{is_no_more}}" class="no-more t-c">- 已全部加载 -</view> | ||
62 | + </scroll-view> | ||
63 | + </view> | ||
64 | +</view> | ||
65 | + | ||
66 | +<!--二维码显示页面--> | ||
67 | +<canvas canvas-id='share' style='width:750rpx;height:1217rpx;' wx:if='{{!canvasHidden}}'></canvas> | ||
68 | +<!-- 分享控件,底部弹出 --> | ||
69 | +<share_button id="share_button" bind:cancel="cancel" bind:share_img="saveImageToPhotosAlbum" wx:if="{{!share_hidden}}"></share_button> |
packageA/pages/goods_share/goods_share.wxss
0 → 100644
1 | +/* packageA//pages/goods_share/goods_share.wxss */ | ||
2 | +.red { | ||
3 | + color: #FE6867; | ||
4 | +} | ||
5 | +.gray { | ||
6 | + color: #7b7b7b; | ||
7 | +} | ||
8 | +page { | ||
9 | + background-color: #f2f2f2; | ||
10 | + height: 100%; | ||
11 | +} | ||
12 | +.container { | ||
13 | + background-color: white; | ||
14 | + height: 100%; | ||
15 | +} | ||
16 | +.search-container { | ||
17 | + display: flex; | ||
18 | + padding: 26rpx 20rpx; | ||
19 | + border-bottom: 2rpx solid #f8f8f8; | ||
20 | +} | ||
21 | +.input-container { | ||
22 | + flex: 1; | ||
23 | + border-radius: 6rpx 0 0 6rpx; | ||
24 | + overflow: hidden; | ||
25 | +} | ||
26 | +.search { | ||
27 | + background-color: #f0f0f0; | ||
28 | + padding: 10rpx 20rpx; | ||
29 | + font-size: 28rpx; | ||
30 | +} | ||
31 | +.btn-search { | ||
32 | + background-color: #FE6867; | ||
33 | + color: white; | ||
34 | + padding: 0 30rpx; | ||
35 | + display: flex; | ||
36 | + align-items: center; | ||
37 | + border-radius: 0 6rpx 6rpx 0; | ||
38 | +} | ||
39 | +.title { | ||
40 | + display: flex; | ||
41 | + font-size: 30rpx; | ||
42 | + border-bottom: 2rpx solid #f8f8f8; | ||
43 | +} | ||
44 | +.title .iconfont { | ||
45 | + color: #ccc; | ||
46 | + font-size: 16rpx; | ||
47 | + margin-left: 8rpx; | ||
48 | +} | ||
49 | +.title-item { | ||
50 | + width: 25%; | ||
51 | + box-sizing: border-box; | ||
52 | + text-align: center; | ||
53 | + padding: 20rpx; | ||
54 | +} | ||
55 | +.list-container { | ||
56 | + height: calc(100% - 118rpx); | ||
57 | +} | ||
58 | +.list { | ||
59 | + height: calc(100% - 82rpx); | ||
60 | + background-color: #f2f2f2; | ||
61 | +} | ||
62 | +.list-item { | ||
63 | + display: flex; | ||
64 | + padding: 20rpx; | ||
65 | + border-bottom: 2rpx solid #f8f8f8; | ||
66 | + background-color: white; | ||
67 | +} | ||
68 | +.img-container { | ||
69 | + background-color: #f0f0f0; | ||
70 | + width: 280rpx; | ||
71 | + height: 248rpx; | ||
72 | + display: flex; | ||
73 | + align-items: center; | ||
74 | + justify-content: center; | ||
75 | +} | ||
76 | +.img-container:after { | ||
77 | + /* font-family: iconfont; | ||
78 | + content: '\e8c1'; | ||
79 | + color: #bbb; | ||
80 | + font-size: 80rpx; */ | ||
81 | +} | ||
82 | +.details { | ||
83 | + flex: 1; | ||
84 | + padding-left: 20rpx; | ||
85 | +} | ||
86 | +.btn-share { | ||
87 | + display: inline-block; | ||
88 | + background-color: #FE6867; | ||
89 | + color: white; | ||
90 | + padding: 8rpx 30rpx; | ||
91 | + border-radius: 6rpx; | ||
92 | +} | ||
93 | +.pdt14 { | ||
94 | + padding-top: 14rpx; | ||
95 | +} | ||
96 | + | ||
97 | +.no-more { | ||
98 | + line-height: 3; | ||
99 | + color: #ccc; | ||
100 | + background-color: #f2f2f2; | ||
101 | +} | ||
102 | +.nodata { | ||
103 | + text-align: center; | ||
104 | + background-color: #f2f2f2; | ||
105 | +} | ||
106 | + | ||
107 | +.name { | ||
108 | + height: 76rpx; | ||
109 | +} | ||
110 | + | ||
111 | +.plus_show{ | ||
112 | + background-color: #FE6867; | ||
113 | + color: #fff; | ||
114 | + padding: 3rpx 5rpx; | ||
115 | + border-radius:8rpx ; | ||
116 | + margin-left: 10rpx; | ||
117 | + margin-right: 5rpx; | ||
118 | +} |
packageA/pages/liveStreamDetails/liveStreamDetails.js
@@ -397,6 +397,19 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un | @@ -397,6 +397,19 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un | ||
397 | onLoad: function (options) { | 397 | onLoad: function (options) { |
398 | var that = this; | 398 | var that = this; |
399 | this.getSystemInfo(); | 399 | this.getSystemInfo(); |
400 | + | ||
401 | + var first_leader=options.first_leader; | ||
402 | + if(first_leader){ | ||
403 | + //-- user_id代过来免登陆 -- | ||
404 | + getApp().globalData.user_id=first_leader; | ||
405 | + getApp().getUserFir(); | ||
406 | + //调用接口判断是不是会员 | ||
407 | + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+o.stoid+"/"+first_leader,{}).then(res=>{ | ||
408 | + if(res.data.code==0){ | ||
409 | + getApp().globalData.guide_id=res.data.data.id; | ||
410 | + } | ||
411 | + }) | ||
412 | + } | ||
400 | 413 | ||
401 | getApp().request.promiseGet("/api/weshop/wx/livelist/get",{ | 414 | getApp().request.promiseGet("/api/weshop/wx/livelist/get",{ |
402 | data:{ id: options.id } | 415 | data:{ id: options.id } |
packageA/pages/live_share/live_share.js
0 → 100644
1 | +// packageA//pages/goods_share/goods_share.js | ||
2 | +var app=getApp(),oo = app.globalData.setting,os=oo,ut = require("../../../utils/util.js"); | ||
3 | +Page({ | ||
4 | + | ||
5 | + /** | ||
6 | + * 页面的初始数据 | ||
7 | + */ | ||
8 | + data: { | ||
9 | + //促销页tab | ||
10 | + tab2: ['正在直播','即将开始','精彩回放'], | ||
11 | + currentIndex2: 0, | ||
12 | + //popup | ||
13 | + hiddenPopup: true, | ||
14 | + | ||
15 | + list:[], | ||
16 | + is_load:0, //是否正在加载 | ||
17 | + is_no_data:0, //没有数据 | ||
18 | + is_no_more:0, //没有更多数据 | ||
19 | + key_str:'', | ||
20 | + currentPage:1, //当前的页码 | ||
21 | + share_hidden:1, //-- 分享的按钮隐藏 -- | ||
22 | + }, | ||
23 | + | ||
24 | + /** | ||
25 | + * 生命周期函数--监听页面加载 | ||
26 | + */ | ||
27 | + onLoad: function (options) { | ||
28 | + var th=this; | ||
29 | + //接受有没有导购的参数 | ||
30 | + var first_leader=options.first_leader; | ||
31 | + if(first_leader){ | ||
32 | + //-- user_id代过来免登陆 -- | ||
33 | + getApp().globalData.user_id=first_leader; | ||
34 | + getApp().getUserFir(); | ||
35 | + } | ||
36 | + this.requestGoodsList(); | ||
37 | + | ||
38 | + }, | ||
39 | + /** | ||
40 | + * 生命周期函数--监听页面显示 | ||
41 | + */ | ||
42 | + onShow: function () { | ||
43 | + | ||
44 | + }, | ||
45 | + | ||
46 | + /** | ||
47 | + * 生命周期函数--监听页面隐藏 | ||
48 | + */ | ||
49 | + onHide: function () { | ||
50 | + | ||
51 | + }, | ||
52 | + | ||
53 | + /** | ||
54 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
55 | + */ | ||
56 | + // onPullDownRefresh: function () { | ||
57 | + | ||
58 | + // }, | ||
59 | + | ||
60 | + /** | ||
61 | + * 页面上拉触底事件的处理函数 | ||
62 | + */ | ||
63 | + onReachBottom: function () { | ||
64 | + | ||
65 | + }, | ||
66 | + | ||
67 | + /** | ||
68 | + * 用户点击右上角分享 | ||
69 | + */ | ||
70 | + onShareAppMessage: function () { | ||
71 | + var th=this; | ||
72 | + var id=th.data.hui_active.id; | ||
73 | + var url='/packageA/pages/liveStreamDetails/liveStreamDetails?id=' + id + '&live=ing'; | ||
74 | + if(getApp().globalData.user_id){ | ||
75 | + url+="&first_leader="+getApp().globalData.user_id; | ||
76 | + } | ||
77 | + var title=th.data.hui_active.name; | ||
78 | + var img=th.data.hui_active.share_img; | ||
79 | + var ob={ | ||
80 | + title:title, | ||
81 | + path:url, | ||
82 | + imageUrl: img, | ||
83 | + }; | ||
84 | + th.setData({share_hidden:1}); | ||
85 | + return ob; | ||
86 | + }, | ||
87 | + | ||
88 | + | ||
89 | + // 点击tab | ||
90 | + clickTab2(e) { | ||
91 | + if(this.data.currentIndex2!=e.target.dataset.index){ | ||
92 | + this.setData({ | ||
93 | + currentIndex2: e.target.dataset.index,is_no_data:0,is_no_more:0,list:[], | ||
94 | + }); | ||
95 | + this.data.is_load=0; | ||
96 | + this.data.currentPage=1; | ||
97 | + this.requestGoodsList(); | ||
98 | + } | ||
99 | + }, | ||
100 | + | ||
101 | + // 关闭弹出层 | ||
102 | + closePopup() { | ||
103 | + this.setData({ | ||
104 | + hiddenPopup: true | ||
105 | + }); | ||
106 | + }, | ||
107 | + // 显示弹出层 | ||
108 | + showPopup() { | ||
109 | + this.setData({ | ||
110 | + hiddenPopup: false | ||
111 | + }); | ||
112 | + }, | ||
113 | + | ||
114 | + requestGoodsList:function(){ | ||
115 | + var th=this; | ||
116 | + if(th.data.is_load) return false; //-- 正在加载 | ||
117 | + if(th.data.is_no_data) return false; //-- 没有数据 | ||
118 | + if(th.data.is_no_more) return false; //-- 没有更多 | ||
119 | + th.data.is_load=1; | ||
120 | + | ||
121 | + var url="/api/weshop/wx/livelist/page"; | ||
122 | + var req_data={ | ||
123 | + page:this.data.currentPage, | ||
124 | + store_id:oo.stoid, | ||
125 | + } | ||
126 | + switch(th.data.currentIndex2){ | ||
127 | + case 0: | ||
128 | + req_data.live_status=101; | ||
129 | + break; | ||
130 | + case 1: | ||
131 | + req_data.live_status=102; | ||
132 | + break; | ||
133 | + case 2: | ||
134 | + req_data.live_status=103; | ||
135 | + break; | ||
136 | + } | ||
137 | + if(this.data.key_str && this.data.key_str.trim()){ | ||
138 | + var str=this.data.key_str.trim(); | ||
139 | + req_data.key_str=str; | ||
140 | + } | ||
141 | + //-- ---调用接口---- | ||
142 | + app.request.promiseGet(url,{data:req_data,isShowLoading:1}).then(res=>{ | ||
143 | + th.data.is_load=0; | ||
144 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
145 | + th.data.currentPage++; | ||
146 | + var data=res.data.data.pageData; | ||
147 | + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more:1});} | ||
148 | + var list=th.data.list; | ||
149 | + list=list.concat(data); | ||
150 | + th.setData({list:list}); | ||
151 | + }else{ | ||
152 | + if(th.data.currentPage==1){ | ||
153 | + th.setData({is_no_data:1}); | ||
154 | + } | ||
155 | + } | ||
156 | + }) | ||
157 | + }, | ||
158 | + | ||
159 | + //---点击分享优惠活动--- | ||
160 | + share_index:function(e){ | ||
161 | + | ||
162 | + //--先判断会员状态-- | ||
163 | + var user_info = getApp().globalData.userInfo; | ||
164 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
165 | + //getApp().my_warnning("请先登录",0,this); | ||
166 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | ||
167 | + return false; | ||
168 | + } | ||
169 | + | ||
170 | + var index=e.currentTarget.dataset.index; | ||
171 | + var item=this.data.list[index]; | ||
172 | + this.setData({share_hidden:0,hui_active:item}); | ||
173 | + | ||
174 | + var com = this.selectComponent("#share_button"); //组件的id | ||
175 | + com.set_type(1); | ||
176 | + }, | ||
177 | + //-- ---更多加载---- | ||
178 | + refresh:function(){ | ||
179 | + this.requestGoodsList(); | ||
180 | + }, | ||
181 | + | ||
182 | + | ||
183 | + | ||
184 | +}) | ||
0 | \ No newline at end of file | 185 | \ No newline at end of file |
packageA/pages/live_share/live_share.json
0 → 100644
packageA/pages/live_share/live_share.wxml
0 → 100644
1 | +<wxs src="../../../utils/filter.wxs" module="filter"></wxs> | ||
2 | +<view class="container"> | ||
3 | + <!-- 列表 --> | ||
4 | + <view class="list-container"> | ||
5 | + <!-- 标题 --> | ||
6 | + <view class="subTab-title flex"> | ||
7 | + <block wx:for="{{tab2}}"> | ||
8 | + <view class="subTab-titleItem {{currentIndex2 == index ? 'active':''}}" data-index="{{index}}" bindtap="clickTab2">{{item}}</view> | ||
9 | + </block> | ||
10 | + </view> | ||
11 | + <!-- 列表项 --> | ||
12 | + <scroll-view | ||
13 | + class="list" | ||
14 | + scroll-y="true" | ||
15 | + bindscrolltolower="refresh" | ||
16 | + scroll-anchoring | ||
17 | + refresher-enabled> | ||
18 | + <!-- 专享礼包 --> | ||
19 | + <block wx:for="{{list}}"> | ||
20 | + <view class class="list-item"> | ||
21 | + <view class="img-container {{currentIndex2 == 0?'live':currentIndex2 == 1?'coming':'playback'}}"> | ||
22 | + <image src="{{item.cover_img}}" style="width: 100%; height: 100%;" | ||
23 | + binderror="bind_bnerr2" lazy-load="true" | ||
24 | + data-errorimg="list[{{index}}].share_img"></image> | ||
25 | + </view> | ||
26 | + <view class="details"> | ||
27 | + <view class="ellipsis-2 fs28 name">{{item.name}}</view> | ||
28 | + <view class="pdt20 fs26 red">直播时间:{{filter.format_time(item.start_time, 2)}} </view> | ||
29 | + <view class="fs26 red pdv10">主播:{{item['anchor_name']}}</view> | ||
30 | + <view bindtap="share_index" data-index="{{index}}" class="t-r fs28 pdt10"><view class="btn-share">分享</view></view> | ||
31 | + </view> | ||
32 | + </view> | ||
33 | + </block> | ||
34 | + <!-- 暂无数据 --> | ||
35 | + <nodata wx:if="{{list.length==0}}" nodataContainer="nodata">暂无数据</nodata> | ||
36 | + <view wx:if="{{is_no_more}}" class="no-more t-c">- 已全部加载 -</view> | ||
37 | + </scroll-view> | ||
38 | + </view> | ||
39 | +</view> | ||
40 | +<!-- 分享控件,底部弹出 --> | ||
41 | +<share_button id="share_button" bind:cancel="cancel" bind:share_img="saveImageToPhotosAlbum" wx:if="{{!share_hidden}}"></share_button> | ||
42 | + |
packageA/pages/live_share/live_share.wxss
0 → 100644
1 | +/* packageA//pages/goods_share/goods_share.wxss */ | ||
2 | +.red { | ||
3 | + color: #FE6867; | ||
4 | +} | ||
5 | +.gray { | ||
6 | + color: #7b7b7b; | ||
7 | +} | ||
8 | +.w25 { | ||
9 | + width: 25%; | ||
10 | +} | ||
11 | +.w50 { | ||
12 | + width: 50%; | ||
13 | +} | ||
14 | +.w164 { | ||
15 | + width: 164rpx; | ||
16 | +} | ||
17 | +.bold { | ||
18 | + font-weight: bold; | ||
19 | +} | ||
20 | +page { | ||
21 | + background-color: #f2f2f2; | ||
22 | + height: 100%; | ||
23 | +} | ||
24 | +.container { | ||
25 | + background-color: white; | ||
26 | + height: 100%; | ||
27 | +} | ||
28 | +.search-container { | ||
29 | + display: flex; | ||
30 | + padding: 26rpx 20rpx; | ||
31 | + border-bottom: 2rpx solid #f8f8f8; | ||
32 | +} | ||
33 | +.input-container { | ||
34 | + flex: 1; | ||
35 | + border-radius: 6rpx 0 0 6rpx; | ||
36 | + overflow: hidden; | ||
37 | +} | ||
38 | +.search { | ||
39 | + background-color: #f0f0f0; | ||
40 | + padding: 10rpx 20rpx; | ||
41 | + font-size: 28rpx; | ||
42 | +} | ||
43 | +.btn-search { | ||
44 | + background-color: #FE6867; | ||
45 | + color: white; | ||
46 | + padding: 0 30rpx; | ||
47 | + display: flex; | ||
48 | + align-items: center; | ||
49 | + border-radius: 0 6rpx 6rpx 0; | ||
50 | +} | ||
51 | +.title { | ||
52 | + display: flex; | ||
53 | + font-size: 30rpx; | ||
54 | + border-bottom: 2rpx solid #f8f8f8; | ||
55 | +} | ||
56 | +.title .iconfont { | ||
57 | + color: #ccc; | ||
58 | + font-size: 16rpx; | ||
59 | + margin-left: 8rpx; | ||
60 | +} | ||
61 | +.title-item { | ||
62 | + width: 25%; | ||
63 | + box-sizing: border-box; | ||
64 | + text-align: center; | ||
65 | + padding: 20rpx; | ||
66 | + position: relative; | ||
67 | +} | ||
68 | +.title-item.active { | ||
69 | + color: #FE6867; | ||
70 | + font-weight: bold; | ||
71 | +} | ||
72 | +.title-item.active:after { | ||
73 | + content:''; | ||
74 | + position: absolute; | ||
75 | + width: 50%; | ||
76 | + height: 4rpx; | ||
77 | + background-color: #FE6867; | ||
78 | + left: 0; | ||
79 | + right: 0; | ||
80 | + bottom: 0; | ||
81 | + margin: 0 auto; | ||
82 | +} | ||
83 | +.list-container { | ||
84 | + height: calc(100% - 118rpx); | ||
85 | +} | ||
86 | +.list { | ||
87 | + box-sizing: border-box; | ||
88 | + height: calc(100% - 82rpx); | ||
89 | + background-color: #f2f2f2; | ||
90 | + /* padding-bottom: 102rpx; */ | ||
91 | +} | ||
92 | +.list.active1 { | ||
93 | + height: calc(100% - 82rpx - 78rpx); | ||
94 | + padding-bottom: 0; | ||
95 | +} | ||
96 | +.list.active2 { | ||
97 | + padding-bottom: 0; | ||
98 | +} | ||
99 | +.list-item { | ||
100 | + display: flex; | ||
101 | + padding: 20rpx; | ||
102 | + border-bottom: 2rpx solid #f8f8f8; | ||
103 | + background-color: white; | ||
104 | +} | ||
105 | +.img-container { | ||
106 | + background-color: #f0f0f0; | ||
107 | + width: 280rpx; | ||
108 | + height: 248rpx; | ||
109 | + display: flex; | ||
110 | + align-items: center; | ||
111 | + justify-content: center; | ||
112 | + position: relative; | ||
113 | +} | ||
114 | +.img-container:after {} | ||
115 | + | ||
116 | + | ||
117 | +.img-container.live:before { | ||
118 | + content: '\e664'; | ||
119 | +} | ||
120 | +.img-container.coming:before { | ||
121 | + content: '\e608'; | ||
122 | +} | ||
123 | +.img-container.playback:before { | ||
124 | + content: '\e603'; | ||
125 | +} | ||
126 | +.img-container.live:before, | ||
127 | +.img-container.coming:before, | ||
128 | +.img-container.playback:before { | ||
129 | + font-family: iconfont; | ||
130 | + background-color: #FE6867; | ||
131 | + color: white; | ||
132 | + width: 50rpx; | ||
133 | + height: 50rpx; | ||
134 | + line-height: 50rpx; | ||
135 | + text-align: center; | ||
136 | + border-radius: 50%; | ||
137 | + position: absolute; | ||
138 | + left: 10rpx; | ||
139 | + top: 10rpx; | ||
140 | +} | ||
141 | +.details { | ||
142 | + flex: 1; | ||
143 | + padding-left: 20rpx; | ||
144 | +} | ||
145 | +.btn-share { | ||
146 | + box-sizing: border-box; | ||
147 | + display: inline-block; | ||
148 | + background-color: #FE6867; | ||
149 | + color: white; | ||
150 | + padding: 8rpx 30rpx; | ||
151 | + border-radius: 6rpx; | ||
152 | + text-align: center; | ||
153 | +} | ||
154 | +.pdt10 { | ||
155 | + padding-top: 10rpx; | ||
156 | +} | ||
157 | +.pdt14 { | ||
158 | + padding-top: 14rpx; | ||
159 | +} | ||
160 | +.pdtb6 { | ||
161 | + padding-top: 6rpx; | ||
162 | + padding-bottom: 6rpx; | ||
163 | +} | ||
164 | +.pdtb8 { | ||
165 | + padding-top: 8rpx; | ||
166 | + padding-bottom: 8rpx; | ||
167 | +} | ||
168 | +.pdl20 { | ||
169 | + padding-left: 104rpx; | ||
170 | +} | ||
171 | + | ||
172 | + | ||
173 | +.no-more { | ||
174 | + line-height: 3; | ||
175 | + color: #ccc; | ||
176 | + /* background-color: #f2f2f2; */ | ||
177 | +} | ||
178 | +.nodata { | ||
179 | + text-align: center; | ||
180 | + background-color: #f2f2f2; | ||
181 | +} | ||
182 | +.progress-container { | ||
183 | + width: 55%; | ||
184 | + padding-right: 10rpx; | ||
185 | + position: relative; | ||
186 | + text-align: center; | ||
187 | +} | ||
188 | +.retail { | ||
189 | + color: #7b7b7b; | ||
190 | + text-decoration: line-through; | ||
191 | + font-size: 22rpx; | ||
192 | + padding-left: 20rpx; | ||
193 | +} | ||
194 | +.name { | ||
195 | + height: 76rpx; | ||
196 | + overflow: hidden; | ||
197 | +} | ||
198 | + | ||
199 | +.percent { | ||
200 | + position: absolute; | ||
201 | + top: 0; | ||
202 | + bottom: 0; | ||
203 | + left: 0; | ||
204 | + right: 0; | ||
205 | + margin: auto; | ||
206 | + color: white; | ||
207 | +} | ||
208 | +.tabbar { | ||
209 | + position: fixed; | ||
210 | + width: 100%; | ||
211 | + bottom: 0; | ||
212 | + background-color: white; | ||
213 | +} | ||
214 | +.tabbar:after { | ||
215 | + position: absolute; | ||
216 | + content: ''; | ||
217 | + width: 2rpx; | ||
218 | + height: 50%; | ||
219 | + top: 0; | ||
220 | + bottom: 0; | ||
221 | + left: 0; | ||
222 | + right: 0; | ||
223 | + margin: auto; | ||
224 | + background-color: #f0f0f0; | ||
225 | +} | ||
226 | +.tabbar-item { | ||
227 | + width: 50%; | ||
228 | + text-align: center; | ||
229 | + padding-top: 30rpx; | ||
230 | + padding-bottom: 30rpx; | ||
231 | +} | ||
232 | +.tabbar-item .iconfont { | ||
233 | + margin-right: 10rpx; | ||
234 | +} | ||
235 | +.tabbar-item.active { | ||
236 | + color: #FE6867; | ||
237 | +} | ||
238 | + | ||
239 | + | ||
240 | +.group-type, | ||
241 | +.group-num { | ||
242 | + position: relative; | ||
243 | + font-size: 22rpx; | ||
244 | +} | ||
245 | +.group-type:before, | ||
246 | +.group-num:before { | ||
247 | + font-family: iconfont; | ||
248 | +} | ||
249 | +.group-type:before { | ||
250 | + content: '\e66a'; | ||
251 | + color: white; | ||
252 | + background-color: #FE6867; | ||
253 | + position: absolute; | ||
254 | + left: 0; | ||
255 | + top: 0; | ||
256 | + bottom: 0; | ||
257 | + padding-left: 6rpx; | ||
258 | + padding-right: 10rpx; | ||
259 | + line-height: 30rpx; | ||
260 | +} | ||
261 | +.group-num:before { | ||
262 | + padding-right: 6rpx; | ||
263 | +} | ||
264 | +.group-num:before { | ||
265 | + content: '\e694'; | ||
266 | + position: relative; | ||
267 | +} | ||
268 | +.group-num { | ||
269 | + color: white; | ||
270 | + background-color: #FE6867; | ||
271 | + border-radius: 34rpx; | ||
272 | + padding-left: 10rpx; | ||
273 | + padding-right: 10rpx; | ||
274 | + margin-right: 14rpx; | ||
275 | +} | ||
276 | +.group-type { | ||
277 | + color: #FE6867; | ||
278 | + border: 2rpx solid #FE6867; | ||
279 | + padding-left: 42rpx; | ||
280 | + padding-right: 4rpx; | ||
281 | + border-radius: 6rpx; | ||
282 | +} | ||
283 | + | ||
284 | +.badge { | ||
285 | + color: white; | ||
286 | + padding: 0 20rpx; | ||
287 | + border-radius: 6rpx; | ||
288 | + background-color: #FE6867; | ||
289 | + margin-right: 10rpx; | ||
290 | +} | ||
291 | + | ||
292 | +.subTab-title { | ||
293 | + text-align: center; | ||
294 | + justify-content: center; | ||
295 | + align-items: center; | ||
296 | + font-size: 28rpx; | ||
297 | +} | ||
298 | +.subTab-list { | ||
299 | + padding: 20rpx; | ||
300 | +} | ||
301 | +.subTab-titleItem { | ||
302 | + box-sizing: border-box; | ||
303 | + width: calc(100% / 3); | ||
304 | + padding: 20rpx 40rpx; | ||
305 | + background-color: white; | ||
306 | + border-right: 2rpx solid #f8f8f8; | ||
307 | +} | ||
308 | +.subTab-titleItem:last-child { | ||
309 | + border-right: none; | ||
310 | +} | ||
311 | +.subTab-titleItem.active { | ||
312 | + background-color: #FE6867; | ||
313 | + color: white; | ||
314 | +} | ||
315 | +.subTab-item { | ||
316 | + padding: 20rpx; | ||
317 | + border-bottom: 2rpx solid #f8f8f8; | ||
318 | + background-color: white; | ||
319 | + border-radius: 8rpx; | ||
320 | + box-shadow: 0 8px 12px #e7e9eb; | ||
321 | +} | ||
322 | +.subTab-item ~ .subTab-item { | ||
323 | + margin-top: 20rpx; | ||
324 | +} | ||
325 | +.pdv10 { | ||
326 | + padding-top: 10rpx; | ||
327 | + padding-bottom: 10rpx; | ||
328 | +} | ||
329 | +.pdv20 { | ||
330 | + padding-top: 20rpx; | ||
331 | + padding-bottom: 20rpx; | ||
332 | +} | ||
333 | +.pdb10 { | ||
334 | + padding-bottom: 10rpx; | ||
335 | +} | ||
336 | +.pdb20 { | ||
337 | + padding-bottom: 20rpx; | ||
338 | +} | ||
339 | +.bdr-b { | ||
340 | + border-bottom: 2rpx solid #f8f8f8; | ||
341 | +} | ||
342 | +.dash-b { | ||
343 | + border-bottom: 2rpx dashed #ddd; | ||
344 | +} | ||
345 | +.btn-container { | ||
346 | + display: flex; | ||
347 | + align-items: flex-end; | ||
348 | + font-size: 26rpx; | ||
349 | +} | ||
350 | + | ||
351 | + | ||
352 | +/* .popup-container { | ||
353 | + content:''; | ||
354 | + position: fixed; | ||
355 | + top: 0; | ||
356 | + bottom: 0; | ||
357 | + left: 0; | ||
358 | + right: 0; | ||
359 | + z-index: 3; | ||
360 | + background-color: rgba(0,0,0,.6); | ||
361 | + display: flex; | ||
362 | + align-items: center; | ||
363 | + justify-content: center; | ||
364 | +} | ||
365 | +.popup { | ||
366 | + width: 90%; | ||
367 | +} | ||
368 | +.popup-content { | ||
369 | + box-sizing: border-box; | ||
370 | + width: 100%; | ||
371 | + background-color: white; | ||
372 | + padding: 0 20rpx; | ||
373 | + border-radius: 10rpx; | ||
374 | + max-height: 1038rpx; | ||
375 | +} | ||
376 | +.icon-close { | ||
377 | + font-size: 60rpx; | ||
378 | + color: white; | ||
379 | +} | ||
380 | +.popup-btn { | ||
381 | + padding-top: 30rpx; | ||
382 | +} | ||
383 | + | ||
384 | +.popup-title { | ||
385 | + /* font-size: 28rpx; */ | ||
386 | + /* font-weight: bold; | ||
387 | + padding: 20rpx 0; | ||
388 | +} | ||
389 | +.popup-title2 { */ | ||
390 | + /* padding: 10rpx 0; */ | ||
391 | + /* padding-bottom: 8rpx; | ||
392 | +} | ||
393 | +.popup-title3 { | ||
394 | + padding-left: 34rpx; | ||
395 | + font-size: 30rpx; | ||
396 | +} | ||
397 | +.popup-list { | ||
398 | + max-height: 602rpx; | ||
399 | + overflow-y: auto; | ||
400 | +} | ||
401 | + | ||
402 | + | ||
403 | +radio .wx-radio-input { | ||
404 | + width: 28rpx; | ||
405 | + height: 28rpx; | ||
406 | +} | ||
407 | + | ||
408 | + | ||
409 | +radio .wx-radio-input.wx-radio-input-checked { | ||
410 | + background-color: #FE6867; | ||
411 | + border-color: #FE6867; | ||
412 | +} | ||
413 | +radio .wx-radio-input.wx-radio-input-checked::before{ | ||
414 | + color: white; | ||
415 | +} | ||
416 | + | ||
417 | +.popup-content.active { | ||
418 | + max-height: 982rpx; | ||
419 | + overflow: auto; | ||
420 | +} */ | ||
421 | + | ||
422 | + | ||
423 | + | ||
424 | + | ||
425 | + |
packageA/pages/quan/quan.js
0 → 100644
1 | +// packageA//pages/goods_share/goods_share.js | ||
2 | +var app=getApp(),oo = app.globalData.setting,os=oo,ut = require("../../../utils/util.js"); | ||
3 | +Page({ | ||
4 | + | ||
5 | + /** | ||
6 | + * 页面的初始数据 | ||
7 | + */ | ||
8 | + data: { | ||
9 | + //促销页tab | ||
10 | + tab2: ['免费发放'], | ||
11 | + currentIndex2:0, | ||
12 | + list:[], | ||
13 | + is_load:0, //是否正在加载 | ||
14 | + is_no_data:0, //没有数据 | ||
15 | + is_no_more:0, //没有更多数据 | ||
16 | + key_str:'', | ||
17 | + currentPage:1, //当前的页码 | ||
18 | + share_hidden:1, //-- 分享的按钮隐藏 -- | ||
19 | + hiddenPopup:1, | ||
20 | + }, | ||
21 | + | ||
22 | + /** | ||
23 | + * 生命周期函数--监听页面加载 | ||
24 | + */ | ||
25 | + onLoad: function (options) { | ||
26 | + var th=this; | ||
27 | + //接受有没有导购的参数 | ||
28 | + var first_leader=options.first_leader; | ||
29 | + if(first_leader){ | ||
30 | + //-- user_id代过来免登陆 -- | ||
31 | + getApp().globalData.user_id=first_leader; | ||
32 | + getApp().getUserFir(); | ||
33 | + } | ||
34 | + this.requestGoodsList(); | ||
35 | + this.setData({getcurday:ut.gettimestamp()}); | ||
36 | + | ||
37 | + }, | ||
38 | + | ||
39 | + /** | ||
40 | + * 生命周期函数--监听页面显示 | ||
41 | + */ | ||
42 | + onShow: function () { }, | ||
43 | + | ||
44 | + /** | ||
45 | + * 生命周期函数--监听页面隐藏 | ||
46 | + */ | ||
47 | + onHide: function () { | ||
48 | + | ||
49 | + }, | ||
50 | + /** | ||
51 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
52 | + */ | ||
53 | + // onPullDownRefresh: function () { | ||
54 | + | ||
55 | + // }, | ||
56 | + | ||
57 | + /** | ||
58 | + * 页面上拉触底事件的处理函数 | ||
59 | + */ | ||
60 | + onReachBottom: function () { | ||
61 | + | ||
62 | + }, | ||
63 | + | ||
64 | + /** | ||
65 | + * 用户点击右上角分享 | ||
66 | + */ | ||
67 | + onShareAppMessage: function () { | ||
68 | + var th=this; | ||
69 | + var id=th.data.hui_active.id; | ||
70 | + var url="/packageA/pages/quan_pro/quan_pro?id="+id; | ||
71 | + | ||
72 | + if(getApp().globalData.user_id){ | ||
73 | + url+="&first_leader="+getApp().globalData.user_id; | ||
74 | + } | ||
75 | + var title=th.data.hui_active.name; | ||
76 | + var ob={ | ||
77 | + title:title, | ||
78 | + path:url, | ||
79 | + }; | ||
80 | + th.setData({share_hidden:1}); | ||
81 | + return ob; | ||
82 | + }, | ||
83 | + | ||
84 | + requestGoodsList:function(){ | ||
85 | + var th=this; | ||
86 | + if(th.data.is_load) return false; //-- 正在加载 | ||
87 | + if(th.data.is_no_data) return false; //-- 没有数据 | ||
88 | + if(th.data.is_no_more) return false; //-- 没有更多 | ||
89 | + th.data.is_load=1; | ||
90 | + | ||
91 | + var url="/api/weshop/prom/coupon/pageCouponList"; | ||
92 | + var req_data={ | ||
93 | + page:this.data.currentPage, | ||
94 | + store_id:oo.stoid, | ||
95 | + type:1 | ||
96 | + } | ||
97 | + | ||
98 | + //-- ---调用接口---- | ||
99 | + app.request.promiseGet(url,{data:req_data,isShowLoading:1}).then(res=>{ | ||
100 | + th.data.is_load=0; | ||
101 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
102 | + th.data.currentPage++; | ||
103 | + var data=res.data.data.pageData; | ||
104 | + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more:1});} | ||
105 | + var list=th.data.list; | ||
106 | + list=list.concat(data); | ||
107 | + th.setData({list:list}); | ||
108 | + }else{ | ||
109 | + if(th.data.currentPage==1){ | ||
110 | + th.setData({is_no_data:1}); | ||
111 | + } | ||
112 | + } | ||
113 | + }) | ||
114 | + }, | ||
115 | + | ||
116 | + | ||
117 | + //---点击分享优惠活动--- | ||
118 | + share_index:function(e){ | ||
119 | + | ||
120 | + //--先判断会员状态-- | ||
121 | + var user_info = getApp().globalData.userInfo; | ||
122 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
123 | + //getApp().my_warnning("请先登录",0,this); | ||
124 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | ||
125 | + return false; | ||
126 | + } | ||
127 | + | ||
128 | + var index=e.currentTarget.dataset.index; | ||
129 | + var item=this.data.list[index]; | ||
130 | + this.setData({share_hidden:0,hui_active:item}); | ||
131 | + | ||
132 | + var com = this.selectComponent("#share_button"); //组件的id | ||
133 | + com.set_type(1); | ||
134 | + }, | ||
135 | + //-- ---更多加载---- | ||
136 | + refresh:function(){ | ||
137 | + this.requestGoodsList(); | ||
138 | + }, | ||
139 | + | ||
140 | + //---点击分享优惠活动--- | ||
141 | + share_index:function(e){ | ||
142 | + | ||
143 | + //--先判断会员状态-- | ||
144 | + var user_info = getApp().globalData.userInfo; | ||
145 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
146 | + //getApp().my_warnning("请先登录",0,this); | ||
147 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | ||
148 | + return false; | ||
149 | + } | ||
150 | + | ||
151 | + var index=e.currentTarget.dataset.index; | ||
152 | + var item=this.data.list[index]; | ||
153 | + this.setData({share_hidden:0,hui_active:item}); | ||
154 | + | ||
155 | + var com = this.selectComponent("#share_button"); //组件的id | ||
156 | + com.set_type(1); | ||
157 | + }, | ||
158 | + | ||
159 | + | ||
160 | + | ||
161 | + | ||
162 | +}) | ||
0 | \ No newline at end of file | 163 | \ No newline at end of file |
packageA/pages/quan/quan.json
0 → 100644
packageA/pages/quan/quan.wxml
0 → 100644
1 | +<wxs module="filters" src="../../../utils/filter.wxs"></wxs> | ||
2 | +<view class="container"> | ||
3 | + <!-- 列表 --> | ||
4 | + <!-- <view class="list-container"> --> | ||
5 | + <!-- 标题 --> | ||
6 | + <view class="subTab-title flex"> | ||
7 | + <block wx:for="{{tab2}}"> | ||
8 | + <view class="subTab-titleItem {{currentIndex2 == index ? 'active':''}}" data-index="{{index}}" bindtap="clickTab2">{{item}}</view> | ||
9 | + </block> | ||
10 | + </view> | ||
11 | + <!-- 列表项 --> | ||
12 | + <scroll-view | ||
13 | + class="list" | ||
14 | + scroll-y="true" | ||
15 | + bindscrolltolower="refresh" | ||
16 | + scroll-anchoring | ||
17 | + refresher-enabled> | ||
18 | + | ||
19 | + <block wx:for="{{list}}"> | ||
20 | + <view class="coupons bg-red"> | ||
21 | + <view class="flex"> | ||
22 | + <view> | ||
23 | + <view class="coupon-hd ellipsis-2 fs36">{{item.name}}</view> | ||
24 | + <view class="deadline fs28 pdt10" wx:if="{{item.endtype==0}}">限时使用: | ||
25 | + <text wx:if="{{item.starttype==1}}">{{filters.format_time(getcurday+3600*24*item.startdays)}}</text> | ||
26 | + <text wx:if="{{item.starttype==0 && item.use_start_time>0}}"> {{filters.format_time(item.use_start_time)}}</text>至 | ||
27 | + <text wx:if="{{item.use_end_time>0}}"> {{filters.format_time(item.use_end_time)}}</text><text wx:else>不限</text> | ||
28 | + </view> | ||
29 | + <view class="deadline fs28 pdt10" wx:else>限时使用: | ||
30 | + <text wx:if="{{item.starttype==1}}">{{filters.format_time(getcurday+3600*24*item.startdays)}}至</text> <text wx:if="{{item.days>0}}">{{filters.format_time(getcurday+3600*24*item.days)}}</text><text wx:else>不限</text> | ||
31 | + </view> | ||
32 | + </view> | ||
33 | + <view class="price">¥<text class="fs80">{{filters.toFix(item.money,2)}}</text></view> | ||
34 | + </view> | ||
35 | + <view class="flex ai-center jc_sb pdt20"> | ||
36 | + <view wx:if="{{item.useobjecttype==0}}" class="coupon-ft ellipsis-2 fs28">全场任意产品通用</view> | ||
37 | + <view wx:if="{{item.useobjecttype==1}}" class="coupon-ft ellipsis-2 fs28">名牌({{item.useobjectname}})</view> | ||
38 | + <view wx:if="{{item.useobjecttype==2}}" class="coupon-ft ellipsis-2 fs28">品类({{item.useobjectname}})</view> | ||
39 | + <view wx:if="{{item.useobjecttype==11}}" class="coupon-ft ellipsis-2 fs28">用途({{item.useobjectname}})</view> | ||
40 | + <view wx:if="{{item.useobjecttype==12}}" class="coupon-ft ellipsis-2 fs28">分类一({{item.useobjectname}})</view> | ||
41 | + <view wx:if="{{item.useobjecttype==20}}" class="coupon-ft ellipsis-2 fs28">单品({{item.useobjectname}})</view> | ||
42 | + | ||
43 | + <view bindtap="share_index" data-index="{{index}}" class="btn-share" >分享</view> | ||
44 | + </view> | ||
45 | + </view> | ||
46 | + </block> | ||
47 | + | ||
48 | + <!-- 暂无数据 --> | ||
49 | + <nodata wx:if="{{list.length==0}}" nodataContainer="nodata">暂无数据</nodata> | ||
50 | + <view wx:if="{{is_no_more}}" class="no-more t-c">- 已全部加载 -</view> | ||
51 | + </scroll-view> | ||
52 | + <!-- </view> --> | ||
53 | + <view class="popup-container" hidden="{{hiddenPopup}}"> | ||
54 | + <view class="popup" bindtap="select"> | ||
55 | + <view class="popup-item bdr-b" hover-class="active" data-index="0"> | ||
56 | + <image src="../../images/wx2.png" class="popup-img"></image>微信 | ||
57 | + </view> | ||
58 | + <view class="popup-item" hover-class="active" data-index="1"> | ||
59 | + <image src="../../images/qywx.png" class="popup-img h70"></image>企业微信 | ||
60 | + </view> | ||
61 | + </view> | ||
62 | + </view> | ||
63 | +</view> | ||
64 | +<!-- 分享控件,底部弹出 --> | ||
65 | +<share_button id="share_button" bind:cancel="cancel" bind:share_img="saveImageToPhotosAlbum" wx:if="{{!share_hidden}}"></share_button> |
packageA/pages/quan/quan.wxss
0 → 100644
1 | +/* packageA//pages/goods_share/goods_share.wxss */ | ||
2 | +.red { | ||
3 | + color: #FE6867; | ||
4 | +} | ||
5 | +.gray { | ||
6 | + color: #7b7b7b; | ||
7 | +} | ||
8 | +.w25 { | ||
9 | + width: 25%; | ||
10 | +} | ||
11 | +.w50 { | ||
12 | + width: 50%; | ||
13 | +} | ||
14 | +.w164 { | ||
15 | + width: 164rpx; | ||
16 | +} | ||
17 | +.bold { | ||
18 | + font-weight: bold; | ||
19 | +} | ||
20 | +page { | ||
21 | + background-color: #f2f2f2; | ||
22 | + height: 100%; | ||
23 | +} | ||
24 | +.container { | ||
25 | + /* background-color: white; */ | ||
26 | + height: 100%; | ||
27 | +} | ||
28 | +.search-container { | ||
29 | + display: flex; | ||
30 | + padding: 26rpx 20rpx; | ||
31 | + border-bottom: 2rpx solid #f8f8f8; | ||
32 | +} | ||
33 | +.input-container { | ||
34 | + flex: 1; | ||
35 | + border-radius: 6rpx 0 0 6rpx; | ||
36 | + overflow: hidden; | ||
37 | +} | ||
38 | +.search { | ||
39 | + background-color: #f0f0f0; | ||
40 | + padding: 10rpx 20rpx; | ||
41 | + font-size: 28rpx; | ||
42 | +} | ||
43 | +.btn-search { | ||
44 | + background-color: #FE6867; | ||
45 | + color: white; | ||
46 | + padding: 0 30rpx; | ||
47 | + display: flex; | ||
48 | + align-items: center; | ||
49 | + border-radius: 0 6rpx 6rpx 0; | ||
50 | +} | ||
51 | +.title { | ||
52 | + display: flex; | ||
53 | + font-size: 30rpx; | ||
54 | + border-bottom: 2rpx solid #f8f8f8; | ||
55 | +} | ||
56 | +.title .iconfont { | ||
57 | + color: #ccc; | ||
58 | + font-size: 16rpx; | ||
59 | + margin-left: 8rpx; | ||
60 | +} | ||
61 | +.title-item { | ||
62 | + width: 25%; | ||
63 | + box-sizing: border-box; | ||
64 | + text-align: center; | ||
65 | + padding: 20rpx; | ||
66 | + position: relative; | ||
67 | +} | ||
68 | +.title-item.active { | ||
69 | + color: #FE6867; | ||
70 | + font-weight: bold; | ||
71 | +} | ||
72 | +.title-item.active:after { | ||
73 | + content:''; | ||
74 | + position: absolute; | ||
75 | + width: 50%; | ||
76 | + height: 4rpx; | ||
77 | + background-color: #FE6867; | ||
78 | + left: 0; | ||
79 | + right: 0; | ||
80 | + bottom: 0; | ||
81 | + margin: 0 auto; | ||
82 | +} | ||
83 | +.list-container { | ||
84 | + /* height: 100%; */ | ||
85 | +} | ||
86 | +.list { | ||
87 | + box-sizing: border-box; | ||
88 | + height: calc(100% - 78rpx); | ||
89 | + background-color: #f2f2f2; | ||
90 | + padding: 20rpx 20rpx 0 20rpx; | ||
91 | + /* padding-bottom: 102rpx; */ | ||
92 | +} | ||
93 | +.list.active1 { | ||
94 | + height: calc(100% - 82rpx - 78rpx); | ||
95 | + padding-bottom: 0; | ||
96 | +} | ||
97 | +.list.active2 { | ||
98 | + padding-bottom: 0; | ||
99 | +} | ||
100 | +.list-item { | ||
101 | + display: flex; | ||
102 | + padding: 20rpx; | ||
103 | + border-bottom: 2rpx solid #f8f8f8; | ||
104 | + background-color: white; | ||
105 | +} | ||
106 | +.img-container { | ||
107 | + background-color: #f0f0f0; | ||
108 | + width: 280rpx; | ||
109 | + height: 248rpx; | ||
110 | + display: flex; | ||
111 | + align-items: center; | ||
112 | + justify-content: center; | ||
113 | + position: relative; | ||
114 | +} | ||
115 | +.img-container:after { | ||
116 | + font-family: iconfont; | ||
117 | + content: '\e8c1'; | ||
118 | + color: #bbb; | ||
119 | + font-size: 80rpx; | ||
120 | +} | ||
121 | + | ||
122 | + | ||
123 | +.img-container.live:before { | ||
124 | + content: '\e664'; | ||
125 | +} | ||
126 | +.img-container.coming:before { | ||
127 | + content: '\e608'; | ||
128 | +} | ||
129 | +.img-container.playback:before { | ||
130 | + content: '\e603'; | ||
131 | +} | ||
132 | +.img-container.live:before, | ||
133 | +.img-container.coming:before, | ||
134 | +.img-container.playback:before { | ||
135 | + font-family: iconfont; | ||
136 | + background-color: #FE6867; | ||
137 | + color: white; | ||
138 | + width: 50rpx; | ||
139 | + height: 50rpx; | ||
140 | + line-height: 50rpx; | ||
141 | + text-align: center; | ||
142 | + border-radius: 50%; | ||
143 | + position: absolute; | ||
144 | + left: 10rpx; | ||
145 | + top: 10rpx; | ||
146 | +} | ||
147 | +.details { | ||
148 | + flex: 1; | ||
149 | + padding-left: 20rpx; | ||
150 | +} | ||
151 | +.btn-share { | ||
152 | + box-sizing: border-box; | ||
153 | + display: inline-block; | ||
154 | + background-color: #FE6867; | ||
155 | + color: white; | ||
156 | + padding: 8rpx 30rpx; | ||
157 | + border-radius: 6rpx; | ||
158 | + text-align: center; | ||
159 | +} | ||
160 | +.pdt10 { | ||
161 | + padding-top: 10rpx; | ||
162 | +} | ||
163 | +.pdt14 { | ||
164 | + padding-top: 14rpx; | ||
165 | +} | ||
166 | +.pdtb6 { | ||
167 | + padding-top: 6rpx; | ||
168 | + padding-bottom: 6rpx; | ||
169 | +} | ||
170 | +.pdtb8 { | ||
171 | + padding-top: 8rpx; | ||
172 | + padding-bottom: 8rpx; | ||
173 | +} | ||
174 | +.pdl20 { | ||
175 | + padding-left: 104rpx; | ||
176 | +} | ||
177 | + | ||
178 | + | ||
179 | +.no-more { | ||
180 | + line-height: 3; | ||
181 | + color: #ccc; | ||
182 | + /* background-color: #f2f2f2; */ | ||
183 | +} | ||
184 | +.nodata { | ||
185 | + text-align: center; | ||
186 | + background-color: #f2f2f2; | ||
187 | +} | ||
188 | +.progress-container { | ||
189 | + width: 55%; | ||
190 | + padding-right: 10rpx; | ||
191 | + position: relative; | ||
192 | + text-align: center; | ||
193 | +} | ||
194 | +.retail { | ||
195 | + color: #7b7b7b; | ||
196 | + text-decoration: line-through; | ||
197 | + font-size: 22rpx; | ||
198 | + padding-left: 20rpx; | ||
199 | +} | ||
200 | +.name { | ||
201 | + height: 76rpx; | ||
202 | + overflow: hidden; | ||
203 | +} | ||
204 | + | ||
205 | +.percent { | ||
206 | + position: absolute; | ||
207 | + top: 0; | ||
208 | + bottom: 0; | ||
209 | + left: 0; | ||
210 | + right: 0; | ||
211 | + margin: auto; | ||
212 | + color: white; | ||
213 | +} | ||
214 | +.tabbar { | ||
215 | + position: fixed; | ||
216 | + width: 100%; | ||
217 | + bottom: 0; | ||
218 | + background-color: white; | ||
219 | +} | ||
220 | +.tabbar:after { | ||
221 | + position: absolute; | ||
222 | + content: ''; | ||
223 | + width: 2rpx; | ||
224 | + height: 50%; | ||
225 | + top: 0; | ||
226 | + bottom: 0; | ||
227 | + left: 0; | ||
228 | + right: 0; | ||
229 | + margin: auto; | ||
230 | + background-color: #f0f0f0; | ||
231 | +} | ||
232 | +.tabbar-item { | ||
233 | + width: 50%; | ||
234 | + text-align: center; | ||
235 | + padding-top: 30rpx; | ||
236 | + padding-bottom: 30rpx; | ||
237 | +} | ||
238 | +.tabbar-item .iconfont { | ||
239 | + margin-right: 10rpx; | ||
240 | +} | ||
241 | +.tabbar-item.active { | ||
242 | + color: #FE6867; | ||
243 | +} | ||
244 | + | ||
245 | + | ||
246 | +.group-type, | ||
247 | +.group-num { | ||
248 | + position: relative; | ||
249 | + font-size: 22rpx; | ||
250 | +} | ||
251 | +.group-type:before, | ||
252 | +.group-num:before { | ||
253 | + font-family: iconfont; | ||
254 | +} | ||
255 | +.group-type:before { | ||
256 | + content: '\e66a'; | ||
257 | + color: white; | ||
258 | + background-color: #FE6867; | ||
259 | + position: absolute; | ||
260 | + left: 0; | ||
261 | + top: 0; | ||
262 | + bottom: 0; | ||
263 | + padding-left: 6rpx; | ||
264 | + padding-right: 10rpx; | ||
265 | + line-height: 30rpx; | ||
266 | +} | ||
267 | +.group-num:before { | ||
268 | + padding-right: 6rpx; | ||
269 | +} | ||
270 | +.group-num:before { | ||
271 | + content: '\e694'; | ||
272 | + position: relative; | ||
273 | +} | ||
274 | +.group-num { | ||
275 | + color: white; | ||
276 | + background-color: #FE6867; | ||
277 | + border-radius: 34rpx; | ||
278 | + padding-left: 10rpx; | ||
279 | + padding-right: 10rpx; | ||
280 | + margin-right: 14rpx; | ||
281 | +} | ||
282 | +.group-type { | ||
283 | + color: #FE6867; | ||
284 | + border: 2rpx solid #FE6867; | ||
285 | + padding-left: 42rpx; | ||
286 | + padding-right: 4rpx; | ||
287 | + border-radius: 6rpx; | ||
288 | +} | ||
289 | + | ||
290 | +.badge { | ||
291 | + color: white; | ||
292 | + padding: 0 20rpx; | ||
293 | + border-radius: 6rpx; | ||
294 | + background-color: #FE6867; | ||
295 | + margin-right: 10rpx; | ||
296 | +} | ||
297 | + | ||
298 | +.subTab-title { | ||
299 | + text-align: center; | ||
300 | + justify-content: center; | ||
301 | + align-items: center; | ||
302 | + font-size: 28rpx; | ||
303 | +} | ||
304 | +.subTab-list { | ||
305 | + padding: 20rpx; | ||
306 | +} | ||
307 | +.subTab-titleItem { | ||
308 | + box-sizing: border-box; | ||
309 | + width: calc(100% / 3); | ||
310 | + padding: 20rpx 40rpx; | ||
311 | + background-color: white; | ||
312 | + border-right: 2rpx solid #f8f8f8; | ||
313 | + flex: 1; | ||
314 | +} | ||
315 | +.subTab-titleItem:last-child { | ||
316 | + border-right: none; | ||
317 | +} | ||
318 | +.subTab-titleItem.active { | ||
319 | + background-color: #FE6867; | ||
320 | + color: white; | ||
321 | +} | ||
322 | +.subTab-item { | ||
323 | + padding: 20rpx; | ||
324 | + border-bottom: 2rpx solid #f8f8f8; | ||
325 | + background-color: white; | ||
326 | + border-radius: 8rpx; | ||
327 | + box-shadow: 0 8px 12px #e7e9eb; | ||
328 | +} | ||
329 | +.subTab-item ~ .subTab-item { | ||
330 | + margin-top: 20rpx; | ||
331 | +} | ||
332 | +.pdv10 { | ||
333 | + padding-top: 10rpx; | ||
334 | + padding-bottom: 10rpx; | ||
335 | +} | ||
336 | +.pdv20 { | ||
337 | + padding-top: 20rpx; | ||
338 | + padding-bottom: 20rpx; | ||
339 | +} | ||
340 | +.pdb10 { | ||
341 | + padding-bottom: 10rpx; | ||
342 | +} | ||
343 | +.pdb20 { | ||
344 | + padding-bottom: 20rpx; | ||
345 | +} | ||
346 | +.bdr-b { | ||
347 | + border-bottom: 2rpx solid #f8f8f8; | ||
348 | +} | ||
349 | +.dash-b { | ||
350 | + border-bottom: 2rpx dashed #ddd; | ||
351 | +} | ||
352 | +.btn-container { | ||
353 | + display: flex; | ||
354 | + align-items: flex-end; | ||
355 | + font-size: 26rpx; | ||
356 | +} | ||
357 | + | ||
358 | + | ||
359 | +/* .popup-container { | ||
360 | + content:''; | ||
361 | + position: fixed; | ||
362 | + top: 0; | ||
363 | + bottom: 0; | ||
364 | + left: 0; | ||
365 | + right: 0; | ||
366 | + z-index: 3; | ||
367 | + background-color: rgba(0,0,0,.6); | ||
368 | + display: flex; | ||
369 | + align-items: center; | ||
370 | + justify-content: center; | ||
371 | +} | ||
372 | +.popup { | ||
373 | + width: 90%; | ||
374 | +} | ||
375 | +.popup-content { | ||
376 | + box-sizing: border-box; | ||
377 | + width: 100%; | ||
378 | + background-color: white; | ||
379 | + padding: 0 20rpx; | ||
380 | + border-radius: 10rpx; | ||
381 | + max-height: 1038rpx; | ||
382 | +} | ||
383 | +.icon-close { | ||
384 | + font-size: 60rpx; | ||
385 | + color: white; | ||
386 | +} | ||
387 | +.popup-btn { | ||
388 | + padding-top: 30rpx; | ||
389 | +} | ||
390 | + | ||
391 | +.popup-title { | ||
392 | + /* font-size: 28rpx; */ | ||
393 | + /* font-weight: bold; | ||
394 | + padding: 20rpx 0; | ||
395 | +} | ||
396 | +.popup-title2 { */ | ||
397 | + /* padding: 10rpx 0; */ | ||
398 | + /* padding-bottom: 8rpx; | ||
399 | +} | ||
400 | +.popup-title3 { | ||
401 | + padding-left: 34rpx; | ||
402 | + font-size: 30rpx; | ||
403 | +} | ||
404 | +.popup-list { | ||
405 | + max-height: 602rpx; | ||
406 | + overflow-y: auto; | ||
407 | +} | ||
408 | + | ||
409 | + | ||
410 | +radio .wx-radio-input { | ||
411 | + width: 28rpx; | ||
412 | + height: 28rpx; | ||
413 | +} | ||
414 | + | ||
415 | + | ||
416 | +radio .wx-radio-input.wx-radio-input-checked { | ||
417 | + background-color: #FE6867; | ||
418 | + border-color: #FE6867; | ||
419 | +} | ||
420 | +radio .wx-radio-input.wx-radio-input-checked::before{ | ||
421 | + color: white; | ||
422 | +} | ||
423 | + | ||
424 | +.popup-content.active { | ||
425 | + max-height: 982rpx; | ||
426 | + overflow: auto; | ||
427 | +} */ | ||
428 | + | ||
429 | + | ||
430 | + | ||
431 | +.coupons { | ||
432 | + color: white; | ||
433 | + position: relative; | ||
434 | + padding: 28rpx 24rpx 28rpx 46rpx; | ||
435 | +} | ||
436 | +.coupons.bg-red { | ||
437 | + background: #F2F2F2 radial-gradient(circle at 0px 50%, transparent 10px, #FF6768 0) top; | ||
438 | +} | ||
439 | + | ||
440 | + | ||
441 | + | ||
442 | + | ||
443 | +.coupons ~ .coupons { | ||
444 | + margin-top: 20rpx; | ||
445 | +} | ||
446 | + | ||
447 | +.coupon-hd { | ||
448 | + word-break: break-all; | ||
449 | + line-height: 1.4; | ||
450 | +} | ||
451 | +.coupon-md { | ||
452 | + font-size: 26rpx; | ||
453 | + position: relative; | ||
454 | + padding-right: 200rpx; | ||
455 | +} | ||
456 | +.coupon-ft { | ||
457 | + line-height: 1.4; | ||
458 | +} | ||
459 | +.price { | ||
460 | + position: absolute; | ||
461 | + right: 24rpx; | ||
462 | +} | ||
463 | + | ||
464 | +.coupons .btn-share { | ||
465 | + flex-shrink: 0; | ||
466 | + border-radius: 30rpx; | ||
467 | + padding: 8rpx 40rpx; | ||
468 | + background-color: red; | ||
469 | +} | ||
470 | + | ||
471 | + | ||
472 | +.popup-container { | ||
473 | + position: fixed; | ||
474 | + left: 0; | ||
475 | + top: 0; | ||
476 | + width: 100%; | ||
477 | + height: 100%; | ||
478 | + background-color: rgba(0,0,0,.5); | ||
479 | +} | ||
480 | +.popup { | ||
481 | + background-color: white; | ||
482 | + border-radius: 16rpx; | ||
483 | + position: absolute; | ||
484 | + top: 50%; | ||
485 | + left: 50%; | ||
486 | + transform: translate(-50%, -50%); | ||
487 | + width: 500rpx; | ||
488 | + overflow: hidden; | ||
489 | +} | ||
490 | +.popup-img { | ||
491 | + display: block; | ||
492 | + width: 80rpx; | ||
493 | + height: 80rpx; | ||
494 | + margin-right: 20rpx; | ||
495 | + flex-shrink: 0; | ||
496 | +} | ||
497 | +.popup-item { | ||
498 | + display: flex; | ||
499 | + align-items: center; | ||
500 | + padding: 20rpx 90rpx; | ||
501 | +} | ||
502 | +.h70 { | ||
503 | + height: 70rpx; | ||
504 | +} | ||
505 | + | ||
506 | +.active { | ||
507 | + background-color: #f2f2f2; | ||
508 | +} | ||
509 | + | ||
510 | + | ||
511 | + | ||
512 | + |
pages/giftpack/giftpacklist/giftpacklist.js
@@ -37,18 +37,31 @@ Page({ | @@ -37,18 +37,31 @@ Page({ | ||
37 | getGiftID: options.lbId, | 37 | getGiftID: options.lbId, |
38 | orderSn: options.orderSn | 38 | orderSn: options.orderSn |
39 | }) | 39 | }) |
40 | + | ||
41 | + //-- 获取分享人的ID -- | ||
42 | + var first_leader=options.first_leader; | ||
43 | + if(first_leader){ | ||
44 | + //-- user_id代过来免登陆 -- | ||
45 | + getApp().globalData.user_id=first_leader; | ||
46 | + getApp().getUserFir(); | ||
47 | + //调用接口判断是不是会员 | ||
48 | + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+oo.stoid+"/"+first_leader,{}).then(res=>{ | ||
49 | + if(res.data.code==0){ | ||
50 | + getApp().globalData.guide_id=res.data.data.id; | ||
51 | + } | ||
52 | + }) | ||
53 | + } | ||
40 | 54 | ||
41 | th.close(); | 55 | th.close(); |
42 | }, | 56 | }, |
43 | - onShow: function() { | ||
44 | - | 57 | + |
58 | + onShow: function() { | ||
45 | //--先判断会员状态-- | 59 | //--先判断会员状态-- |
46 | var user_info = getApp().globalData.userInfo; | 60 | var user_info = getApp().globalData.userInfo; |
47 | if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | 61 | if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { |
48 | getApp().goto('/pages/togoin/togoin'); | 62 | getApp().goto('/pages/togoin/togoin'); |
49 | return false; | 63 | return false; |
50 | } | 64 | } |
51 | - | ||
52 | if (this.data.isBuy == 0) { | 65 | if (this.data.isBuy == 0) { |
53 | this.GetMyGiftList(); | 66 | this.GetMyGiftList(); |
54 | } else { | 67 | } else { |
pages/index/index/index.js
@@ -72,14 +72,26 @@ Page({ | @@ -72,14 +72,26 @@ Page({ | ||
72 | max_sw_height: 0, //banner的最大高度 | 72 | max_sw_height: 0, //banner的最大高度 |
73 | is_disgraceful: 0, //是否显示新人广告 | 73 | is_disgraceful: 0, //是否显示新人广告 |
74 | new_image: "", //新人有礼弹窗图片 | 74 | new_image: "", //新人有礼弹窗图片 |
75 | - new_nav: "", //新人页面跳转地址 | ||
76 | - | ||
77 | - w_holiday_pop:0, | ||
78 | - | ||
79 | - }, | ||
80 | - | ||
81 | - onLoad: async function() { | ||
82 | - var th = this; | 75 | + new_nav: "", //新人页面跳转地址 |
76 | + w_holiday_pop:0, | ||
77 | + | ||
78 | + }, | ||
79 | + | ||
80 | + onLoad: async function(tt) { | ||
81 | + var th = this; | ||
82 | + var first_leader=tt.first_leader; | ||
83 | + if(first_leader){ | ||
84 | + //-- user_id代过来免登陆 -- | ||
85 | + getApp().globalData.user_id=first_leader; | ||
86 | + getApp().getUserFir(); | ||
87 | + //调用接口判断是不是会员 | ||
88 | + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+oo.stoid+"/"+first_leader,{}).then(res=>{ | ||
89 | + if(res.data.code==0){ | ||
90 | + getApp().globalData.guide_id=res.data.data.id; | ||
91 | + } | ||
92 | + }) | ||
93 | + } | ||
94 | + | ||
83 | //看一下商家是否开通了权益 | 95 | //看一下商家是否开通了权益 |
84 | //--初始化是否有打勾-- | 96 | //--初始化是否有打勾-- |
85 | getApp().request.promiseGet("/api/weshop/users/grade/vip/init/get", { | 97 | getApp().request.promiseGet("/api/weshop/users/grade/vip/init/get", { |
@@ -859,7 +871,14 @@ Page({ | @@ -859,7 +871,14 @@ Page({ | ||
859 | if(!url || url=='') return; | 871 | if(!url || url=='') return; |
860 | if(url[0]!='/') url='/'+url; | 872 | if(url[0]!='/') url='/'+url; |
861 | getApp().goto(url); | 873 | getApp().goto(url); |
862 | - } | 874 | + }, |
875 | + | ||
876 | + //----跳转到搭配购买---- | ||
877 | + go_test:function () { | ||
878 | + wx.navigateTo({ url: "/packageA/pages/goods_share/goods_share", }) | ||
879 | + }, | ||
880 | + | ||
881 | + | ||
863 | 882 | ||
864 | 883 | ||
865 | 884 |
pages/index/index/index.wxml
@@ -3,6 +3,8 @@ | @@ -3,6 +3,8 @@ | ||
3 | <!--普通界面--> | 3 | <!--普通界面--> |
4 | <wxs module="filter" src="../../../utils/filter.wxs"></wxs> | 4 | <wxs module="filter" src="../../../utils/filter.wxs"></wxs> |
5 | <view class="container rel" wx:if="{{ishow}}"> | 5 | <view class="container rel" wx:if="{{ishow}}"> |
6 | + | ||
7 | + | ||
6 | <block wx:if="{{banner}}"> | 8 | <block wx:if="{{banner}}"> |
7 | <image class="xc-top-img abs" src="{{url}}/miniapp/images/top-img.png"></image> | 9 | <image class="xc-top-img abs" src="{{url}}/miniapp/images/top-img.png"></image> |
8 | </block> | 10 | </block> |
@@ -84,7 +86,7 @@ | @@ -84,7 +86,7 @@ | ||
84 | <view class="flex-vertical"> | 86 | <view class="flex-vertical"> |
85 | <image class="xc-hook" src="{{url}}/miniapp/images/index/youxuan.png"> | 87 | <image class="xc-hook" src="{{url}}/miniapp/images/index/youxuan.png"> |
86 | </image> | 88 | </image> |
87 | - <text class="yellow-co fs26 margin-left">人工优先</text> | 89 | + <text bindtap='go_test' class="yellow-co fs26 margin-left" data-url="../../../packageA/pages/prom_list/prom_list">人工优先</text> |
88 | </view> | 90 | </view> |
89 | 91 | ||
90 | 92 |
pages/user/assistance/assistance.wxml
@@ -17,7 +17,7 @@ | @@ -17,7 +17,7 @@ | ||
17 | <view class="excitation" style="color:{{font_color ? ('#'+font_color):'white'}};">机会总是留给最有行动力的人</view> | 17 | <view class="excitation" style="color:{{font_color ? ('#'+font_color):'white'}};">机会总是留给最有行动力的人</view> |
18 | </view> | 18 | </view> |
19 | <view class="flex-center"> | 19 | <view class="flex-center"> |
20 | - <image class="gift" src="{{zl_act.imageUrl==''?iurl+'miniapp/images/friendhelp/gift.png':iurl+zl_act.imageUrl}}" lazy-load="true"></image> | 20 | + <image class="gift" src="{{(zl_act.imageUrl=='' || zl_act.imageUrl==undefined)?(iurl+'miniapp/images/friendhelp/gift.png'):(iurl+zl_act.imageUrl)}}" lazy-load="true"></image> |
21 | </view> | 21 | </view> |
22 | <view wx:if="{{zl_act.beginDate && zl_act.endDate}}" class="flex-center fs26 time"> | 22 | <view wx:if="{{zl_act.beginDate && zl_act.endDate}}" class="flex-center fs26 time"> |
23 | <view style="color:{{font_color ? ('#'+font_color):'white'}};">活动时间:{{filter_s.format_time(zl_act.beginDate,0)}} 至 {{filter_s.format_time(zl_act.endDate,0)}}</view> | 23 | <view style="color:{{font_color ? ('#'+font_color):'white'}};">活动时间:{{filter_s.format_time(zl_act.beginDate,0)}} 至 {{filter_s.format_time(zl_act.endDate,0)}}</view> |
pages/user/assistance/task_assistance.js
@@ -21,6 +21,8 @@ Page({ | @@ -21,6 +21,8 @@ Page({ | ||
21 | endDate: "", //活动结束时间 | 21 | endDate: "", //活动结束时间 |
22 | activity_data: "25:20:59", //活动剩余时间 | 22 | activity_data: "25:20:59", //活动剩余时间 |
23 | task_number: 0, //任务数 | 23 | task_number: 0, //任务数 |
24 | + giftQty:0, //库存设置数 | ||
25 | + | ||
24 | is_task: 0, //历史记录与任务 | 26 | is_task: 0, //历史记录与任务 |
25 | aitem: "", //活动的轮播图数据 | 27 | aitem: "", //活动的轮播图数据 |
26 | switch_head: 0, //0:我的任务,1:记录 | 28 | switch_head: 0, //0:我的任务,1:记录 |
@@ -221,6 +223,7 @@ Page({ | @@ -221,6 +223,7 @@ Page({ | ||
221 | th.setData({ | 223 | th.setData({ |
222 | aitem: data_aissa, | 224 | aitem: data_aissa, |
223 | task_number: task_number, | 225 | task_number: task_number, |
226 | + giftQty:giftQty, | ||
224 | }); | 227 | }); |
225 | th.go_to_task(th.data.taskid); | 228 | th.go_to_task(th.data.taskid); |
226 | 229 | ||
@@ -228,7 +231,7 @@ Page({ | @@ -228,7 +231,7 @@ Page({ | ||
228 | th.setData({ | 231 | th.setData({ |
229 | aitem: data_aissa, | 232 | aitem: data_aissa, |
230 | task_number: task_number, | 233 | task_number: task_number, |
231 | - taskid: taskid | 234 | + taskid: taskid, |
232 | }); | 235 | }); |
233 | //判断是不是领取的任务 | 236 | //判断是不是领取的任务 |
234 | th.get_user_task(); | 237 | th.get_user_task(); |
pages/user/assistance/task_assistance.wxml
@@ -46,7 +46,8 @@ | @@ -46,7 +46,8 @@ | ||
46 | 46 | ||
47 | </view> | 47 | </view> |
48 | <view class="task-number fs28 t-c" style="color:{{font_color ? ('#'+font_color):'white'}};"> | 48 | <view class="task-number fs28 t-c" style="color:{{font_color ? ('#'+font_color):'white'}};"> |
49 | - 今天剩余可领{{task_number}}个任务 | 49 | + <text wx:if="{{giftQty}}">今天剩余可领{{task_number}}个任务</text> |
50 | + <text wx:else>不限任务数量</text> | ||
50 | </view> | 51 | </view> |
51 | 52 | ||
52 | <view wx:if="{{is_user_task==null}}" class="task_clike fs40 t-c flex-center" data-taskid="{{taskid}}" bindtap="add_onlicke" | 53 | <view wx:if="{{is_user_task==null}}" class="task_clike fs40 t-c flex-center" data-taskid="{{taskid}}" bindtap="add_onlicke" |
pages/user/index/filter.wxs
0 → 100644
1 | +var is_close = function (name,c_list) { | ||
2 | + if(!c_list) return 0; | ||
3 | + var map={}; | ||
4 | + map['我的分销']="1"; | ||
5 | + map['我的拼单']="2"; | ||
6 | + map['秒杀活动']="3"; | ||
7 | + map['PLUS会员']="4"; | ||
8 | + map['专享礼包']="5"; | ||
9 | + map['我的权益']="6"; | ||
10 | + map['联系客服']="7"; | ||
11 | + map['收藏夹']="8"; | ||
12 | + map['我的地址']="9"; | ||
13 | + map['收入卡包']="10"; | ||
14 | + map['我的服务']="11"; | ||
15 | + map['我的评价']="12"; | ||
16 | + map['我的礼包']="13"; | ||
17 | + var index=map[name]; | ||
18 | + //不包含,不关闭 | ||
19 | + if(c_list.indexOf(index)==-1) return 0; | ||
20 | + //包含,就是关闭的 | ||
21 | + return 1 | ||
22 | + | ||
23 | +} | ||
24 | + | ||
25 | +module.exports = { | ||
26 | + is_close: is_close | ||
27 | +} |
pages/user/index/index.js
@@ -57,24 +57,30 @@ Page({ | @@ -57,24 +57,30 @@ Page({ | ||
57 | /** | 57 | /** |
58 | * 生命周期函数--监听页面加载 | 58 | * 生命周期函数--监听页面加载 |
59 | */ | 59 | */ |
60 | - onLoad: function(options) { | 60 | + onLoad: function(options) { |
61 | var th=this; | 61 | var th=this; |
62 | + //-- 读取会员中心按钮列表 -- | ||
63 | + getApp().request.promiseGet("/api/weshop/userTool/page?pageSize=100", { | ||
64 | + }).then(res => { | ||
65 | + if(res.data.code==0 ){ | ||
66 | + var d_list=res.data.data.pageData; | ||
67 | + th.setData({user_tool:d_list}); | ||
68 | + } | ||
69 | + }) | ||
62 | this.birthday(); | 70 | this.birthday(); |
63 | - getApp().request.promiseGet("/api/weshop/ad/list?pid=401&store_id=" + os.stoid, { | 71 | + getApp().request.promiseGet("/api/weshop/ad/page?pid=401&store_id=" + os.stoid, { |
64 | data: { | 72 | data: { |
65 | enabled: 1 | 73 | enabled: 1 |
66 | } | 74 | } |
67 | }).then(res => { | 75 | }).then(res => { |
68 | if(res.data.code==0 && res.data.data){ | 76 | if(res.data.code==0 && res.data.data){ |
69 | - var item=res.data.data[0]; | ||
70 | - if (item && item.ad_code) | 77 | + var item=res.data.data.pageData[0]; |
78 | + if (item && item.ad_code) | ||
71 | th.setData({ad_img:item.ad_code}) | 79 | th.setData({ad_img:item.ad_code}) |
72 | } | 80 | } |
73 | - }) | ||
74 | - | 81 | + }) |
75 | app.getUserFir(); | 82 | app.getUserFir(); |
76 | - | ||
77 | - | 83 | + |
78 | }, | 84 | }, |
79 | 85 | ||
80 | /** | 86 | /** |
@@ -122,9 +128,7 @@ Page({ | @@ -122,9 +128,7 @@ Page({ | ||
122 | } | 128 | } |
123 | } | 129 | } |
124 | }); | 130 | }); |
125 | - | ||
126 | - | ||
127 | - | 131 | + |
128 | /*-----统计-----*/ | 132 | /*-----统计-----*/ |
129 | rq.get("/api/weshop/order/waitlist", { | 133 | rq.get("/api/weshop/order/waitlist", { |
130 | data: { | 134 | data: { |
@@ -298,8 +302,10 @@ Page({ | @@ -298,8 +302,10 @@ Page({ | ||
298 | getApp().getConfig2(function(e) { | 302 | getApp().getConfig2(function(e) { |
299 | var t_swi = e.switch_list; | 303 | var t_swi = e.switch_list; |
300 | if (t_swi) t_swi = JSON.parse(t_swi) | 304 | if (t_swi) t_swi = JSON.parse(t_swi) |
301 | - if(t_swi){ | ||
302 | - th.setData({sys_switch:t_swi}) | 305 | + if(t_swi){ |
306 | + var user_tool=[]; | ||
307 | + if(t_swi.usertool) user_tool=JSON.parse(t_swi.usertool); | ||
308 | + th.setData({sys_switch:t_swi,c_list:user_tool}); | ||
303 | } | 309 | } |
304 | 310 | ||
305 | 311 |
pages/user/index/index.wxml
1 | <!-- <import src="../../tabbar/tabbar.wxml" /> | 1 | <!-- <import src="../../tabbar/tabbar.wxml" /> |
2 | <template is="tabBar" data="{{tabBar}}" /> --> | 2 | <template is="tabBar" data="{{tabBar}}" /> --> |
3 | - | 3 | +<wxs src="filter.wxs" module="util"></wxs> |
4 | <view class="xc-page" style="margin-bottom:{{isIpx ? '168rpx' : '100rpx'}}"> | 4 | <view class="xc-page" style="margin-bottom:{{isIpx ? '168rpx' : '100rpx'}}"> |
5 | <view class="xc-user"> | 5 | <view class="xc-user"> |
6 | <view class="xc-head rel"> | 6 | <view class="xc-head rel"> |
@@ -199,73 +199,59 @@ | @@ -199,73 +199,59 @@ | ||
199 | <view class="xc-project-frame"> | 199 | <view class="xc-project-frame"> |
200 | <!-- 跳转页面 --> | 200 | <!-- 跳转页面 --> |
201 | <view class="center_v" style="display: flex;flex-wrap: wrap;align-items: center;"> | 201 | <view class="center_v" style="display: flex;flex-wrap: wrap;align-items: center;"> |
202 | - <view class="item t-c" data-url="/pages/team/team_ping/team_ping" bindtap="goto"> | ||
203 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/pindan.png"></image> | ||
204 | - <view class="fs26">我的拼单</view> | ||
205 | - </view> | ||
206 | - <view class="item t-c" data-url="/pages/activity/seckill_list/seckill_list" bindtap="goto"> | ||
207 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/miaosha.png"></image> | ||
208 | - <view class="fs26">秒杀活动</view> | ||
209 | - </view> | ||
210 | - <view class="item t-c" bindtap="go_qy" wx:if="{{qy_list!=null && is_init && gradeId}}"> | ||
211 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/quanyi2.png"></image> | ||
212 | - <view class="fs26">我的权益</view> | ||
213 | - </view> | ||
214 | - | ||
215 | - <button class="item t-c" wx:if="{{sys_switch.weapp_customertype}}" open-type="contact" session-from="wechat|{{userInfo.user_id}}|{{userInfo.nickname}}|{{userInfo.head_pic}}"> | ||
216 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/kefu.png"></image> | ||
217 | - <view class="fs26">联系客服</view> | ||
218 | - </button> | ||
219 | - | ||
220 | - <view class="item t-c" bindtap="contactService" wx:else> | ||
221 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/kefu.png"></image> | ||
222 | - <view class="fs26">联系客服</view> | ||
223 | - </view> | ||
224 | - | ||
225 | - | ||
226 | - | ||
227 | - | ||
228 | - <view class="item t-c" data-url="/pages/user/cardinfo/cardinfo" bindtap="goto" wx:if="{{is_dengji==1}}"> | ||
229 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/plus/privilege_o.png"></image> | ||
230 | - <view class="fs26">plus会员</view> | ||
231 | - </view> | ||
232 | - | ||
233 | - <view class="item t-c" data-url="/pages/user/collect_list/collect_list" bindtap="goto"> | ||
234 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/collections.png"></image> | ||
235 | - <view class="fs26">收藏夹</view> | ||
236 | - </view> | ||
237 | - | ||
238 | - <view class="item t-c" data-url="/pages/user/comment/comment" bindtap="goto"> | ||
239 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/evaluate.png"></image> | ||
240 | - <view class="fs26">我的评价</view> | ||
241 | - </view> | ||
242 | - | ||
243 | - <view class="item t-c" data-url="/pages/user/address_list/address_list" bindtap="goto"> | ||
244 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/add2.png"></image> | ||
245 | - <view class="four-level-word">我的地址</view> | ||
246 | - </view> | ||
247 | - | ||
248 | - <!-- 收入卡包 --> | ||
249 | - <view class="item t-c" bindtap="addcard" wx:if="{{add_card_data}}"> | ||
250 | - <image class="xc-center-img " src="{{iurl}}//miniapp/images/wx_cardbag.png"></image> | ||
251 | - <view class="four-level-word">收入卡包</view> | ||
252 | - </view> | ||
253 | - | ||
254 | - <view class="item t-c" data-url="/pages/user/my_service/i_service" bindtap="goto_nav" > | ||
255 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/yyservice/myservice.png"></image> | ||
256 | - <view class="four-level-word">我的服务</view> | ||
257 | - </view> | ||
258 | - <view class="item t-c" data-url="/pages/giftpack/mygiftpack/mygiftpack" bindtap="goto_nav"> | ||
259 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images//user/wdlb.png"></image> | ||
260 | - <view class="four-level-word">专享礼包</view> | ||
261 | - </view> | ||
262 | - <block wx:if="{{is_assistance==1}}"> | ||
263 | - <view class="item t-c" data-url="/pages/user/assistance/assistance" bindtap="goto_nav"> | ||
264 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/friendhelp/icon-zl.png"></image> | ||
265 | - <view class="four-level-word">助力活动</view> | ||
266 | - </view> | ||
267 | - </block> | ||
268 | - | 202 | + <!-- 循环使用自定义菜单,显示和掩藏 --> |
203 | + <block wx:for="{{user_tool}}"> | ||
204 | + <!-- 判断系统配置中有没有把菜单关闭 --> | ||
205 | + <block wx:if="{{!util.is_close(item.name,c_list)}}"> | ||
206 | + <!-- 有链接地址的时候 --> | ||
207 | + <block wx:if="{{item.weappurl}}"> | ||
208 | + <block wx:if="{{item.name=='PLUS会员'}}"> | ||
209 | + <view class="item t-c" data-url="{{item.weappurl}}" bindtap="goto" wx:if="{{is_dengji==1}}"> | ||
210 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | ||
211 | + <view class="fs26">PLUS会员</view> | ||
212 | + </view> | ||
213 | + </block> | ||
214 | + <block wx:elif="{{item.name=='助力活动'}}"> | ||
215 | + <view class="item t-c" data-url="/pages/user/assistance/assistance" bindtap="goto_nav" wx:if="{{is_assistance==1}}"> | ||
216 | + <image class="xc-center-img " src="{{iurl}}/miniapp/images/friendhelp/icon-zl.png"></image> | ||
217 | + <view class="four-level-word">助力活动</view> | ||
218 | + </view> | ||
219 | + </block> | ||
220 | + <block wx:else> | ||
221 | + <view class="item t-c" data-url="{{item.weappurl}}" bindtap="goto_nav"> | ||
222 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | ||
223 | + <view class="fs26">{{item.name}}</view> | ||
224 | + </view> | ||
225 | + </block> | ||
226 | + </block> | ||
227 | + <!-- 没有链接地址的时候 --> | ||
228 | + <block wx:else> | ||
229 | + <block wx:if="{{item.name=='我的权益'}}"> | ||
230 | + <view class="item t-c" bindtap="go_qy" wx:if="{{qy_list!=null && is_init && gradeId}}"> | ||
231 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | ||
232 | + <view class="fs26">我的权益</view> | ||
233 | + </view> | ||
234 | + </block> | ||
235 | + <block wx:elif="{{item.name=='联系客服'}}"> | ||
236 | + <button class="item t-c" wx:if="{{sys_switch.weapp_customertype}}" open-type="contact" session-from="wechat|{{userInfo.user_id}}|{{userInfo.nickname}}|{{userInfo.head_pic}}"> | ||
237 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | ||
238 | + <view class="fs26">联系客服</view> | ||
239 | + </button> | ||
240 | + <view class="item t-c" bindtap="contactService" wx:else> | ||
241 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | ||
242 | + <view class="fs26">联系客服</view> | ||
243 | + </view> | ||
244 | + | ||
245 | + </block> | ||
246 | + <block wx:elif="{{item.name=='收入卡包'}}"> | ||
247 | + <view class="item t-c" bindtap="addcard" wx:if="{{add_card_data}}"> | ||
248 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | ||
249 | + <view class="four-level-word">收入卡包</view> | ||
250 | + </view> | ||
251 | + </block> | ||
252 | + </block> | ||
253 | + </block> | ||
254 | + </block> | ||
269 | </view> | 255 | </view> |
270 | 256 | ||
271 | </view> | 257 | </view> |
pages/user/plus/plus.js
@@ -245,7 +245,11 @@ Page({ | @@ -245,7 +245,11 @@ Page({ | ||
245 | {data: {storeId: os.stoid}}).then(res => { | 245 | {data: {storeId: os.stoid}}).then(res => { |
246 | if (res.data.code == 0) is_card = 1; | 246 | if (res.data.code == 0) is_card = 1; |
247 | }) | 247 | }) |
248 | - if (is_card == 0) getApp().my_warnning("请联系商家升级plus功能", 0, th); | 248 | + if (is_card == 0) { |
249 | + getApp().my_warnning("请联系商家升级plus功能", 0, th); | ||
250 | + return false; | ||
251 | + } | ||
252 | + | ||
249 | var item = th.data.is_plusCard[th.data.by_index]; | 253 | var item = th.data.is_plusCard[th.data.by_index]; |
250 | var req = {}; | 254 | var req = {}; |
251 | req.cardId = item.CardId; | 255 | req.cardId = item.CardId; |