Commit 63ac30e4886adf5946d8463534711c924f6dd4fb
合并会员权益
Showing
30 changed files
with
4796 additions
and
512 deletions
app.json
@@ -69,8 +69,11 @@ | @@ -69,8 +69,11 @@ | ||
69 | "pages/user/user_fw/user_fw", | 69 | "pages/user/user_fw/user_fw", |
70 | "pages/user/user_coupon/user_coupon", | 70 | "pages/user/user_coupon/user_coupon", |
71 | "pages/user/grow_value/grow_value", | 71 | "pages/user/grow_value/grow_value", |
72 | - "pages/payment/pay_success/pay_success" | 72 | + "pages/payment/pay_success/pay_success", |
73 | 73 | ||
74 | + "pages/user/plus/plus", | ||
75 | + "pages/user/cardinfo/cardinfo" | ||
76 | + | ||
74 | ], | 77 | ], |
75 | "permission": { | 78 | "permission": { |
76 | "scope.userLocation": { | 79 | "scope.userLocation": { |
app.wxss
@@ -145,6 +145,12 @@ justify-content:flex-start; | @@ -145,6 +145,12 @@ justify-content:flex-start; | ||
145 | align-items:center; | 145 | align-items:center; |
146 | } | 146 | } |
147 | .flex{display: flex} | 147 | .flex{display: flex} |
148 | +.ai-center{ | ||
149 | + align-items: center; | ||
150 | +} | ||
151 | +.jc-center{ | ||
152 | + justify-content: center; | ||
153 | +} | ||
148 | /* 水平左对齐 */ | 154 | /* 水平左对齐 */ |
149 | .flex-level-left{ | 155 | .flex-level-left{ |
150 | display:flex; | 156 | display:flex; |
@@ -262,29 +268,7 @@ justify-content:space-around; | @@ -262,29 +268,7 @@ justify-content:space-around; | ||
262 | font-style: normal; | 268 | font-style: normal; |
263 | } | 269 | } |
264 | 270 | ||
265 | -.fs22{ | ||
266 | - font-size: 22rpx; | ||
267 | -} | ||
268 | - | ||
269 | -.fs26{ | ||
270 | - font-size: 26rpx; | ||
271 | -} | ||
272 | - | ||
273 | - | ||
274 | -.fs30{ | ||
275 | - font-size:30rpx; | ||
276 | -} | ||
277 | - | ||
278 | 271 | ||
279 | -.fs35{ | ||
280 | - font-size:35rpx; | ||
281 | -} | ||
282 | -.fs45{ | ||
283 | - font-size: 45rpx; | ||
284 | -} | ||
285 | -.fs50{ | ||
286 | - font-size: 50rpx; | ||
287 | -} | ||
288 | 272 | ||
289 | 273 | ||
290 | /* 7.26 */ | 274 | /* 7.26 */ |
@@ -356,19 +340,33 @@ position: fixed; | @@ -356,19 +340,33 @@ position: fixed; | ||
356 | background: #ffe3e2; | 340 | background: #ffe3e2; |
357 | 341 | ||
358 | } | 342 | } |
359 | -.fs32{ | ||
360 | - font-size:32rpx; | ||
361 | -} | ||
362 | -.fs60{ font-size:60rpx;} | ||
363 | -.fs28{ | ||
364 | - font-size: 28rpx; | ||
365 | -} | ||
366 | .fs20{ | 343 | .fs20{ |
367 | font-size: 20rpx; | 344 | font-size: 20rpx; |
368 | } | 345 | } |
346 | +.fs22{ | ||
347 | + font-size: 22rpx; | ||
348 | +} | ||
369 | .fs24{ | 349 | .fs24{ |
370 | font-size: 24rpx; | 350 | font-size: 24rpx; |
371 | } | 351 | } |
352 | + | ||
353 | +.fs26{ | ||
354 | + font-size: 26rpx; | ||
355 | +} | ||
356 | +.fs28{ | ||
357 | + font-size: 28rpx; | ||
358 | +} | ||
359 | + | ||
360 | +.fs30{ | ||
361 | + font-size:30rpx; | ||
362 | +} | ||
363 | +.fs32{ | ||
364 | + font-size:32rpx; | ||
365 | +} | ||
366 | + | ||
367 | +.fs35{ | ||
368 | + font-size:35rpx; | ||
369 | +} | ||
372 | .fs36 { | 370 | .fs36 { |
373 | font-size: 36rpx; | 371 | font-size: 36rpx; |
374 | } | 372 | } |
@@ -378,6 +376,13 @@ background: #ffe3e2; | @@ -378,6 +376,13 @@ background: #ffe3e2; | ||
378 | .ai_end{ | 376 | .ai_end{ |
379 | align-items: flex-end; | 377 | align-items: flex-end; |
380 | } | 378 | } |
379 | +.fs45{ | ||
380 | + font-size: 45rpx; | ||
381 | +} | ||
382 | +.fs50{ | ||
383 | + font-size: 50rpx; | ||
384 | +} | ||
385 | +.fs60{ font-size:60rpx;} | ||
381 | .flex-wrap{ | 386 | .flex-wrap{ |
382 | flex-wrap:wrap; | 387 | flex-wrap:wrap; |
383 | } | 388 | } |
384 | \ No newline at end of file | 389 | \ No newline at end of file |
images/share/mackground.png
0 → 100644
10.4 KB
pages/getphone/getphone.js
@@ -4,6 +4,13 @@ Page({ | @@ -4,6 +4,13 @@ Page({ | ||
4 | store:null, | 4 | store:null, |
5 | imghots: os.imghost, | 5 | imghots: os.imghost, |
6 | }, | 6 | }, |
7 | + | ||
8 | + onLoad: function (options) { | ||
9 | + //--判断是否有接受到邀请人的ID-- | ||
10 | + if(options.first_leader){ | ||
11 | + this.setData({first_leader:options.first_leader}); | ||
12 | + } | ||
13 | + }, | ||
7 | onShow:function(){ | 14 | onShow:function(){ |
8 | var th=this,app = getApp(); | 15 | var th=this,app = getApp(); |
9 | var sessionKey = getApp().globalData.sessionKey; | 16 | var sessionKey = getApp().globalData.sessionKey; |
@@ -16,11 +23,8 @@ Page({ | @@ -16,11 +23,8 @@ Page({ | ||
16 | wx.navigateTo({ url: '/pages/togoin/togoin', }) | 23 | wx.navigateTo({ url: '/pages/togoin/togoin', }) |
17 | return false; | 24 | return false; |
18 | } | 25 | } |
19 | - | ||
20 | var user_info=getApp().globalData.userInfo; | 26 | var user_info=getApp().globalData.userInfo; |
21 | - | ||
22 | console.log("getphone"); | 27 | console.log("getphone"); |
23 | - console.log(user_info); | ||
24 | 28 | ||
25 | if(user_info!=null && user_info.mobile!=undefined && user_info.mobile!="" && user_info.mobile!=null){ | 29 | if(user_info!=null && user_info.mobile!=undefined && user_info.mobile!="" && user_info.mobile!=null){ |
26 | wx.navigateBack({ | 30 | wx.navigateBack({ |
@@ -72,6 +76,11 @@ Page({ | @@ -72,6 +76,11 @@ Page({ | ||
72 | iv: e.iv, | 76 | iv: e.iv, |
73 | store_id: getApp().globalData.setting.stoid, | 77 | store_id: getApp().globalData.setting.stoid, |
74 | }; | 78 | }; |
79 | + //--如果有邀请人的时候-- | ||
80 | + if(th.data.first_leader){ | ||
81 | + dd.first_leader=th.data.first_leader; | ||
82 | + } | ||
83 | + | ||
75 | console.log(dd); | 84 | console.log(dd); |
76 | app.request.get("/api/weshop/users/thirdLogin", { | 85 | app.request.get("/api/weshop/users/thirdLogin", { |
77 | data: dd, | 86 | data: dd, |
pages/user/Change_phone/Change_phone.js
0 → 100644
1 | +var a = getApp(), | ||
2 | + o = a.globalData, | ||
3 | + r = a.globalData.setting, | ||
4 | + t = a.request, | ||
5 | + s = require("../../../utils/common.js"), | ||
6 | + util = require("../../../utils/util.js"); | ||
7 | +Page({ | ||
8 | + | ||
9 | + /** | ||
10 | + * 页面的初始数据 | ||
11 | + */ | ||
12 | + data: { | ||
13 | + iurl: r.imghost, | ||
14 | + inputxphone: 0, | ||
15 | + mobile: 17359580658, //旧手机号码 | ||
16 | + currentTime: "", //验证码发送倒计时 | ||
17 | + getvcode: "获取验证码", | ||
18 | + wxopenid: "2", | ||
19 | + isver: 0, //是否有发送验证码 | ||
20 | + code: "", //验证码 | ||
21 | + url: "", //确认更换手机号码跳转路径 | ||
22 | + change_phone: "", //新手机号码 | ||
23 | + }, | ||
24 | + /** | ||
25 | + * 生命周期函数--监听页面加载 | ||
26 | + */ | ||
27 | + onLoad: function(options) { | ||
28 | + this.setData({ | ||
29 | + // mobile: options.mobile, | ||
30 | + //wxOpneId: options.openid | ||
31 | + }) | ||
32 | + }, | ||
33 | + //获取手机验证码 | ||
34 | + Ver_phone: function() { | ||
35 | + var th = this; | ||
36 | + var mobile = th.data.mobile; | ||
37 | + var wxopenid = th.data.wxopenid; | ||
38 | + var change_phone = th.data.change_phone; | ||
39 | + var isver = th.data.isver; | ||
40 | + console.log("iiiiiiiiiiiiii" + change_phone + mobile); | ||
41 | + var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/; | ||
42 | + if (mobile.length < 11) { | ||
43 | + getApp().my_warnning("请输入11位的手机号码", 0, th); | ||
44 | + } else if (!myreg.test(mobile)) { | ||
45 | + getApp().my_warnning("手机号有误", 0, th); | ||
46 | + return false; | ||
47 | + } | ||
48 | + if (change_phone == mobile) { | ||
49 | + getApp().my_warnning("新手机号码和旧手机号码不能一样", 0, th); | ||
50 | + return false; | ||
51 | + } | ||
52 | + if (change_phone != "") { | ||
53 | + mobile = change_phone; | ||
54 | + } | ||
55 | + if (isver == 0) { | ||
56 | + th.setData({ | ||
57 | + isver: 1 | ||
58 | + }) | ||
59 | + } else { | ||
60 | + return false | ||
61 | + } | ||
62 | + getApp().request.post("/api/weshop/smslog/sendsms", { | ||
63 | + data: { | ||
64 | + store_id: r.stoid, | ||
65 | + scene: 1, //发送类型(1短信 2语音) | ||
66 | + mobile: mobile, | ||
67 | + wxopenid: wxopenid | ||
68 | + }, | ||
69 | + success: function(res) { | ||
70 | + if (res.data.code == 0) { | ||
71 | + th.setData({ | ||
72 | + isver: 0, | ||
73 | + getvcode: 60, | ||
74 | + currentTime: setInterval(th.gettime, 1000), | ||
75 | + }) | ||
76 | + } else { | ||
77 | + getApp().my_warnning(res.data.msg, 0, th); | ||
78 | + th.setData({ | ||
79 | + isver: 0, | ||
80 | + getvcode: "重新获取" | ||
81 | + }) | ||
82 | + return false; | ||
83 | + } | ||
84 | + } | ||
85 | + }) | ||
86 | + | ||
87 | + }, | ||
88 | + gettime: function() { | ||
89 | + var that = this; | ||
90 | + if (that.data.getvcode == 1) { | ||
91 | + //清除js定时器 | ||
92 | + clearInterval(that.data.currentTime); | ||
93 | + that.setData({ | ||
94 | + getvcode: "重新获取", | ||
95 | + }); | ||
96 | + } else { | ||
97 | + that.setData({ | ||
98 | + getvcode: --that.data.getvcode, | ||
99 | + }); | ||
100 | + } | ||
101 | + }, | ||
102 | + change_phone: function() { | ||
103 | + var th = this; | ||
104 | + var code = th.data.code; | ||
105 | + var mobile = th.data.mobile; | ||
106 | + if (th.ver_code() == false) return false; | ||
107 | + getApp().request.put("/api/weshop/users/updateMobile/" + r.stoid + '/' + o.user_id + '/' + code + '/' + mobile, { | ||
108 | + success: function(res) { | ||
109 | + if (res.data.code == 0) { | ||
110 | + getApp().my_warnning("更换成功", 0, th); | ||
111 | + // th.setData({ | ||
112 | + // url: "/pages/user/userinfo/userinfo?change_phone" + change_phone | ||
113 | + // }) | ||
114 | + } else { | ||
115 | + getApp().my_warnning("更换失败", 0, th); | ||
116 | + return false; | ||
117 | + } | ||
118 | + } | ||
119 | + }) | ||
120 | + | ||
121 | + }, | ||
122 | + //判断验证码是否正确 | ||
123 | + ver_code: function(e) { | ||
124 | + var th = this; | ||
125 | + var code = th.data.code, | ||
126 | + mobile = th.data.mobile, | ||
127 | + wxopenid = th.data.wxopenid, | ||
128 | + getvcode = th.data.getvcode, | ||
129 | + chang_phone = th.data.change_phone; | ||
130 | + if (code.length < 3 && code == "") { | ||
131 | + getApp().my_warnning("请输入正确的验证码", 0, th); | ||
132 | + return false; | ||
133 | + } else if (getvcode.length<3){ | ||
134 | + getApp().my_warnning("验证超时", 0, th); | ||
135 | + return false; | ||
136 | + }else { | ||
137 | + getApp().request.put("/api/weshop/users/updateMobileFirst/" + r.stoid + '/' + o.user_id + '/' + code, { | ||
138 | + success: function(res) { | ||
139 | + if (res.data.code == 0) { | ||
140 | + th.setData({ | ||
141 | + inputxphone: 1, | ||
142 | + getvcode: "获取验证码", | ||
143 | + code: "" | ||
144 | + }) | ||
145 | + clearInterval(th.data.currentTime); | ||
146 | + } else { | ||
147 | + getApp().my_warnning(res.data.msg, 0, th); | ||
148 | + return false; | ||
149 | + } | ||
150 | + } | ||
151 | + }) | ||
152 | + } | ||
153 | + }, | ||
154 | + getCodeValue: function(e) { | ||
155 | + this.setData({ | ||
156 | + code: e.detail.value | ||
157 | + }) | ||
158 | + }, | ||
159 | + getphoneValue: function(e) { | ||
160 | + var th = this; | ||
161 | + th.setData({ | ||
162 | + change_phone: e.detail.value, | ||
163 | + }) | ||
164 | + }, | ||
165 | + /** | ||
166 | + * 生命周期函数--监听页面初次渲染完成 | ||
167 | + */ | ||
168 | + onReady: function() { | ||
169 | + | ||
170 | + }, | ||
171 | + | ||
172 | + /** | ||
173 | + * 生命周期函数--监听页面显示 | ||
174 | + */ | ||
175 | + onShow: function() { | ||
176 | + | ||
177 | + }, | ||
178 | + | ||
179 | + /** | ||
180 | + * 生命周期函数--监听页面隐藏 | ||
181 | + */ | ||
182 | + onHide: function() { | ||
183 | + | ||
184 | + }, | ||
185 | + | ||
186 | + /** | ||
187 | + * 生命周期函数--监听页面卸载 | ||
188 | + */ | ||
189 | + onUnload: function() { | ||
190 | + | ||
191 | + }, | ||
192 | + | ||
193 | + /** | ||
194 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
195 | + */ | ||
196 | + onPullDownRefresh: function() { | ||
197 | + | ||
198 | + }, | ||
199 | + | ||
200 | + /** | ||
201 | + * 页面上拉触底事件的处理函数 | ||
202 | + */ | ||
203 | + onReachBottom: function() { | ||
204 | + | ||
205 | + }, | ||
206 | + | ||
207 | + /** | ||
208 | + * 用户点击右上角分享 | ||
209 | + */ | ||
210 | + onShareAppMessage: function() { | ||
211 | + | ||
212 | + } | ||
213 | +}) | ||
0 | \ No newline at end of file | 214 | \ No newline at end of file |
pages/user/Change_phone/Change_phone.json
0 → 100644
pages/user/Change_phone/Change_phone.wxml
0 → 100644
1 | +<view class="container"> | ||
2 | + <!-- 手机logo --> | ||
3 | + <view class="flex-center phone_logo"> | ||
4 | + <image src="{{iurl}}/miniapp/images/userinfo/phone_logo.png"></image> | ||
5 | + </view> | ||
6 | + | ||
7 | + <view class="fs30"> | ||
8 | + <!-- 手机号码 --> | ||
9 | + <view class="flex-vertical phone"> | ||
10 | + <image src="{{iurl}}/miniapp/images/userinfo/phone.png"></image> | ||
11 | + <block wx:if="{{inputxphone==0}}"> | ||
12 | + <view class="inphone">{{mobile}}</view> | ||
13 | + </block> | ||
14 | + <block wx:else> | ||
15 | + <input bindblur="getphoneValue" class="inphone" placeholder="输入新手机号" type="number" maxlength="11" value="{{change_phone}}"/> | ||
16 | + </block> | ||
17 | + </view> | ||
18 | + | ||
19 | + <!-- 发送手机验证码 --> | ||
20 | + <view class="flex-vertical code"> | ||
21 | + <image src="{{iurl}}/miniapp/images/userinfo/code.png"></image> | ||
22 | + <input placeholder="请输入验证码" bindinput="getCodeValue" type="number" maxlength="6" value="{{code}}" /> | ||
23 | + <view class="flex-center Obtain"> | ||
24 | + <block wx:if="{{getvcode.length>3}}"> | ||
25 | + <view bindtap="Ver_phone">{{getvcode}}</view> | ||
26 | + </block> | ||
27 | + <block wx:else> | ||
28 | + <view>{{getvcode}}s</view> | ||
29 | + </block> | ||
30 | + </view> | ||
31 | + </view> | ||
32 | + </view> | ||
33 | + | ||
34 | + <!-- 提示语 --> | ||
35 | + <view class="Tips fs28"> | ||
36 | + <view>温馨提示:</view> | ||
37 | + <view>1.更换手机号后下次可使用新手机号登录。 | ||
38 | + </view> | ||
39 | + <view>2.为保障数据安全,如遇旧手机遗失可联系商家进行解绑。 | ||
40 | + </view> | ||
41 | + <view>3.收到验证码而非本人操作时请及时更改密码。 | ||
42 | + </view> | ||
43 | + </view> | ||
44 | + | ||
45 | + <view class="flex-center go fs32"> | ||
46 | + <block wx:if="{{inputxphone==0}}"> | ||
47 | + <view class="flex-center lower" bindtap="ver_code"> | ||
48 | + <view>下一步</view> | ||
49 | + </view> | ||
50 | + </block> | ||
51 | + <block wx:else> | ||
52 | + <navigator url="{{url}}" class="flex-center lower" bindtap="change_phone"> | ||
53 | + <view>确定更换</view> | ||
54 | + </navigator> | ||
55 | + </block> | ||
56 | + </view> | ||
57 | + | ||
58 | + | ||
59 | +</view> | ||
60 | +<warn id="warn"></warn> | ||
0 | \ No newline at end of file | 61 | \ No newline at end of file |
pages/user/Change_phone/Change_phone.wxss
0 → 100644
1 | +page { | ||
2 | + height: 100%; | ||
3 | +} | ||
4 | + | ||
5 | +.container { | ||
6 | + padding: 0rpx 55rpx; | ||
7 | + border-top: 6rpx solid rgb(245, 245, 245); | ||
8 | +} | ||
9 | + | ||
10 | +.phone_logo { | ||
11 | + height: 400rpx; | ||
12 | +} | ||
13 | + | ||
14 | +.phone_logo image { | ||
15 | + width: 145rpx; | ||
16 | + height: 230rpx; | ||
17 | +} | ||
18 | + | ||
19 | +.phone,.code{ | ||
20 | + border-bottom: 2rpx solid rgb(234, 234, 234); | ||
21 | + height: 95rpx; | ||
22 | +} | ||
23 | + | ||
24 | +.phone image { | ||
25 | + width: 60rpx; | ||
26 | + height: 60rpx; | ||
27 | +} | ||
28 | + | ||
29 | +.phone .inphone { | ||
30 | + margin-left: 50rpx; | ||
31 | + color: rgb(153, 153, 153); | ||
32 | +} | ||
33 | + | ||
34 | +.code image { | ||
35 | + width: 70rpx; | ||
36 | + height: 60rpx; | ||
37 | +} | ||
38 | + | ||
39 | +.code input { | ||
40 | + margin-left: 50rpx; | ||
41 | + color: rgb(153, 153, 153); | ||
42 | +} | ||
43 | + | ||
44 | +.code .Obtain { | ||
45 | + width: 250rpx; | ||
46 | + height: 60rpx; | ||
47 | + border-left: 2rpx solid rgb(234, 234, 234); | ||
48 | +} | ||
49 | + | ||
50 | +.phone, .code, .Tips { | ||
51 | + padding-left: 30rpx; | ||
52 | +} | ||
53 | + | ||
54 | +.Tips { | ||
55 | + margin-top: 50rpx; | ||
56 | + line-height: 50rpx; | ||
57 | + color: rgb(153, 153, 153); | ||
58 | +} | ||
59 | + | ||
60 | +.go { | ||
61 | + width: 100%; | ||
62 | + margin-top: 90rpx; | ||
63 | +} | ||
64 | + | ||
65 | +.lower { | ||
66 | + width: 430rpx; | ||
67 | + height: 75rpx; | ||
68 | + background-color: rgb(214, 1, 33); | ||
69 | + border-radius: 40rpx; | ||
70 | + color: rgb(255, 255, 255); | ||
71 | +} |
pages/user/Detailed/Detailed.js
0 → 100644
1 | +var t = getApp(), | ||
2 | + r = t.globalData, | ||
3 | + a = t.request, | ||
4 | + o = t.globalData.setting, | ||
5 | + os = o, | ||
6 | + i = require("../../../utils/util.js"), | ||
7 | + ut = i, | ||
8 | + s = require("../../../utils/common.js"); | ||
9 | + | ||
10 | +Page({ | ||
11 | + /** | ||
12 | + * 页面的初始数据 | ||
13 | + */ | ||
14 | + data: { | ||
15 | + url: o.imghost, | ||
16 | + arrayDetailed: [],//明细数组 | ||
17 | + page: 1, | ||
18 | + pageSize: 20, | ||
19 | + isDetailed: 0, | ||
20 | + total: 0, | ||
21 | + ismore: 0,//数据是否加载完毕 | ||
22 | + screenWidth:0, | ||
23 | + | ||
24 | + head_pic:"",//会员头像 | ||
25 | + img_money:"",//缓存VIP的图片 | ||
26 | + img_Ancrown:"",//会员权益 | ||
27 | + img_Identification:"",//缓存标识的图片 | ||
28 | + img_square:"",//缓存方块的图片 | ||
29 | + privilege_o:"",//卡的勋章图 | ||
30 | + bas_ming:"", //卡的图片 | ||
31 | + big_card:null, //最大卡的信息 | ||
32 | + | ||
33 | + imagePath:"", //分享的生成图片 | ||
34 | + | ||
35 | + canvasHidden:true, | ||
36 | + }, | ||
37 | + | ||
38 | + /** | ||
39 | + * 生命周期函数--监听页面加载 | ||
40 | + */ | ||
41 | + onLoad: function(options) { | ||
42 | + var ee=this; | ||
43 | + var img_money = this.data.url + "/miniapp/images/plus/share/money.png"; | ||
44 | + var img_Ancrown = this.data.url + "/miniapp/images/plus/share/Ancrown.png"; | ||
45 | + var img_Identification = this.data.url + "/miniapp/images/plus/share/Identification.png"; | ||
46 | + var img_square = this.data.url + "/miniapp/images/plus/share/square.png"; | ||
47 | + var privilege_o = this.data.url + "/miniapp/images/plus/share/privilege_o.png"; | ||
48 | + var user=getApp().globalData.userInfo; | ||
49 | + //--获取用户设备信息,屏幕宽度-- | ||
50 | + wx.getSystemInfo({ | ||
51 | + success: res => { | ||
52 | + ee.data.screenWidth=res.screenWidth; | ||
53 | + } | ||
54 | + }) | ||
55 | + | ||
56 | + //--------------------缓存vip价格的图片--------------- | ||
57 | + wx.getImageInfo({ | ||
58 | + src:img_money, | ||
59 | + success: function (res) { | ||
60 | + //回调写法 | ||
61 | + var img_money = res.path; | ||
62 | + ee.setData({ img_money: img_money}); | ||
63 | + } | ||
64 | + }) | ||
65 | + //--------------------缓存权益的图片--------------- | ||
66 | + wx.getImageInfo({ | ||
67 | + src: img_Ancrown, | ||
68 | + success: function (res) { | ||
69 | + //回调写法 | ||
70 | + var img_Ancrown = res.path; | ||
71 | + ee.setData({ img_Ancrown: img_Ancrown }); | ||
72 | + } | ||
73 | + }) | ||
74 | + //--------------------缓存标识的图片--------------- | ||
75 | + wx.getImageInfo({ | ||
76 | + src: img_Identification, | ||
77 | + success: function (res) { | ||
78 | + //回调写法 | ||
79 | + var img_Identification = res.path; | ||
80 | + ee.setData({ img_Identification: img_Identification }); | ||
81 | + } | ||
82 | + }) | ||
83 | + | ||
84 | + //--------------------卡的勋章--------------- | ||
85 | + wx.getImageInfo({ | ||
86 | + src: privilege_o, | ||
87 | + success: function (res) { | ||
88 | + //回调写法 | ||
89 | + var privilege_o = res.path; | ||
90 | + ee.setData({ privilege_o: privilege_o }); | ||
91 | + } | ||
92 | + }) | ||
93 | + | ||
94 | + //--------------------方块图--------------- | ||
95 | + wx.getImageInfo({ | ||
96 | + src: img_square, | ||
97 | + success: function (res) { | ||
98 | + //回调写法 | ||
99 | + var img_square = res.path; | ||
100 | + ee.setData({ img_square: img_square}); | ||
101 | + } | ||
102 | + }) | ||
103 | + | ||
104 | + //-----------获取最大值的卡-------------- | ||
105 | + ee.getPlusCardType(); | ||
106 | + | ||
107 | + }, | ||
108 | + | ||
109 | + selectDetailed: function() { | ||
110 | + var th = this, e = th; | ||
111 | + getApp().request.promiseGet("/api/weshop/plus/vip/mem/referee/page", { | ||
112 | + data: { | ||
113 | + storeId: o.stoid, | ||
114 | + userId: r.user_id, | ||
115 | + page: th.data.page, | ||
116 | + pageSize: th.data.pageSize | ||
117 | + } | ||
118 | + }).then(res => { | ||
119 | + | ||
120 | + th.setData({isDetailed:1}) | ||
121 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0) { | ||
122 | + th.data.page++;//当前页数+1 | ||
123 | + var arr1 = th.data.arrayDetailed;//获取明细数组 | ||
124 | + var arr2 = res.data.data.pageData;//获取当前查询数据 | ||
125 | + var arr3 = [...arr1, ...arr2];//把当前查询数组拼接到原本数组后面 | ||
126 | + var ismore = 0; | ||
127 | + if (arr3.length == res.data.data.total) ismore = 1 //数据已加载完判断 | ||
128 | + th.setData({ | ||
129 | + arrayDetailed: arr3, | ||
130 | + total: res.data.data.total, | ||
131 | + ismore: ismore, | ||
132 | + isDetailed: 1 | ||
133 | + }) | ||
134 | + } | ||
135 | + }) | ||
136 | + | ||
137 | + }, | ||
138 | + /** | ||
139 | + * 生命周期函数--监听页面初次渲染完成 | ||
140 | + */ | ||
141 | + onReady: function() { | ||
142 | + | ||
143 | + }, | ||
144 | + | ||
145 | + /** | ||
146 | + * 生命周期函数--监听页面显示 | ||
147 | + */ | ||
148 | + onShow: function() { | ||
149 | + this.selectDetailed(); | ||
150 | + }, | ||
151 | + /** | ||
152 | + * 页面上拉触底事件的处理函数 | ||
153 | + */ | ||
154 | + onReachBottom: function() { | ||
155 | + | ||
156 | + if (this.data.total <= this.data.pageSize) return; | ||
157 | + if (this.data.ismore) { | ||
158 | + t.my_warnning("加载完啦!", 0, this); | ||
159 | + return | ||
160 | + }; | ||
161 | + this.selectDetailed(); | ||
162 | + }, | ||
163 | + | ||
164 | + | ||
165 | + saveImageToPhotosAlbum: function () { | ||
166 | + if (this.data.imagePath != "") { | ||
167 | + wx.previewImage({ urls: [this.data.imagePath], }) | ||
168 | + return; | ||
169 | + } | ||
170 | + | ||
171 | + this.data.is_loading=1; | ||
172 | + wx.showLoading({ title: '生成中...',}) | ||
173 | + | ||
174 | + var th = this; | ||
175 | + | ||
176 | + //设置画板显示,才能开始绘图 | ||
177 | + var card_ming=th.data.bas_ming;//卡的图片 | ||
178 | + var big_card= th.data.big_card;//获取最大的卡 | ||
179 | + var user_head = th.data.head_pic;//会员头像 | ||
180 | + var img_money = th.data.img_money;//缓存vip的价格 | ||
181 | + var img_Ancrown = th.data.img_Ancrown;//会员权益的图片 | ||
182 | + var img_Identification = th.data.img_Identification;//会员标识 | ||
183 | + var privilege_o = th.data.privilege_o;//勋章图片 | ||
184 | + var img_square=th.data.img_square; | ||
185 | + var app = getApp(); | ||
186 | + var user=app.globalData.userInfo; | ||
187 | + var unit = th.data.screenWidth / 750 * 1.35; | ||
188 | + var scene = getApp().globalData.user_id; | ||
189 | + | ||
190 | + //---二微码--- | ||
191 | + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + | ||
192 | + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/user/index/index"; | ||
193 | + | ||
194 | + wx.getImageInfo({ | ||
195 | + src: path3, | ||
196 | + success: function (res) { | ||
197 | + th.get_head_temp(function(){ | ||
198 | + var vpath=res.path; | ||
199 | + th.setData({ canvasHidden: false }) | ||
200 | + //开启画布 | ||
201 | + const ctx = wx.createCanvasContext('myCanvas'); | ||
202 | + //先画背景 | ||
203 | + ctx.drawImage("../../../images/share/mackground.png", 0, 0, 554 * unit, 930 * unit); | ||
204 | + ctx.setFontSize(26 * unit); | ||
205 | + ctx.setFillStyle("rgb(0,0,0)"); | ||
206 | + ctx.fillText(user.nickname, 155 * unit, 75 * unit, 200 * unit); | ||
207 | + | ||
208 | + var tj_path = "../../../images/share/q_tj.png"; | ||
209 | + ctx.drawImage(tj_path, 385 * unit, 45 * unit, 90 * unit, 30 * unit); | ||
210 | + ctx.setFontSize(18 * unit); | ||
211 | + ctx.setFillStyle("rgb(255,255,255)"); | ||
212 | + ctx.fillText("强烈推荐", 394 * unit, 65 * unit); | ||
213 | + | ||
214 | + ctx.setStrokeStyle("rgb(255,255,255)"); | ||
215 | + ctx.setLineDash([5 * unit, 5 * unit], 5 * unit); | ||
216 | + ctx.beginPath(); | ||
217 | + ctx.moveTo(0, 125 * unit); | ||
218 | + ctx.lineTo(554 * unit, 125 * unit); | ||
219 | + ctx.stroke(); | ||
220 | + | ||
221 | + var x = 55 * unit, y = 165 * unit,w = 444 * unit, h = 220 * unit,r = 14 * unit; | ||
222 | + ut.draw_randon_rect(ctx,x,y,r,w,h); | ||
223 | + ctx.clip(); //一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内 | ||
224 | + ctx.drawImage(card_ming, x, y, 444 * unit, 220 * unit); // 推进去图片 | ||
225 | + ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 可以继续绘制 | ||
226 | + | ||
227 | + ctx.beginPath(); | ||
228 | + // 卡图片 | ||
229 | + // ctx.drawImage("../../../images/plus/share/one.jpg", 55 * unit, 165 * unit, 444 * unit, 220 * unit,); | ||
230 | + ctx.setFontSize(26 * unit); | ||
231 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
232 | + ctx.fillText(big_card.CardName, 80 * unit, 215 * unit); | ||
233 | + ctx.setFontSize(18 * unit); | ||
234 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
235 | + ctx.fillText("开通会员年卡仅" + big_card.CardFee+"元", 80 * unit, 240 * unit); | ||
236 | + | ||
237 | + ctx.drawImage(privilege_o, 80 * unit, 343 * unit, 20 * unit, 20 * unit); | ||
238 | + | ||
239 | + ctx.setFontSize(14 * unit); | ||
240 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
241 | + ctx.fillText("根据大家购买数据,您成为超级会员预计可省¥3031元", 105 * unit, 360 * unit); | ||
242 | + | ||
243 | + ctx.rect(70 * unit, 425 * unit, 182 * unit, 1 * unit); | ||
244 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
245 | + ctx.fill(); | ||
246 | + | ||
247 | + ctx.drawImage(img_square, 267 * unit, 420 * unit, 13 * unit, 13 * unit); | ||
248 | + | ||
249 | + ctx.beginPath(); | ||
250 | + ctx.rect(295 * unit, 425 * unit, 182 * unit, 1 * unit); | ||
251 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
252 | + ctx.fill(); | ||
253 | + | ||
254 | + ctx.drawImage(img_square, 80 * unit, 470 * unit, 10 * unit, 10 * unit); | ||
255 | + ctx.setFontSize(24 * unit); | ||
256 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
257 | + ctx.fillText("超级VIP权益", 100 * unit, 475 * unit); | ||
258 | + | ||
259 | + ctx.setFontSize(20 * unit); | ||
260 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
261 | + ctx.fillText("超级会员专属权益", 100 * unit, 505 * unit); | ||
262 | + ctx.drawImage(img_Ancrown, 355 * unit, 440 * unit, 65 * unit, 65 * unit); | ||
263 | + | ||
264 | + ctx.rect(85 * unit, 530 * unit, 375 * unit, 1 * unit) | ||
265 | + ctx.setFillStyle('rgb(218,194,169)') | ||
266 | + ctx.fill(); | ||
267 | + | ||
268 | + ctx.drawImage(img_square, 80 * unit, 575 * unit, 10 * unit, 10 * unit); | ||
269 | + ctx.setFontSize(24 * unit); | ||
270 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
271 | + ctx.fillText("超级VIP标识", 100 * unit, 580 * unit); | ||
272 | + | ||
273 | + ctx.setFontSize(20 * unit); | ||
274 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
275 | + ctx.fillText("彰显尊贵身份的象征", 100 * unit, 610 * unit); | ||
276 | + ctx.drawImage(img_Identification, 355 * unit, 548 * unit, 65 * unit, 65 * unit); | ||
277 | + | ||
278 | + ctx.rect(85 * unit, 635 * unit, 375 * unit, 1 * unit); | ||
279 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
280 | + ctx.fill(); | ||
281 | + | ||
282 | + ctx.drawImage(img_square, 80 * unit, 695 * unit, 10 * unit, 10 * unit); | ||
283 | + ctx.setFontSize(24 * unit); | ||
284 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
285 | + ctx.fillText("超级VIP价格", 100 * unit, 695 * unit); | ||
286 | + | ||
287 | + ctx.setFontSize(20 * unit); | ||
288 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
289 | + ctx.fillText("享受专属会员超低价", 100 * unit, 725 * unit); | ||
290 | + ctx.drawImage(img_money, 355 * unit, 660 * unit, 65 * unit, 65 * unit); | ||
291 | + | ||
292 | + ctx.rect(85 * unit, 750 * unit, 375 * unit, 1 * unit) | ||
293 | + ctx.setFillStyle('rgb(218,194,169)') | ||
294 | + ctx.fill(); | ||
295 | + | ||
296 | + ctx.drawImage(vpath, 100 * unit, 780 * unit, 110 * unit, 110 * unit); | ||
297 | + | ||
298 | + ctx.setFontSize(20 * unit); | ||
299 | + ctx.setFillStyle("#000"); | ||
300 | + ctx.fillText("解锁新权益 精彩享不停", 230 * unit, 825 * unit); | ||
301 | + | ||
302 | + ctx.setFontSize(20 * unit); | ||
303 | + ctx.setFillStyle("#000"); | ||
304 | + ctx.fillText("长按识别二维码,立即开通!", 230 * unit, 865 * unit); | ||
305 | + | ||
306 | + //---绘制圆形要放在最后,头像---- | ||
307 | + ctx.save(); | ||
308 | + ctx.beginPath(); | ||
309 | + var h_x = 60 * unit; | ||
310 | + var h_y = 24 * unit; | ||
311 | + var h_r = 40 * unit; | ||
312 | + var cx = h_x + h_r; | ||
313 | + var cy = h_y + h_r; | ||
314 | + ctx.arc(cx, cy, h_r, 0, Math.PI * 2, false); | ||
315 | + ctx.closePath(); | ||
316 | + ctx.fill(); | ||
317 | + ctx.clip(); | ||
318 | + ctx.drawImage(th.data.head_pic, h_x, h_y, h_r * 2, h_r * 2); | ||
319 | + ctx.restore(); | ||
320 | + | ||
321 | + x = 345 * unit, y = 190 * unit, | ||
322 | + w = 105 * unit, h = 30 * unit, | ||
323 | + r = 14 * unit; | ||
324 | + ut.draw_randon_rect(ctx,x,y,r,w,h); | ||
325 | + ctx.setFontSize(18 * unit); | ||
326 | + ctx.setFillStyle("#000"); | ||
327 | + ctx.fillText("立即开通", 362 * unit, 212 * unit); | ||
328 | + | ||
329 | + //--绘制图片--- | ||
330 | + ctx.draw(false, | ||
331 | + function(){ | ||
332 | + setTimeout(function(){ | ||
333 | + wx.canvasToTempFilePath({ | ||
334 | + x: 0, | ||
335 | + y: 0, | ||
336 | + width: 750, | ||
337 | + height: 930, | ||
338 | + destWidth: 1.2 * 750 * 750 / th.data.screenWidth, | ||
339 | + destHeight: 1.2 * 1217 * 750 / th.data.screenWidth, | ||
340 | + canvasId: 'myCanvas', | ||
341 | + success: function (res) { | ||
342 | + wx.hideLoading();//关闭生成中的方法 | ||
343 | + th.data.is_loading = 0; | ||
344 | + console.log("生成的海报"); | ||
345 | + console.log(res.tempFilePath); | ||
346 | + var tempFilePath = res.tempFilePath; | ||
347 | + th.setData({ | ||
348 | + imagePath: tempFilePath, | ||
349 | + maskHidden: false, | ||
350 | + canvasHidden: true | ||
351 | + }); | ||
352 | + wx.previewImage({ | ||
353 | + urls: [res.tempFilePath], | ||
354 | + }) | ||
355 | + if (!res.tempFilePath) { | ||
356 | + wx.showModal({ | ||
357 | + title: '提示', | ||
358 | + content: '图片绘制中,请稍后重试', | ||
359 | + showCancel: false | ||
360 | + }) | ||
361 | + } | ||
362 | + | ||
363 | + } | ||
364 | + | ||
365 | + }) | ||
366 | + },300) | ||
367 | + }) | ||
368 | + }) | ||
369 | + | ||
370 | + | ||
371 | + | ||
372 | + | ||
373 | + } | ||
374 | + | ||
375 | + }) | ||
376 | + | ||
377 | + }, | ||
378 | + | ||
379 | + //--获取头像的本地缓存,回调写法-- | ||
380 | + get_head_temp: function (tt) { | ||
381 | + var ee = this; | ||
382 | + if (ee.data.head_pic) { | ||
383 | + tt();return false; | ||
384 | + } | ||
385 | + //---获取分享图片的本地地址,头像和商品图片---- | ||
386 | + var path2 = getApp().globalData.userInfo.head_pic; | ||
387 | + if (path2 == "") { | ||
388 | + ee.data.head_pic = "../../../images/share/hui_hear_pic.png";tt(); | ||
389 | + } else { | ||
390 | + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); | ||
391 | + wx.getImageInfo({ | ||
392 | + src: path2, | ||
393 | + success: function (res) { | ||
394 | + //res.path是网络图片的本地地址 | ||
395 | + ee.data.head_pic= res.path;tt(); | ||
396 | + }, | ||
397 | + fail: function (res) { | ||
398 | + ee.data.head_pic= "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 | ||
399 | + tt(); | ||
400 | + } | ||
401 | + }); | ||
402 | + } | ||
403 | + }, | ||
404 | + | ||
405 | + //--- 获取卡类列表 --- | ||
406 | + getPlusCardType: function (e) { | ||
407 | + var storid = o.stoid; | ||
408 | + var th = this; | ||
409 | + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { | ||
410 | + var plusCard = res.data.data; | ||
411 | + var arr = [1219, 2089, 3031]; | ||
412 | + var new_arr = new Array(); | ||
413 | + for (var i = 0; i < plusCard.length; i++) { | ||
414 | + //plusCard[i].free=arr[i]; | ||
415 | + var item = {"fee": plusCard[i].CardFee, 'index': i} | ||
416 | + new_arr.push(item); | ||
417 | + } | ||
418 | + //根據距離遠近排序,越近在前面,升序 | ||
419 | + new_arr.sort(function (a, b) { | ||
420 | + if (a.fee < b.fee) { return -1; } else if (a.fee == b.fee) { return 0; } else { return 1;} | ||
421 | + }); | ||
422 | + | ||
423 | + var max_card=plusCard[new_arr[new_arr.length-1].index]; | ||
424 | + th.setData({big_card:max_card}) | ||
425 | + | ||
426 | + //缓存分享卡的图片 | ||
427 | + wx.getImageInfo({ | ||
428 | + src: max_card.CardImg, | ||
429 | + success: function (res) { | ||
430 | + var bas_ming = res.path; th.setData({ bas_ming: bas_ming}); | ||
431 | + } | ||
432 | + }) | ||
433 | + | ||
434 | + }) | ||
435 | + }, | ||
436 | + | ||
437 | + | ||
438 | + | ||
439 | + | ||
440 | + | ||
441 | +}) | ||
0 | \ No newline at end of file | 442 | \ No newline at end of file |
pages/user/Detailed/Detailed.json
0 → 100644
pages/user/Detailed/Detailed.wxml
0 → 100644
1 | +<view wx:if="{{arrayDetailed.length>0}}"> | ||
2 | + <view class="flex-space-between fs28 title"> | ||
3 | + <view class="flex-vertical Nickname"> | ||
4 | + <view>会员昵称 | ||
5 | + </view> | ||
6 | + </view> | ||
7 | + <view class="flex-center phone"> | ||
8 | + <view>手机号码</view> | ||
9 | + </view> | ||
10 | + <view class="flex-center reward"> | ||
11 | + <view>奖励明细</view> | ||
12 | + </view> | ||
13 | + </view> | ||
14 | + | ||
15 | + | ||
16 | + | ||
17 | + <!-- 奖励详情 --> | ||
18 | + <view class="flex-space-between fs28 maxvalue" wx:for="{{arrayDetailed}}"> | ||
19 | + | ||
20 | + <view class="flex-vertical Nicknamevalue"> | ||
21 | + <view class="ellipsis-1">{{item.VIPName}} | ||
22 | + </view> | ||
23 | + </view> | ||
24 | + <view class="flex-center phonevalue"> | ||
25 | + <view>{{item.MobileTel}} | ||
26 | + </view> | ||
27 | + </view> | ||
28 | + <view class="flex-center rewardvalue"> | ||
29 | + <view>+{{item.VIPRebate}} | ||
30 | + </view> | ||
31 | + </view> | ||
32 | + </view> | ||
33 | + | ||
34 | +</view> | ||
35 | + | ||
36 | +<!-- 没有明细 --> | ||
37 | +<view class="empty_order" wx:if="{{isDetailed && arrayDetailed.length<=0}}"> | ||
38 | + <view class="flex-level"> | ||
39 | + <image src="{{url}}miniapp/images/order/empty_order.png"></image> | ||
40 | + </view> | ||
41 | + <view class="flex-level fs30 xc-ash">暂无邀请明细</view> | ||
42 | + <view class="flex-level"> | ||
43 | + <navigator bindtap="saveImageToPhotosAlbum"> | ||
44 | + <view class="flex-center fs30 white">去邀请</view> | ||
45 | + </navigator> | ||
46 | + </view> | ||
47 | +</view> | ||
48 | +<warn id="warn"></warn> | ||
49 | + | ||
50 | + <!-- 画布 --> | ||
51 | +<canvas canvas-id='myCanvas' style="width:750rpx;height:1260rpx; position: absolute; top:1260rpx " wx:if='{{!canvasHidden}}'></canvas> | ||
52 | +<warn id="warn"></warn> | ||
0 | \ No newline at end of file | 53 | \ No newline at end of file |
pages/user/Detailed/Detailed.wxss
0 → 100644
1 | +.title { | ||
2 | + background-color: rgb(238, 238, 238); | ||
3 | + height: 65rpx; | ||
4 | + color: rgb(153, 153, 153); | ||
5 | +} | ||
6 | + | ||
7 | +.Nickname { | ||
8 | + width: 200rpx; | ||
9 | + padding-left: 50rpx; | ||
10 | +} | ||
11 | + | ||
12 | +.reward { | ||
13 | + width: 250rpx; | ||
14 | +} | ||
15 | + | ||
16 | + | ||
17 | + | ||
18 | +.phone { | ||
19 | + width: 250rpx; | ||
20 | +} | ||
21 | + | ||
22 | +.maxvalue { | ||
23 | + border-bottom: 1rpx solid rgb(242, 242, 242); | ||
24 | +} | ||
25 | + | ||
26 | +.Nicknamevalue { | ||
27 | + height: 85rpx; | ||
28 | + width: 190rpx; | ||
29 | + padding-left: 60rpx; | ||
30 | +} | ||
31 | + | ||
32 | +.phonevalue { | ||
33 | + width: 250rpx; | ||
34 | +} | ||
35 | + | ||
36 | +.rewardvalue { | ||
37 | + width: 250rpx; | ||
38 | + color: rgb(215, 0, 38); | ||
39 | +} | ||
40 | +/*无明细*/ | ||
41 | +.empty_order image { | ||
42 | + width: 329rpx; | ||
43 | + height: 229rpx; | ||
44 | + margin-top: 202rpx; | ||
45 | +} | ||
46 | + | ||
47 | +.empty_order .xc-ash { | ||
48 | + margin-top: 10rpx; | ||
49 | + font-weight: 600px; | ||
50 | +} | ||
51 | + | ||
52 | +.empty_order navigator { | ||
53 | + margin-top: 60rpx; | ||
54 | + border-radius: 40rpx; | ||
55 | +} | ||
56 | + | ||
57 | +.empty_order navigator view { | ||
58 | + width: 247rpx; | ||
59 | + height: 56rpx; | ||
60 | + background-color: rgb(255, 72, 72); | ||
61 | + border-radius: 40rpx; | ||
62 | +} | ||
0 | \ No newline at end of file | 63 | \ No newline at end of file |
pages/user/cardinfo/cardinfo.js
0 → 100644
1 | +var t = getApp(), | ||
2 | + a = t.request, | ||
3 | + o = t.globalData.setting, | ||
4 | + os = o, | ||
5 | + i = require("../../../utils/util.js"), | ||
6 | + ut = i, | ||
7 | + s = require("../../../utils/common.js"),t_pay = require("../../../utils/pay2.js"), | ||
8 | + w = require("../../../utils/wxParse/wxParse.js"); | ||
9 | +var regeneratorRuntime = require('../../../utils/runtime.js'); | ||
10 | +//wx.downloadFile把线上地址设为本地地址 | ||
11 | +Page({ | ||
12 | + | ||
13 | + /** | ||
14 | + * 页面的初始数据 | ||
15 | + */ | ||
16 | + data: { | ||
17 | + images: [o.imghost + "/miniapp/images/plus/card_one.jpg", o.imghost + "/miniapp/images/plus/card_two.jpg", o.imghost + "/miniapp/images/plus/card_three.jpg"], | ||
18 | + | ||
19 | + url: o.imghost, | ||
20 | + screenWidth: 0, | ||
21 | + screenheight: 0, | ||
22 | + canvasHidden:1, | ||
23 | + shareImgPath: null, | ||
24 | + is_plusCard: "",//卡的列表 | ||
25 | + imagePath: "", | ||
26 | + user: null,//会员的数据 | ||
27 | + is_card: 0,//用于判断是否是续费页和购买页面 0不是puls会员 | ||
28 | + content: "",//等级卡规则 | ||
29 | + is_card_rule: "",//等级卡规则判断用 | ||
30 | + big_card: null,//最大的卡 | ||
31 | + divide_into:"",//分佣 | ||
32 | + is_loading:"",//判断分享只执行一次 | ||
33 | + bas_ming:"",//分享的卡的图片 | ||
34 | + head_pic:"",//会员头像 | ||
35 | + img_money:"",//缓存VIP的图片 | ||
36 | + img_Ancrown:"",//会员权益 | ||
37 | + img_Identification:"",//缓存标识的图片 | ||
38 | + img_square:"",//缓存方块的图片 | ||
39 | + privilege_o:"",//卡的勋章图 | ||
40 | + cardid: "",//会员卡的id | ||
41 | + user_card: null,//会员买的卡 | ||
42 | + free:null,//分佣的数据 | ||
43 | + expiryDate:"",//卡到期时间 | ||
44 | + | ||
45 | + }, | ||
46 | + | ||
47 | + | ||
48 | + | ||
49 | + | ||
50 | + /** | ||
51 | + * 生命周期函数--监听页面加载 | ||
52 | + */ | ||
53 | + onLoad: function (options) { | ||
54 | + var that = this,ee=this; | ||
55 | + | ||
56 | + //-----------等级卡说明------------------- | ||
57 | + getApp().request.promiseGet("/api/weshop/storeconfig/get/" + os.stoid, { | ||
58 | + }).then(res => { | ||
59 | + var is_cardrule = res.data.data.cardrules; | ||
60 | + w.wxParse("content", "html", is_cardrule, ee, 6); | ||
61 | + ee.setData({ | ||
62 | + is_card_rule: is_cardrule | ||
63 | + }); | ||
64 | + }) | ||
65 | + | ||
66 | + //----------------------------获取最大的卡类----------------------- | ||
67 | + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + o.stoid, { | ||
68 | + | ||
69 | + }).then(res => { | ||
70 | + var plusCard = res.data.data; | ||
71 | + var big_card = null; | ||
72 | + var big_cards = null; | ||
73 | + console.log(plusCard, "数据什么的", res); | ||
74 | + for (var i = 0; i < plusCard.length; i++) { | ||
75 | + big_cards = Math.max(plusCard[i].CardFee) | ||
76 | + if (plusCard[i].CardFee == big_cards) { | ||
77 | + big_card = plusCard[i] | ||
78 | + } | ||
79 | + } | ||
80 | + console.log(big_cards, "是什么东西", big_card); | ||
81 | + | ||
82 | + ee.setData({ | ||
83 | + is_plusCard: plusCard, | ||
84 | + big_card: big_card | ||
85 | + }) | ||
86 | + | ||
87 | + //缓存分享卡的图片 | ||
88 | + wx.getImageInfo({ | ||
89 | + src: big_card.CardImg, | ||
90 | + success: function (res) { | ||
91 | + //回调写法 | ||
92 | + var bas_ming = res.path; | ||
93 | + ee.setData({ bas_ming: bas_ming }); | ||
94 | + } | ||
95 | + }) | ||
96 | + | ||
97 | + }) | ||
98 | + | ||
99 | + | ||
100 | + //获取用户设备信息,屏幕宽度 | ||
101 | + wx.getSystemInfo({ | ||
102 | + success: res => { | ||
103 | + that.setData({ | ||
104 | + screenWidth: res.screenWidth | ||
105 | + }) | ||
106 | + } | ||
107 | + }) | ||
108 | + var goods_list = this.selectComponent("#goods_list"); //组件的id | ||
109 | + goods_list.get_list(); | ||
110 | + | ||
111 | + | ||
112 | + }, | ||
113 | + | ||
114 | + | ||
115 | +//------------程序初始化入口 同步------------- | ||
116 | + async init() { | ||
117 | + var ee = this, th = ee; | ||
118 | + | ||
119 | + //-------------会员卡的获取------------- | ||
120 | + await getApp().request.promiseGet("/api/weshop/plus/vip/mem/list", | ||
121 | + { | ||
122 | + data: { | ||
123 | + storeId: os.stoid, | ||
124 | + userId: getApp().globalData.user_id, | ||
125 | + }, | ||
126 | + }).then(res => { | ||
127 | + | ||
128 | + var GradeCardID = res.data.data[0].GradeCardID; | ||
129 | + var expiryDate = res.data.data[0].ExpiryDate | ||
130 | + console.log(GradeCardID, "卡的id", res.data.data[0]); | ||
131 | + ee.setData({cardid: GradeCardID, | ||
132 | + expiryDate: expiryDate | ||
133 | + }); | ||
134 | + | ||
135 | + | ||
136 | + }) | ||
137 | + //-----------会员分佣------------------- | ||
138 | + await getApp().request.promiseGet("/api/weshop/plus/vip/mem/freeze/money?userId=" + getApp().globalData.user_id + "&storeId=" + os.stoid, { | ||
139 | + }).then(res => { | ||
140 | + console.log("分佣的数据", res.data.data); | ||
141 | + if (res.data.code==0){ | ||
142 | + ee.setData({ free:res.data.data}); | ||
143 | + }else{ | ||
144 | + ee.setData({ free: 0 }); | ||
145 | + } | ||
146 | + | ||
147 | + }) | ||
148 | + //-----------会员的卡类------------------- | ||
149 | + await getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/get?storeId=" + os.stoid + "&CardId=" + ee.data.cardid, { | ||
150 | + }).then(res => { | ||
151 | + var user_card= res.data.data; | ||
152 | + console.log(user_card,"会员的卡类"); | ||
153 | + ee.setData({user_card: user_card}); | ||
154 | + }) | ||
155 | + | ||
156 | + | ||
157 | + | ||
158 | + //-----------------获取会员信息------------------------------- | ||
159 | + await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.user_id,{ | ||
160 | + | ||
161 | + }).then(res => { | ||
162 | + var user = res.data.data; | ||
163 | + var url = ee.data.url; | ||
164 | + console.log("是什么东西", url); | ||
165 | + var img_money = url + "/miniapp/images/plus/share/money.png"; | ||
166 | + var img_Ancrown = url + "/miniapp/images/plus/share/Ancrown.png"; | ||
167 | + var img_Identification = url + "/miniapp/images/plus/share/Identification.png"; | ||
168 | + var img_square = url + "/miniapp/images/plus/share/square.png"; | ||
169 | + var privilege_o = url + "/miniapp/images/plus/share/privilege_o.png"; | ||
170 | + console.log("图片转换",img_money); | ||
171 | + var big_card = ee.data.big_card; | ||
172 | + ee.setData({ | ||
173 | + user: user, | ||
174 | + img_money: img_money, | ||
175 | + img_Ancrown: img_Ancrown , | ||
176 | + img_Identification: img_Identification, | ||
177 | + img_square, img_square , | ||
178 | + privilege_o, privilege_o | ||
179 | + | ||
180 | + }); | ||
181 | + | ||
182 | + //缓存会员头像的图片 | ||
183 | + wx.getImageInfo({ | ||
184 | + src: user.head_pic, | ||
185 | + success: function (res) { | ||
186 | + //回调写法 | ||
187 | + var user_head= res.path; | ||
188 | + ee.setData({ head_pic: user_head }); | ||
189 | + } | ||
190 | + }) | ||
191 | + }) | ||
192 | + //--------------------缓存vip价格的图片--------------- | ||
193 | + wx.getImageInfo({ | ||
194 | + src:ee.data.img_money, | ||
195 | + success: function (res) { | ||
196 | + //回调写法 | ||
197 | + var img_money = res.path; | ||
198 | + ee.setData({ img_money: img_money}); | ||
199 | + } | ||
200 | + }) | ||
201 | + //--------------------缓存权益的图片--------------- | ||
202 | + wx.getImageInfo({ | ||
203 | + src: ee.data.img_Ancrown, | ||
204 | + success: function (res) { | ||
205 | + //回调写法 | ||
206 | + var img_Ancrown = res.path; | ||
207 | + ee.setData({ img_Ancrown: img_Ancrown }); | ||
208 | + } | ||
209 | + }) | ||
210 | + //--------------------缓存标识的图片--------------- | ||
211 | + wx.getImageInfo({ | ||
212 | + src: ee.data.img_Identification, | ||
213 | + success: function (res) { | ||
214 | + //回调写法 | ||
215 | + var img_Identification = res.path; | ||
216 | + ee.setData({ img_Identification: img_Identification }); | ||
217 | + } | ||
218 | + }) | ||
219 | + | ||
220 | + //--------------------卡的勋章--------------- | ||
221 | + wx.getImageInfo({ | ||
222 | + src: ee.data.privilege_o, | ||
223 | + success: function (res) { | ||
224 | + //回调写法 | ||
225 | + var privilege_o = res.path; | ||
226 | + ee.setData({ privilege_o: privilege_o }); | ||
227 | + } | ||
228 | + }) | ||
229 | + | ||
230 | + //--------------------方块图--------------- | ||
231 | + wx.getImageInfo({ | ||
232 | + src: ee.data.img_square, | ||
233 | + success: function (res) { | ||
234 | + //回调写法 | ||
235 | + var img_square = res.path; | ||
236 | + ee.setData({ img_square: img_square}); | ||
237 | + } | ||
238 | + }) | ||
239 | + | ||
240 | + }, | ||
241 | + | ||
242 | + | ||
243 | + | ||
244 | + | ||
245 | + //-----打开分享图片---- | ||
246 | + Share_pictures: function () { | ||
247 | + | ||
248 | + this.setData({ | ||
249 | + canvasHidden: false | ||
250 | + }) | ||
251 | + this.saveImageToPhotosAlbum(); | ||
252 | + }, | ||
253 | + | ||
254 | + | ||
255 | + /** | ||
256 | + * 生命周期函数--监听页面初次渲染完成 | ||
257 | + */ | ||
258 | + saveImageToPhotosAlbum: function () { | ||
259 | + if (this.data.imagePath != "") { | ||
260 | + wx.previewImage({ | ||
261 | + urls: [this.data.imagePath], | ||
262 | + }) | ||
263 | + return; | ||
264 | + } | ||
265 | + // if(this.data.is_loading) return false ; | ||
266 | + this.data.is_loading=1; | ||
267 | + | ||
268 | + wx.showLoading({ | ||
269 | + title: '生成中...', | ||
270 | + }) | ||
271 | + | ||
272 | + this.setData({ | ||
273 | + canvasHidden: false | ||
274 | + }) | ||
275 | + | ||
276 | + var th = this; | ||
277 | + //设置画板显示,才能开始绘图 | ||
278 | + var card_ming=th.data.bas_ming;//卡的图片 | ||
279 | + var user = th.data.user;//会员资料; | ||
280 | + var big_card= th.data.big_card;//获取最大的卡 | ||
281 | + var user_head = th.data.head_pic;//会员头像 | ||
282 | + var img_money = th.data.img_money;//缓存vip的价格 | ||
283 | + var img_Ancrown = th.data.img_Ancrown;//会员权益的图片 | ||
284 | + var img_Identification = th.data.img_Identification;//会员标识 | ||
285 | + var privilege_o = th.data.privilege_o;//勋章图片 | ||
286 | + var img_square=th.data.img_square; | ||
287 | + | ||
288 | + var app = getApp(); | ||
289 | + var unit = th.data.screenWidth / 750 * 1.35; | ||
290 | + var scene = getApp().globalData.user_id; | ||
291 | + console.log("用户头像", th.data.head_pic); | ||
292 | + ///二微码 | ||
293 | + | ||
294 | + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + | ||
295 | + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/user/index/index"; | ||
296 | + wx.getImageInfo({ | ||
297 | + src: path3, | ||
298 | + success: function (res) { | ||
299 | + //回调写法 | ||
300 | + th.get_head_temp(th.get_goods_temp, function () { | ||
301 | + var vpath=res.path; | ||
302 | + | ||
303 | + console.log("生成二维码", path3); | ||
304 | + //开启画布 | ||
305 | + const ctx = wx.createCanvasContext('myCanvas'); | ||
306 | + | ||
307 | + | ||
308 | + //先画背景 | ||
309 | + ctx.drawImage("../../../images/share/mackground.png", 0, 0, 554 * unit, 930 * unit); | ||
310 | + ctx.setFontSize(26 * unit); | ||
311 | + ctx.setFillStyle("rgb(0,0,0)"); | ||
312 | + ctx.fillText(user.nickname, 155 * unit, 75 * unit, 200 * unit); | ||
313 | + | ||
314 | + var tj_path = "../../../images/share/q_tj.png"; | ||
315 | + ctx.drawImage(tj_path, 385 * unit, 45 * unit, 90 * unit, 30 * unit); | ||
316 | + ctx.setFontSize(18 * unit); | ||
317 | + ctx.setFillStyle("rgb(255,255,255)"); | ||
318 | + ctx.fillText("强烈推荐", 394 * unit, 65 * unit); | ||
319 | + | ||
320 | + ctx.setStrokeStyle("rgb(255,255,255)"); | ||
321 | + ctx.setLineDash([5 * unit, 5 * unit], 5 * unit); | ||
322 | + ctx.beginPath(); | ||
323 | + ctx.moveTo(0, 125 * unit); | ||
324 | + ctx.lineTo(554 * unit, 125 * unit); | ||
325 | + ctx.stroke(); | ||
326 | + | ||
327 | + var x = 55 * unit, | ||
328 | + y = 165 * unit, | ||
329 | + w = 444 * unit, | ||
330 | + h = 220 * unit, | ||
331 | + r = 14 * unit; | ||
332 | + ctx.save(); | ||
333 | + // 开始绘制 | ||
334 | + ctx.beginPath(); | ||
335 | + // 因为边缘描边存在锯齿,最好指定使用 transparent 填充 | ||
336 | + // 这里是使用 fill 还是 stroke都可以,二选一即可 | ||
337 | + ctx.setFillStyle('rgb(237,188,150)') | ||
338 | + // ctx.setStrokeStyle('transparent') | ||
339 | + // 左上角 | ||
340 | + ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 1.5) | ||
341 | + | ||
342 | + // border-top | ||
343 | + ctx.moveTo(x + r, y) | ||
344 | + ctx.lineTo(x + w - r, y) | ||
345 | + ctx.lineTo(x + w, y + r) | ||
346 | + // 右上角 | ||
347 | + ctx.arc(x + w - r, y + r, r, Math.PI * 1.5, Math.PI * 2) | ||
348 | + | ||
349 | + // border-right | ||
350 | + ctx.lineTo(x + w, y + h - r) | ||
351 | + ctx.lineTo(x + w - r, y + h) | ||
352 | + // 右下角 | ||
353 | + ctx.arc(x + w - r, y + h - r, r, 0, Math.PI * 0.5) | ||
354 | + | ||
355 | + // border-bottom | ||
356 | + ctx.lineTo(x + r, y + h) | ||
357 | + ctx.lineTo(x, y + h - r) | ||
358 | + // 左下角 | ||
359 | + ctx.arc(x + r, y + h - r, r, Math.PI * 0.5, Math.PI) | ||
360 | + | ||
361 | + // border-left | ||
362 | + ctx.lineTo(x, y + r) | ||
363 | + ctx.lineTo(x + r, y) | ||
364 | + | ||
365 | + // 这里是使用 fill 还是 stroke都可以,二选一即可,但是需要与上面对应 | ||
366 | + ctx.fill() | ||
367 | + | ||
368 | + ctx.clip(); //画了圆 再剪切 原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内 | ||
369 | + ctx.drawImage(card_ming, x, y, 444 * unit, 220 * unit); // 推进去图片 | ||
370 | + ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 可以继续绘制 | ||
371 | + | ||
372 | + ctx.beginPath(); | ||
373 | + // 卡图片 | ||
374 | + // ctx.drawImage("../../../images/plus/share/one.jpg", 55 * unit, 165 * unit, 444 * unit, 220 * unit,); | ||
375 | + ctx.setFontSize(26 * unit); | ||
376 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
377 | + ctx.fillText(big_card.CardName, 80 * unit, 215 * unit); | ||
378 | + ctx.setFontSize(18 * unit); | ||
379 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
380 | + ctx.fillText("开通会员年卡仅" + big_card.CardFee+"元", 80 * unit, 240 * unit); | ||
381 | + | ||
382 | + ctx.drawImage(privilege_o, 80 * unit, 343 * unit, 20 * unit, 20 * unit); | ||
383 | + | ||
384 | + ctx.setFontSize(14 * unit); | ||
385 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
386 | + ctx.fillText("根据大家购买数据,您成为超级会员预计可省¥3031元", 105 * unit, 360 * unit); | ||
387 | + | ||
388 | + ctx.rect(70 * unit, 425 * unit, 182 * unit, 1 * unit); | ||
389 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
390 | + ctx.fill(); | ||
391 | + | ||
392 | + ctx.drawImage(img_square, 267 * unit, 420 * unit, 13 * unit, 13 * unit); | ||
393 | + | ||
394 | + ctx.beginPath(); | ||
395 | + ctx.rect(295 * unit, 425 * unit, 182 * unit, 1 * unit); | ||
396 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
397 | + ctx.fill(); | ||
398 | + | ||
399 | + ctx.drawImage(img_square, 80 * unit, 470 * unit, 10 * unit, 10 * unit); | ||
400 | + ctx.setFontSize(24 * unit); | ||
401 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
402 | + ctx.fillText("超级VIP权益", 100 * unit, 475 * unit); | ||
403 | + | ||
404 | + ctx.setFontSize(20 * unit); | ||
405 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
406 | + ctx.fillText("超级会员专属权益", 100 * unit, 505 * unit); | ||
407 | + ctx.drawImage(img_Ancrown, 355 * unit, 440 * unit, 65 * unit, 65 * unit); | ||
408 | + | ||
409 | + ctx.rect(85 * unit, 530 * unit, 375 * unit, 1 * unit) | ||
410 | + ctx.setFillStyle('rgb(218,194,169)') | ||
411 | + ctx.fill(); | ||
412 | + | ||
413 | + ctx.drawImage(img_square, 80 * unit, 575 * unit, 10 * unit, 10 * unit); | ||
414 | + ctx.setFontSize(24 * unit); | ||
415 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
416 | + ctx.fillText("超级VIP标识", 100 * unit, 580 * unit); | ||
417 | + | ||
418 | + ctx.setFontSize(20 * unit); | ||
419 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
420 | + ctx.fillText("彰显尊贵身份的象征", 100 * unit, 610 * unit); | ||
421 | + ctx.drawImage(img_Identification, 355 * unit, 548 * unit, 65 * unit, 65 * unit); | ||
422 | + | ||
423 | + ctx.rect(85 * unit, 635 * unit, 375 * unit, 1 * unit); | ||
424 | + ctx.setFillStyle('rgb(218,194,169)'); | ||
425 | + ctx.fill(); | ||
426 | + | ||
427 | + ctx.drawImage(img_square, 80 * unit, 695 * unit, 10 * unit, 10 * unit); | ||
428 | + ctx.setFontSize(24 * unit); | ||
429 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
430 | + ctx.fillText("超级VIP价格", 100 * unit, 695 * unit); | ||
431 | + | ||
432 | + ctx.setFontSize(20 * unit); | ||
433 | + ctx.setFillStyle("rgb(198,165,126)"); | ||
434 | + ctx.fillText("享受专属会员超低价", 100 * unit, 725 * unit); | ||
435 | + ctx.drawImage(img_money, 355 * unit, 660 * unit, 65 * unit, 65 * unit); | ||
436 | + | ||
437 | + ctx.rect(85 * unit, 750 * unit, 375 * unit, 1 * unit) | ||
438 | + ctx.setFillStyle('rgb(218,194,169)') | ||
439 | + ctx.fill(); | ||
440 | + | ||
441 | + ctx.drawImage(vpath, 100 * unit, 780 * unit, 110 * unit, 110 * unit); | ||
442 | + | ||
443 | + ctx.setFontSize(20 * unit); | ||
444 | + ctx.setFillStyle("#000"); | ||
445 | + ctx.fillText("解锁新权益 精彩享不停", 230 * unit, 825 * unit); | ||
446 | + | ||
447 | + ctx.setFontSize(20 * unit); | ||
448 | + ctx.setFillStyle("#000"); | ||
449 | + ctx.fillText("长按识别二维码,立即开通!", 230 * unit, 865 * unit); | ||
450 | + | ||
451 | + //---绘制圆形要放在最后---- | ||
452 | + ctx.save(); | ||
453 | + ctx.beginPath(); | ||
454 | + var h_x = 60 * unit; | ||
455 | + var h_y = 24 * unit; | ||
456 | + var h_r = 40 * unit; | ||
457 | + var cx = h_x + h_r; | ||
458 | + var cy = h_y + h_r; | ||
459 | + ctx.arc(cx, cy, h_r, 0, Math.PI * 2, false); | ||
460 | + ctx.closePath(); | ||
461 | + ctx.fill(); | ||
462 | + ctx.clip(); | ||
463 | + ctx.drawImage(th.data.head_pic, h_x, h_y, h_r * 2, h_r * 2); | ||
464 | + ctx.restore(); | ||
465 | + | ||
466 | + var x = 345 * unit, | ||
467 | + y = 190 * unit, | ||
468 | + w = 105 * unit, | ||
469 | + h = 30 * unit, | ||
470 | + r = 14 * unit; | ||
471 | + ctx.save(); | ||
472 | + // 开始绘制 | ||
473 | + ctx.beginPath(); | ||
474 | + // 因为边缘描边存在锯齿,最好指定使用 transparent 填充 | ||
475 | + // 这里是使用 fill 还是 stroke都可以,二选一即可 | ||
476 | + ctx.setFillStyle('rgb(237,188,150)') | ||
477 | + // ctx.setStrokeStyle('transparent') | ||
478 | + // 左上角 | ||
479 | + ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 1.5) | ||
480 | + | ||
481 | + // border-top | ||
482 | + ctx.moveTo(x + r, y) | ||
483 | + ctx.lineTo(x + w - r, y) | ||
484 | + ctx.lineTo(x + w, y + r) | ||
485 | + // 右上角 | ||
486 | + ctx.arc(x + w - r, y + r, r, Math.PI * 1.5, Math.PI * 2) | ||
487 | + | ||
488 | + // border-right | ||
489 | + ctx.lineTo(x + w, y + h - r) | ||
490 | + ctx.lineTo(x + w - r, y + h) | ||
491 | + // 右下角 | ||
492 | + ctx.arc(x + w - r, y + h - r, r, 0, Math.PI * 0.5) | ||
493 | + | ||
494 | + // border-bottom | ||
495 | + ctx.lineTo(x + r, y + h) | ||
496 | + ctx.lineTo(x, y + h - r) | ||
497 | + // 左下角 | ||
498 | + ctx.arc(x + r, y + h - r, r, Math.PI * 0.5, Math.PI) | ||
499 | + | ||
500 | + // border-left | ||
501 | + ctx.lineTo(x, y + r) | ||
502 | + ctx.lineTo(x + r, y) | ||
503 | + | ||
504 | + // 这里是使用 fill 还是 stroke都可以,二选一即可,但是需要与上面对应 | ||
505 | + ctx.fill() | ||
506 | + | ||
507 | + ctx.setFontSize(18 * unit); | ||
508 | + ctx.setFillStyle("#000"); | ||
509 | + ctx.fillText("立即开通", 362 * unit, 212 * unit); | ||
510 | + | ||
511 | + | ||
512 | + //绘制图片 | ||
513 | + ctx.draw(false, | ||
514 | + function(){ | ||
515 | + setTimeout(function(){ | ||
516 | + wx.canvasToTempFilePath({ | ||
517 | + x: 0, | ||
518 | + y: 0, | ||
519 | + width: 750, | ||
520 | + height: 930, | ||
521 | + destWidth: 1.2 * 750 * 750 / th.data.screenWidth, | ||
522 | + destHeight: 1.2 * 1217 * 750 / th.data.screenWidth, | ||
523 | + canvasId: 'myCanvas', | ||
524 | + success: function (res) { | ||
525 | + wx.hideLoading();//关闭生成中的方法 | ||
526 | + th.data.is_loading = 0; | ||
527 | + console.log("生成的海报"); | ||
528 | + console.log(res.tempFilePath); | ||
529 | + var tempFilePath = res.tempFilePath; | ||
530 | + th.setData({ | ||
531 | + imagePath: tempFilePath, | ||
532 | + maskHidden: false, | ||
533 | + canvasHidden: true | ||
534 | + }); | ||
535 | + wx.previewImage({ | ||
536 | + urls: [res.tempFilePath], | ||
537 | + }) | ||
538 | + if (!res.tempFilePath) { | ||
539 | + wx.showModal({ | ||
540 | + title: '提示', | ||
541 | + content: '图片绘制中,请稍后重试', | ||
542 | + showCancel: false | ||
543 | + }) | ||
544 | + } | ||
545 | + } | ||
546 | + }) | ||
547 | + },500) | ||
548 | + | ||
549 | + }) | ||
550 | + | ||
551 | + | ||
552 | + }) | ||
553 | + } | ||
554 | + }) | ||
555 | + | ||
556 | + }, | ||
557 | + | ||
558 | + //--获取头像的本地缓存,回调写法-- | ||
559 | + get_head_temp: function (tt, func) { | ||
560 | + var ee = this; | ||
561 | + console.log("获取头像", ee.data.head_pic); | ||
562 | + if (ee.data.head_pic) { | ||
563 | + tt(func); | ||
564 | + return false; | ||
565 | + } | ||
566 | + //---获取分享图片的本地地址,头像和商品图片---- | ||
567 | + var path2 = getApp().globalData.userInfo.head_pic; | ||
568 | + if (path2 == "") { | ||
569 | + ee.data.head_pic = "../../../images/share/hui_hear_pic.png"; | ||
570 | + tt(func); | ||
571 | + } else { | ||
572 | + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); | ||
573 | + wx.getImageInfo({ | ||
574 | + src: path2, | ||
575 | + success: function (res) { | ||
576 | + //res.path是网络图片的本地地址 | ||
577 | + ee.data.head_pic= res.path; | ||
578 | + tt(func);; | ||
579 | + }, | ||
580 | + fail: function (res) { | ||
581 | + ee.data.head_pic= "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 | ||
582 | + tt(func); | ||
583 | + } | ||
584 | + }); | ||
585 | + } | ||
586 | + }, | ||
587 | + //--获取商品图片的本地缓存,回调写法-- | ||
588 | + get_goods_temp: function (tt) { | ||
589 | + var ee = this; | ||
590 | + if (ee.data.head_pic) { | ||
591 | + tt(); | ||
592 | + return false; | ||
593 | + } | ||
594 | + //获取商品是分享图信息 | ||
595 | + wx.getImageInfo({ | ||
596 | + src: ee.data.head_pic, | ||
597 | + success: function (res) { | ||
598 | + //res.path是网络图片的本地地址 | ||
599 | + ee.data.head_pic = res.path; | ||
600 | + tt(); | ||
601 | + }, | ||
602 | + fail: function (res) { | ||
603 | + ee.data.head_pic = "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的 | ||
604 | + tt(); | ||
605 | + } | ||
606 | + }); | ||
607 | + }, | ||
608 | + /** | ||
609 | + * 生命周期函数--监听页面显示 | ||
610 | + */ | ||
611 | + onShow: function () { | ||
612 | + //同步初始化 | ||
613 | + this.init(); | ||
614 | + | ||
615 | + | ||
616 | + }, | ||
617 | + | ||
618 | + /** | ||
619 | + * 生命周期函数--监听页面隐藏 | ||
620 | + */ | ||
621 | + onHide: function () { | ||
622 | + | ||
623 | + }, | ||
624 | + | ||
625 | + /** | ||
626 | + * 生命周期函数--监听页面卸载 | ||
627 | + */ | ||
628 | + onUnload: function () { | ||
629 | + | ||
630 | + }, | ||
631 | + | ||
632 | + /** | ||
633 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
634 | + */ | ||
635 | + onPullDownRefresh: function () { | ||
636 | + | ||
637 | + }, | ||
638 | + | ||
639 | + /** | ||
640 | + * 页面上拉触底事件的处理函数 | ||
641 | + */ | ||
642 | + onReachBottom: function () { | ||
643 | + var goods_list = this.selectComponent("#goods_list"); //组件的id | ||
644 | + goods_list.get_list(); | ||
645 | + this.setData({ | ||
646 | + j: true | ||
647 | + }) | ||
648 | + }, | ||
649 | + | ||
650 | + | ||
651 | + | ||
652 | + //--转到用户余额-- | ||
653 | + to_user_money:function(){ | ||
654 | + var th=this,free=th.data.free; | ||
655 | + if(!th.data.free.RefereeMoney){ | ||
656 | + getApp().my_warnning("您没有转入余额",0,th); return false; | ||
657 | + } | ||
658 | + | ||
659 | + wx.showModal({ | ||
660 | + title: '提示', | ||
661 | + content: '您确定要转入余额吗?', | ||
662 | + success(res) { | ||
663 | + if (res.confirm) { | ||
664 | + getApp().request.post("/api/weshop/plus/withdrawal/referee/money",{ | ||
665 | + data:{storeId:os.stoid,userId:getApp().globalData.user_id}, | ||
666 | + success:function(res){ | ||
667 | + if(res.data.code==0){ | ||
668 | + getApp().my_warnning("转入成功",0,th); | ||
669 | + free.RefereeMoney=0; | ||
670 | + th.setData({free:free}); | ||
671 | + }else{ | ||
672 | + getApp().my_warnning(res.data.msg ,0,th); | ||
673 | + } | ||
674 | + } | ||
675 | + }) | ||
676 | + } | ||
677 | + } | ||
678 | + }) | ||
679 | + }, | ||
680 | + | ||
681 | + //-----立即续费的功能------ | ||
682 | + xufei:function(){ | ||
683 | + var th = this; | ||
684 | + var is_card = 0; | ||
685 | + var item = th.data.user_card; | ||
686 | + var req = {}; | ||
687 | + req.cardId = item.CardId; | ||
688 | + req.rechargeType = 4; | ||
689 | + //如果不是你导购,也不是等级会员分享 | ||
690 | + req.storeId = os.stoid; | ||
691 | + req.userId = getApp().globalData.user_id; | ||
692 | + t_pay.pay(req, th.success, function () { | ||
693 | + getApp().my_warnning("支付失败", 0, th); | ||
694 | + }); | ||
695 | + | ||
696 | + }, | ||
697 | + | ||
698 | + //--支付成功,跳转到等级卡续费页面-- | ||
699 | + success:function () { | ||
700 | + getApp().my_warnning("支付成功",0,this); | ||
701 | + }, | ||
702 | + | ||
703 | +}) | ||
0 | \ No newline at end of file | 704 | \ No newline at end of file |
pages/user/cardinfo/cardinfo.json
0 → 100644
1 | + { | ||
2 | + "usingComponents": { | ||
3 | + "pop_txt": "/components/userqy_pop_up/userqy_pop_up", | ||
4 | + "goods_recommend": "/components/goods_list/goods_list", | ||
5 | + "warn": "/components/long_warn/long_warn" | ||
6 | + }, | ||
7 | + "navigationBarTitleText": "plus会员" | ||
8 | +} | ||
0 | \ No newline at end of file | 9 | \ No newline at end of file |
pages/user/cardinfo/cardinfo.wxml
0 → 100644
1 | +<import src="../../../utils/wxParse/wxParse.wxml"></import> | ||
2 | +<import src="../../../utils/filter.wxs"></import> | ||
3 | +<wxs module="filters" src="../../../utils/filter.wxs"></wxs> | ||
4 | + | ||
5 | + <view> | ||
6 | + <image class="Member_bk" src="{{url}}/miniapp/images/plus/page_bk.png"></image> | ||
7 | +</view> | ||
8 | + | ||
9 | + | ||
10 | + <view class="MemberPlus rel"style="background-image:url('{{user_card.CardImg}}');background-size: 100% 100%;background-repead:no-repead;"> | ||
11 | + | ||
12 | + <view class="flex-space-between"> | ||
13 | + <view style="color:{{user_card.CardColor}}"> | ||
14 | + <view class="fs36 h36" style="font-weight:bold">{{user_card.CardName}}</view> | ||
15 | + <view class="fs22 h22" style="margin-top:15rpx">会员将在{{filters.replace_time2(expiryDate)}}到期</view> | ||
16 | + </view> | ||
17 | + <view bindtap="xufei" class="renew fs28" style="background:{{user_card.CardColor}}">立即续费 | ||
18 | + </view> | ||
19 | + </view> | ||
20 | + | ||
21 | + <view class="flex-vertical-between xs fs28"> | ||
22 | + <view class="flex ai-center" style=" overflow:hidden"> | ||
23 | + <view class="Member" | ||
24 | + style="background-image:url('{{url}}/miniapp/images/plus/privilege_o.png'); filter: drop-shadow(40px 0 0 {{user_card.CardColor}});"> | ||
25 | + </view> | ||
26 | + <view style="color:{{user_card.CardColor}}">正在享受{{user_card.CardName}}会员特权 | ||
27 | + </view> | ||
28 | + </view> | ||
29 | + <view class="flex-vertical" bindtap="Share_pictures"> | ||
30 | + <view style="color:{{user_card.CardColor}}">邀请新朋友</view> | ||
31 | + <image class="share" src="{{url}}/miniapp/images/plus/Forward.png"></image> | ||
32 | + </view> | ||
33 | + </view> | ||
34 | + | ||
35 | + </view> | ||
36 | + <view class="flex-vertical-between Invitation fs30"> | ||
37 | + | ||
38 | + <view class="flex"> | ||
39 | + 已邀请 | ||
40 | + <view class="Invitation_count">{{free==0?"0":free.RefereeNumber}}人</view> | ||
41 | + 可提现 | ||
42 | + <view class="Invitation_my">{{free==0?"0":free.VIPRebate}}元</view> | ||
43 | + </view> | ||
44 | + | ||
45 | + <view class="flex"> | ||
46 | + <view class="Detailed flex-center"> | ||
47 | + <navigator url="/pages/user/Detailed/Detailed">明细</navigator> | ||
48 | + </view> | ||
49 | + <view class="Invitation_Cash" bindtap="to_user_money">转到余额</view> | ||
50 | + </view> | ||
51 | + </view> | ||
52 | + | ||
53 | + <!-- 会员礼遇 --> | ||
54 | + <view class="Courtesy"> | ||
55 | + | ||
56 | + <!-- 标题 --> | ||
57 | + <view class="flex-center" style="width:100%;height:200rpx;"> | ||
58 | + <view> | ||
59 | + <view wx:if="{{false}}" class="Courtesy_title flex-center fs36">开通PLUS会员尊享礼遇 | ||
60 | + </view> | ||
61 | + <view wx:else class="Courtesy_title flex-center fs36">PLUS会员尊享礼遇 </view> | ||
62 | + | ||
63 | + | ||
64 | + <view class="flex-center"> | ||
65 | + <image class="Courtesy_image" src="{{url}}/miniapp/images/plus/Courtesy.png"></image> | ||
66 | + | ||
67 | + <view wx:if="{{false}}" class="Courtesy_can fs24">PLUS会员可享以下特权 | ||
68 | + </view> | ||
69 | + <view wx:else class="Courtesy_can fs24">解锁新权益 精彩享不停 | ||
70 | + </view> | ||
71 | + | ||
72 | + <image class="Courtesy_image" src="{{url}}/miniapp/images/plus/Courtesy.png"></image> | ||
73 | + </view> | ||
74 | + </view> | ||
75 | + </view> | ||
76 | + | ||
77 | + <!-- 会员权益内容 --> | ||
78 | + <view class="Courtesy_comment" style="padding:0 20rpx"> | ||
79 | + <view class="wxParse"> | ||
80 | + <template is="wxParse" data="{{wxParseData:content.nodes}}"></template> | ||
81 | + </view> | ||
82 | + </view> | ||
83 | + </view> | ||
84 | + | ||
85 | + | ||
86 | +<!-- 好物推荐 --> | ||
87 | + <!-- 好物推荐 --> | ||
88 | + <view class="title"> | ||
89 | + <!-- 标题 --> | ||
90 | + <view> | ||
91 | + <!-- 中文名标题 --> | ||
92 | + <view class="China flex-level"> | ||
93 | + <view class="line flex-vertical"> | ||
94 | + <view class="one"></view> | ||
95 | + <view class="two"></view> | ||
96 | + <view class="three"></view> | ||
97 | + </view> | ||
98 | + | ||
99 | + <view class="Recommend flex-level" bindtap="requestList">好物推荐</view> | ||
100 | + | ||
101 | + <view class="line flex-vertical"> | ||
102 | + <view class="three"></view> | ||
103 | + <view class="two"></view> | ||
104 | + <view class="one"></view> | ||
105 | + </view> | ||
106 | + </view> | ||
107 | + | ||
108 | + <!-- 英文标题 --> | ||
109 | + <view class="english flex-center"> | ||
110 | + <view class="silk"></view> | ||
111 | + <view class="esh five-level-word">GOOD HOT THING</view> | ||
112 | + <view class="silk"></view> | ||
113 | + </view> | ||
114 | + | ||
115 | + </view> | ||
116 | + <!-- 商品列表组件 --> | ||
117 | + <goods_recommend id="goods_list"></goods_recommend> | ||
118 | + <!-- 商品列表 --> | ||
119 | + | ||
120 | + </view> | ||
121 | + | ||
122 | + | ||
123 | + <!-- 画布 --> | ||
124 | +<canvas canvas-id='myCanvas' style="width:750rpx;height:1260rpx;"wx:if='{{!canvasHidden}}'></canvas> | ||
125 | + | ||
126 | +<warn id="warn"></warn> | ||
0 | \ No newline at end of file | 127 | \ No newline at end of file |
pages/user/cardinfo/cardinfo.wxss
0 → 100644
1 | + @import "../../../utils/wxParse/wxParse.wxss"; | ||
2 | + .Member_bk { | ||
3 | + position:relative; | ||
4 | + z-index: 0; | ||
5 | + width: 100%; | ||
6 | + height: 100%; | ||
7 | +} | ||
8 | +.MemberPlus { | ||
9 | + width: 618rpx; | ||
10 | + height: 285rpx; | ||
11 | + /* border-radius: 18rpx; */ | ||
12 | + box-shadow: 0rpx 0rpx 10rpx #888; | ||
13 | + margin: 0rpx 35rpx; | ||
14 | + color: #ffa786; | ||
15 | + padding: 0rpx 31rpx; | ||
16 | + padding-top: 40rpx; | ||
17 | + background-size: 100%; | ||
18 | + border-top-left-radius: 18rpx; | ||
19 | + border-top-right-radius: 18rpx; | ||
20 | + | ||
21 | +} | ||
22 | +.renew { | ||
23 | + width: 190rpx; | ||
24 | + height: 50rpx; | ||
25 | + border-radius: 18rpx; | ||
26 | + background-color: rgb(237, 189, 150); | ||
27 | + text-align: center; | ||
28 | + line-height: 50rpx; | ||
29 | + color: #000; | ||
30 | + margin-top: 7rpx; | ||
31 | + | ||
32 | +} | ||
33 | +.xs { | ||
34 | + position: absolute; bottom: 30rpx; width: 91%; | ||
35 | +} | ||
36 | +.MemberPlus .privilege { | ||
37 | + width: 30rpx; | ||
38 | + height: 30rpx; | ||
39 | + margin-right: 7rpx; | ||
40 | +} | ||
41 | +.MemberPlus .share { | ||
42 | + width: 30rpx; | ||
43 | + height: 30rpx; | ||
44 | + margin-left: 7rpx; | ||
45 | +} | ||
46 | +.Invitation { | ||
47 | + padding: 0rpx 31rpx; | ||
48 | + box-shadow: 0rpx 0rpx 10rpx #888; | ||
49 | + height: 95rpx; | ||
50 | + background-color: rgb(255, 255, 255); | ||
51 | + z-index: 6; | ||
52 | +} | ||
53 | +.Invitation .Invitation_count, .Invitation_my { | ||
54 | + color: rgb(237, 189, 153); | ||
55 | +} | ||
56 | +.Invitation .Detailed { | ||
57 | + color: rgb(237, 189, 150); | ||
58 | + text-decoration: underline; | ||
59 | +} | ||
60 | +.Invitation .Invitation_Cash { | ||
61 | + width: 150rpx; | ||
62 | + height: 45rpx; | ||
63 | + line-height: 45rpx; | ||
64 | + text-align: center; | ||
65 | + border-radius: 25rpx; | ||
66 | + margin-left: 30rpx; | ||
67 | + background-color: rgb(237, 189, 150); | ||
68 | + color: rgb(255, 255, 255); | ||
69 | +} | ||
70 | +.swiper, .Courtesy, .title { | ||
71 | + position: relative; | ||
72 | + z-index: 3; | ||
73 | +} | ||
74 | +.Courtesy_title { | ||
75 | + color: rgb(173, 137, 79); | ||
76 | + font-weight: bold; | ||
77 | + margin-bottom: 10rpx; | ||
78 | + letter-spacing: 2rpx; | ||
79 | +} | ||
80 | +.Courtesy_image { | ||
81 | + width: 50rpx; | ||
82 | + height: 25rpx; | ||
83 | + margin-top: 8rpx; | ||
84 | +} | ||
85 | +.Courtesy_can { | ||
86 | + margin: 0rpx 7rpx; | ||
87 | + color: rgb(94, 93, 91); | ||
88 | + font-weight: bold; | ||
89 | +} | ||
90 | + | ||
91 | + | ||
92 | +/* 热门好物 */ | ||
93 | + | ||
94 | +.title .China { | ||
95 | + width: 100%; | ||
96 | + margin-top: 60rpx; | ||
97 | + margin-bottom: 10rpx; | ||
98 | + line-height: 0rpx; | ||
99 | +} | ||
100 | + | ||
101 | +.title .China .line view { | ||
102 | + width: 2rpx; | ||
103 | +} | ||
104 | + | ||
105 | +.title .China .line { | ||
106 | + height: 40rpx; | ||
107 | + color: rgb(51, 51, 51); | ||
108 | +} | ||
109 | + | ||
110 | +.title .China .line view { | ||
111 | + border-left: 3rpx solid #000; | ||
112 | + margin-left: 5rpx; | ||
113 | +} | ||
114 | + | ||
115 | +.title .China .line .one { | ||
116 | + height: 23rpx; | ||
117 | +} | ||
118 | + | ||
119 | +.title .China .line .two { | ||
120 | + height: 15rpx; | ||
121 | +} | ||
122 | + | ||
123 | +.title .China .line .three { | ||
124 | + height: 18rpx; | ||
125 | +} | ||
126 | + | ||
127 | +.title .China .Recommend { | ||
128 | + margin: 0rpx 20rpx; | ||
129 | + font-size: 28rpx; | ||
130 | + line-height: 39rpx; | ||
131 | + font-weight: bold; | ||
132 | +} | ||
133 | + | ||
134 | +.title .english .silk { | ||
135 | + width: 214rpx; | ||
136 | + height: 2rpx; | ||
137 | + background-color: #000; | ||
138 | +} | ||
139 | + | ||
140 | +.title .english .esh { | ||
141 | + margin: 0rpx 15rpx; | ||
142 | +} | ||
143 | +.Member { | ||
144 | + width: 30rpx; | ||
145 | + height: 30rpx; | ||
146 | + margin-right: 5rpx; | ||
147 | + background-size: 100% 100%; | ||
148 | + background-blend-mode: lighten; | ||
149 | + transform: translateX(-280%); | ||
150 | + vertical-align: top; | ||
151 | +} | ||
152 | + | ||
153 | +.h36{ height:36rpx; line-height: 36rpx;} | ||
154 | +.h22{ height:22rpx; line-height: 22rpx;} | ||
0 | \ No newline at end of file | 155 | \ No newline at end of file |
pages/user/deposit/prepaid/prepaid.wxml
@@ -10,8 +10,8 @@ | @@ -10,8 +10,8 @@ | ||
10 | <view class="bz">备注: | 10 | <view class="bz">备注: |
11 | <view class="yck">{{perpaid.ItemName}}</view> | 11 | <view class="yck">{{perpaid.ItemName}}</view> |
12 | </view> | 12 | </view> |
13 | - <view class="ljcz" bindtap="submit" data-name="{{perpaid.BeginSum}} | ||
14 | - data-advance="{{perpaid.AdvanceItemId}}"data-money="{{perpaid.NewSum}}">立即充值</view> | 13 | + <view class="ljcz" bindtap="submit" data-name="{{perpaid.BeginSum}}" |
14 | + data-advance="{{perpaid.AdvanceItemId }}" data-money="{{perpaid.NewSum}}">立即充值</view> | ||
15 | </image> | 15 | </image> |
16 | </block> | 16 | </block> |
17 | 17 |
pages/user/index/index.js
@@ -12,25 +12,26 @@ Page({ | @@ -12,25 +12,26 @@ Page({ | ||
12 | * 页面的初始数据 | 12 | * 页面的初始数据 |
13 | */ | 13 | */ |
14 | data: { | 14 | data: { |
15 | - length:150, | ||
16 | - iurl: s.imghost, | ||
17 | - defaultAvatar:s.imghost+"/miniapp/images/no-head.jpg", | ||
18 | - userInfo:null, | ||
19 | - toji:null, //统计相关 | ||
20 | - txmon:0, | ||
21 | - byquan: 0, | ||
22 | - yuer: 0, | ||
23 | - | ||
24 | - currentPage:1, | ||
25 | - recommend_list:[], | ||
26 | - tc_hide: true, | ||
27 | - sw_index:0, | ||
28 | - qy_list:null, | ||
29 | - gradeId:null, | ||
30 | - is_init:0, | ||
31 | - | ||
32 | - cz_val:0, | ||
33 | - full_cz_val:0, | 15 | + length:150, |
16 | + iurl: s.imghost, | ||
17 | + defaultAvatar:s.imghost+"/miniapp/images/no-head.jpg", | ||
18 | + userInfo:null, | ||
19 | + toji:null, //统计相关 | ||
20 | + txmon:0, | ||
21 | + byquan: 0, | ||
22 | + yuer: 0, | ||
23 | + | ||
24 | + currentPage:1, | ||
25 | + recommend_list:[], | ||
26 | + tc_hide: true, | ||
27 | + sw_index:0, | ||
28 | + qy_list:null, | ||
29 | + gradeId:null, | ||
30 | + is_init:0, | ||
31 | + | ||
32 | + cz_val:0, | ||
33 | + full_cz_val:0, | ||
34 | + is_dengji:0, //是不是等级 | ||
34 | }, | 35 | }, |
35 | 36 | ||
36 | /** | 37 | /** |
@@ -45,7 +46,6 @@ Page({ | @@ -45,7 +46,6 @@ Page({ | ||
45 | var s = this,th=s,need_money=0,cur_g_num=0; | 46 | var s = this,th=s,need_money=0,cur_g_num=0; |
46 | getApp().get_isbuy(th.setappdata); | 47 | getApp().get_isbuy(th.setappdata); |
47 | if(getApp().globalData.user_id) getApp().requestCardNum(); | 48 | if(getApp().globalData.user_id) getApp().requestCardNum(); |
48 | - | ||
49 | /*------会员登录------*/ | 49 | /*------会员登录------*/ |
50 | app.getUserFir(async function(e){ | 50 | app.getUserFir(async function(e){ |
51 | if(e!=undefined && e!=null){ | 51 | if(e!=undefined && e!=null){ |
@@ -188,6 +188,21 @@ Page({ | @@ -188,6 +188,21 @@ Page({ | ||
188 | 188 | ||
189 | /*-- 获取 --*/ | 189 | /*-- 获取 --*/ |
190 | th.requestRecommend(); | 190 | th.requestRecommend(); |
191 | + | ||
192 | + /*-------系统是否开通等级卡,会员是等级卡-----*/ | ||
193 | + getApp().getConfig2(function (e) { | ||
194 | + var t_swi=e.switch_list; | ||
195 | + if(t_swi) t_swi=JSON.parse(t_swi) | ||
196 | + if(parseInt(t_swi.rank_switch)==2){ | ||
197 | + var userInfo=th.data.userInfo; | ||
198 | + if(userInfo.card_field!=null && userInfo.card_field!=undefined && userInfo.card_field!="" ){ | ||
199 | + th.setData({is_dengji:1}) | ||
200 | + }else{ | ||
201 | + th.setData({is_dengji:2}) | ||
202 | + } | ||
203 | + } | ||
204 | + }) | ||
205 | + | ||
191 | } | 206 | } |
192 | }); | 207 | }); |
193 | 208 |
pages/user/index/index.wxml
1 | <view class="xc-page"> | 1 | <view class="xc-page"> |
2 | -<view class="xc-user"> | ||
3 | - <view class="xc-head rel"> | ||
4 | - <image class="xc-background" src="{{iurl}}/miniapp/images/user_index_powder.jpg"> | ||
5 | - <view class="flex-space-between abs xc-user-frame"> | ||
6 | - <view class="xc-user-left flex" wx:if="{{userInfo}}"> | ||
7 | - <image class="xc-user-img circle" | ||
8 | - bindtap="go_info" | ||
9 | - src="{{userInfo.head_pic?userInfo.head_pic:defaultAvatar}}"></image> | ||
10 | - <view class="xc-uesr-name"> | ||
11 | - {{userInfo.nickname}} <view class="hvip" wx:if='{{GradeName && is_init}}'><image class="vip-mem" src="{{iurl}}/miniapp/images/vip_hg0.png"></image>{{GradeName}}</view> | ||
12 | - <view class="flex fs24 xc-grow-ups" style="margin-left:8rpx;margin-top:6rpx" wx:if="{{is_init && gradeId}}" bindtap='jump'> | ||
13 | - <block wx:if="{{cz_val<full_cz_val}}"> | ||
14 | - {{" "}}<text class="grow-up-val">成长值</text> <view style='margin-left:5rpx; '>{{cz_val}} / {{need_money}}</view> | ||
15 | - </block> | ||
16 | - <block wx:else> | ||
17 | - {{" "}}<text class="grow-up-val">成长值</text> {{cz_val}} | ||
18 | - </block> | ||
19 | - </view> | ||
20 | - </view> | 2 | + <view class="xc-user"> |
3 | + <view class="xc-head rel"> | ||
4 | + <image class="xc-background" src="{{iurl}}/miniapp/images/user_index_powder.jpg"> | ||
5 | + <view class="flex-space-between abs xc-user-frame"> | ||
6 | + <view class="xc-user-left flex" wx:if="{{userInfo}}"> | ||
7 | + <image class="xc-user-img circle" bindtap="go_info" src="{{userInfo.head_pic?userInfo.head_pic:defaultAvatar}}"></image> | ||
8 | + <view class="xc-uesr-name"> | ||
9 | + {{userInfo.nickname}} | ||
10 | + <view class="hvip" wx:if='{{GradeName && is_init}}'> | ||
11 | + <image class="vip-mem" src="{{iurl}}/miniapp/images/vip_hg0.png"></image>{{GradeName}}</view> | ||
12 | + <view class="flex fs24 xc-grow-ups" style="margin-left:8rpx;margin-top:6rpx" wx:if="{{is_init && gradeId}}" bindtap='jump'> | ||
13 | + <block wx:if="{{cz_val<full_cz_val}}"> | ||
14 | + {{" "}} | ||
15 | + <text class="grow-up-val">成长值</text> | ||
16 | + <view style='margin-left:5rpx; '>{{cz_val}} / {{need_money}}</view> | ||
17 | + </block> | ||
18 | + <block wx:else> | ||
19 | + {{" "}} | ||
20 | + <text class="grow-up-val">成长值</text> {{cz_val}} | ||
21 | + </block> | ||
22 | + </view> | ||
23 | + </view> | ||
21 | 24 | ||
22 | - </view> | 25 | + </view> |
23 | 26 | ||
24 | - <view class="xc-user-left flex" wx:else bindtap="gobindtel"> | ||
25 | - <image class="xc-user-img circle" src="{{userInfo.head_pic?userInfo.head_pic:defaultAvatar}}"></image> | ||
26 | - <view class="xc-uesr-name">请点击注册</view> | ||
27 | - </view> | 27 | + <view class="xc-user-left flex" wx:else bindtap="gobindtel"> |
28 | + <image class="xc-user-img circle" src="{{userInfo.head_pic?userInfo.head_pic:defaultAvatar}}"></image> | ||
29 | + <view class="xc-uesr-name">请点击注册</view> | ||
30 | + </view> | ||
28 | 31 | ||
29 | 32 | ||
30 | - </view> | ||
31 | - <view wx:if="{{userInfo}}" class="xc-qrcode-frame abs flex-center "> | ||
32 | - <!-- {{iurl}}/miniapp --> | ||
33 | - <image bindtap='show_tc' class=" xc-qrcode "src="{{iurl}}/miniapp/images/qrcode1.png"></image> | ||
34 | - </view> | ||
35 | - <view class="flex-vertical abs xc-grow-frame rel" style="display: none"> | ||
36 | - <view class="xc-grow-up">成长值</view> | 33 | + </view> |
34 | + <view wx:if="{{userInfo}}" class="xc-qrcode-frame abs flex-center "> | ||
35 | + <!-- {{iurl}}/miniapp --> | ||
36 | + <image bindtap='show_tc' class=" xc-qrcode " src="{{iurl}}/miniapp/images/qrcode1.png"></image> | ||
37 | + </view> | ||
38 | + <view class="flex-vertical abs xc-grow-frame rel" style="display: none"> | ||
39 | + <view class="xc-grow-up">成长值</view> | ||
37 | 40 | ||
38 | - <view class="xc-line-not rel"> | ||
39 | - <image class="xc-bj-img abs" src="{{iurl}}/miniapp/images/baijing.png"></image> | ||
40 | - <image class="xc-zs-img abs" src="{{iurl}}/miniapp/images/zhuangshi.png"></image> | ||
41 | - <view class="xc-line-Yes abs" style="width:{{length}}rpx;"></view> | ||
42 | - </view> | ||
43 | - | ||
44 | - <view class="xc-grow-val">5000/10000</view> | ||
45 | - </view> | ||
46 | - <view class="flex-equality abs xc-assets"> | ||
47 | - <view class="t-c typefont" bindtap='balance'>{{yuer?yuer:0}}<view class='numfont'>余额</view></view> | ||
48 | - <view class="t-c typefont" bindtap='deposit'>{{udata.Balance?udata.Balance:0}}<view class='numfont'>预存款</view></view> | ||
49 | - <view class="t-c typefont" bindtap='integral'>{{udata.Integral?udata.Integral:0}}<view class='numfont'>积分</view></view> | ||
50 | - <view class="t-c typefont" bindtap='coupon'>{{udata.CashCount+byquan?udata.CashCount+byquan:0}}<view class='numfont'>优惠券</view></view> | ||
51 | - </view> | ||
52 | - </image> | ||
53 | - | ||
54 | - </view> | ||
55 | - <view class="xc-add-member-frame flex-level"> | ||
56 | - <view class="xc-add-member flex-vertical four-level-word"> | ||
57 | - <image class="xc-icon" src="{{iurl}}/miniapp/images/add.png" ></image> | ||
58 | - <view class="member"> 加入会员</view> | ||
59 | - <view class="t-c xc-save-money"> 预计可省345元</view> | ||
60 | - <view class="xc-opening-button t-c"> | ||
61 | - <view class="xc-opening four-level-word">立即开通</view> | ||
62 | - </view> | ||
63 | - </view> | ||
64 | -</view> | 41 | + <view class="xc-line-not rel"> |
42 | + <image class="xc-bj-img abs" src="{{iurl}}/miniapp/images/baijing.png"></image> | ||
43 | + <image class="xc-zs-img abs" src="{{iurl}}/miniapp/images/zhuangshi.png"></image> | ||
44 | + <view class="xc-line-Yes abs" style="width:{{length}}rpx;"></view> | ||
45 | + </view> | ||
46 | + | ||
47 | + <view class="xc-grow-val">5000/10000</view> | ||
48 | + </view> | ||
49 | + <view class="flex-equality abs xc-assets"> | ||
50 | + <view class="t-c typefont" bindtap='balance'>{{yuer?yuer:0}} | ||
51 | + <view class='numfont'>余额</view> | ||
52 | + </view> | ||
53 | + <view class="t-c typefont" bindtap='deposit'>{{udata.Balance?udata.Balance:0}} | ||
54 | + <view class='numfont'>预存款</view> | ||
55 | + </view> | ||
56 | + <view class="t-c typefont" bindtap='integral'>{{udata.Integral?udata.Integral:0}} | ||
57 | + <view class='numfont'>积分</view> | ||
58 | + </view> | ||
59 | + <view class="t-c typefont" bindtap='coupon'>{{udata.CashCount+byquan?udata.CashCount+byquan:0}} | ||
60 | + <view class='numfont'>优惠券</view> | ||
61 | + </view> | ||
62 | + </view> | ||
63 | + </image> | ||
64 | + | ||
65 | + </view> | ||
66 | + <view class="xc-add-member-frame flex-level rel addplus" wx:if="{{is_dengji==2}}"> | ||
67 | + <view class="xc-add-member flex-vertical four-level-word"> | ||
68 | + <image class="xc-icon" src="{{iurl}}/miniapp/images/user/user_vip.png"></image> | ||
69 | + <view class="member"> 加入plus会员</view> | ||
70 | + <view class="t-c xc-save-money"> 预计可省3031元</view> | ||
71 | + <view class="xc-opening-button t-c" data-url="/pages/user/plus/plus" bindtap="goto"> | ||
72 | + <view class="xc-opening fs20">立即开通</view> | ||
73 | + </view> | ||
74 | + </view> | ||
75 | + </view> | ||
65 | 76 | ||
66 | - </view> | ||
67 | - <view class="xc-after-sale rel"> | ||
68 | - <view class="xc-after-sale-left flex-center-around"> | ||
69 | - <view class="t-c margin-auto rel" bindtap="go_order" data-url="/pages/user/order_list/order_list?type=1"> | ||
70 | - <image class="xc-no-money" src="{{iurl}}/miniapp/images/daifuk.png"></image> | ||
71 | - <view class=" xc-word-color four-level-word">待付款</view> | ||
72 | - <text class="order-num" hidden='{{toji.wait_pay>0?"":"true"}}'>{{toji.wait_pay}}</text> | ||
73 | - </view> | ||
74 | - <view class="t-c margin-auto rel" bindtap="go_order" data-url="/pages/user/order_list/order_list?type=3"> | ||
75 | - <image class="xc-await" src="{{iurl}}/miniapp/images/shouhuo1.png"></image> | ||
76 | - <view class="xc-word-color four-level-word">待收货</view> | ||
77 | - <text class="order-num" hidden='{{toji.wait_receive>0?"":"true"}}'>{{toji.wait_receive}}</text> | ||
78 | - </view> | ||
79 | - <view class="t-c margin-auto rel" bindtap="go_order" data-url="/pages/user/order_list/order_list?type=4"> | ||
80 | - <image class="xc-no-money" src="{{iurl}}/miniapp/images/dpr1.png"></image> | ||
81 | - <view class="xc-word-color four-level-word">待评论</view> | ||
82 | - <text class="order-num" hidden='{{toji.wait_pj>0?"":"true"}}'>{{toji.wait_pj}}</text> | ||
83 | - </view> | ||
84 | - <view class="t-c margin-auto rel" style='margin-left:30rpx;' bindtap="go_order" data-url="/pages/user/return_goods_list/return_goods_list" > | ||
85 | - <image class="xc-no-money" src="{{iurl}}/miniapp/images/shouh1.png"></image> | ||
86 | - <view style='height:36rpx;'> </view> | ||
87 | - <view class="xc-word-color four-level-word abs">售后/退款</view> | ||
88 | - <!--<text class="order-num" hidden='{{toji.wait_return>0>0?"":"true"}}' style="right: -20rpx">{{toji.wait_return}}</text>--> | ||
89 | - </view> | 77 | + </view> |
78 | + <view class="xc-after-sale rel"> | ||
79 | + <view class="xc-after-sale-left flex-center-around"> | ||
80 | + <view class="t-c margin-auto rel" bindtap="go_order" data-url="/pages/user/order_list/order_list?type=1"> | ||
81 | + <image class="xc-no-money" src="{{iurl}}/miniapp/images/daifuk.png"></image> | ||
82 | + <view class=" xc-word-color four-level-word">待付款</view> | ||
83 | + <text class="order-num" hidden='{{toji.wait_pay>0?"":"true"}}'>{{toji.wait_pay}}</text> | ||
84 | + </view> | ||
85 | + <view class="t-c margin-auto rel" bindtap="go_order" data-url="/pages/user/order_list/order_list?type=3"> | ||
86 | + <image class="xc-await" src="{{iurl}}/miniapp/images/shouhuo1.png"></image> | ||
87 | + <view class="xc-word-color four-level-word">待收货</view> | ||
88 | + <text class="order-num" hidden='{{toji.wait_receive>0?"":"true"}}'>{{toji.wait_receive}}</text> | ||
89 | + </view> | ||
90 | + <view class="t-c margin-auto rel" bindtap="go_order" data-url="/pages/user/order_list/order_list?type=4"> | ||
91 | + <image class="xc-no-money" src="{{iurl}}/miniapp/images/dpr1.png"></image> | ||
92 | + <view class="xc-word-color four-level-word">待评论</view> | ||
93 | + <text class="order-num" hidden='{{toji.wait_pj>0?"":"true"}}'>{{toji.wait_pj}}</text> | ||
94 | + </view> | ||
95 | + <view class="t-c margin-auto rel" style='margin-left:30rpx;' bindtap="go_order" data-url="/pages/user/return_goods_list/return_goods_list"> | ||
96 | + <image class="xc-no-money" src="{{iurl}}/miniapp/images/shouh1.png"></image> | ||
97 | + <view style='height:36rpx;'> </view> | ||
98 | + <view class="xc-word-color four-level-word abs">售后/退款</view> | ||
99 | + <!--<text class="order-num" hidden='{{toji.wait_return>0>0?"":"true"}}' style="right: -20rpx">{{toji.wait_return}}</text>--> | ||
100 | + </view> | ||
90 | 101 | ||
91 | - <view class='xc-hump abs'></view> | ||
92 | - <view class="flex-verticalr xc-after-sale-right"> | ||
93 | - <view class=" xc-order t-c" bindtap="go_order" data-url="/pages/user/order_list/order_list" > | ||
94 | - <image class="xc-no-money xc-my-order" src="{{iurl}}/miniapp/images/dindan.png"></image> | ||
95 | - <view class="xc-word-color four-level-word" style='margin-left:20rpx;'>我的订单</view> | 102 | + <view class='xc-hump abs'></view> |
103 | + <view class="flex-verticalr xc-after-sale-right"> | ||
104 | + <view class=" xc-order t-c" bindtap="go_order" data-url="/pages/user/order_list/order_list"> | ||
105 | + <image class="xc-no-money xc-my-order" src="{{iurl}}/miniapp/images/dindan.png"></image> | ||
106 | + <view class="xc-word-color four-level-word" style='margin-left:20rpx;'>我的订单</view> | ||
107 | + </view> | ||
96 | </view> | 108 | </view> |
109 | + | ||
97 | </view> | 110 | </view> |
98 | 111 | ||
99 | - </view> | ||
100 | - | ||
101 | - </view> | 112 | + </view> |
113 | + | ||
114 | + <!-- 我的权益 --> | ||
115 | + <view class="xc-my-equity-frame" wx:if="{{qy_list!=null && is_init && gradeId}}"> | ||
116 | + <view class="xc-equity-title flex-level" bindtap="go_qy"> | ||
117 | + <view class="xc-title-frame flex-space-between"> | ||
118 | + <view class="flex-vertical xc-title-content"> | ||
119 | + <image class="xc-title-img" src="{{iurl}}/miniapp/images/medal.png"></image> | ||
120 | + <view class="three-level-word"> | ||
121 | + 我的权益 | ||
122 | + </view> | ||
123 | + </view> | ||
124 | + </view> | ||
125 | + <view class="three-level-word xc-more-frame flex-vertical"> | ||
126 | + <view class="three-level-word xc-more">更多</view> | ||
127 | + <view class="bg_right xc-more-click bcolor"></view> | ||
128 | + </view> | ||
129 | + </view> | ||
130 | + <view class="xc-specific-more-frame flex-vertical"> | ||
102 | 131 | ||
103 | - <!-- 我的权益 --> | ||
104 | - <view class="xc-my-equity-frame" wx:if="{{qy_list!=null && is_init && gradeId}}"> | ||
105 | - <view class="xc-equity-title flex-level" bindtap="go_qy"> | ||
106 | - <view class="xc-title-frame flex-space-between"> | ||
107 | - <view class="flex-vertical xc-title-content"> | ||
108 | - <image class="xc-title-img" src="{{iurl}}/miniapp/images/medal.png"></image> | ||
109 | - <view class="three-level-word" > | ||
110 | - 我的权益 | ||
111 | - </view> | ||
112 | - </view> | ||
113 | - </view> | ||
114 | - <view class="three-level-word xc-more-frame flex-vertical"> | ||
115 | - <view class="three-level-word xc-more">更多</view> | ||
116 | - <view class="bg_right xc-more-click bcolor"></view> | ||
117 | - </view> | ||
118 | - </view> | ||
119 | - <view class="xc-specific-more-frame flex-vertical"> | ||
120 | - | ||
121 | <view bindtap="click_pre"> | 132 | <view bindtap="click_pre"> |
122 | - <view class="bg_left xc-left bcolor" ></view> | 133 | + <view class="bg_left xc-left bcolor"></view> |
123 | </view> | 134 | </view> |
124 | 135 | ||
125 | - <swiper current="{{sw_index}}" style='width:82.7%; height:108rpx' | ||
126 | - bindchange='onSli' | ||
127 | - indicator-dots="{{false}}" autoplay="{{false}}" > | ||
128 | - | ||
129 | - <swiper-item wx:for="{{qy_list}}" wx:for-item="aitem" wx:for-index="pidx" > | ||
130 | - <view class="flex xc-middle"> | ||
131 | - | ||
132 | - <view class="xc-center-frame t-c" wx:for="{{aitem}}" | ||
133 | - data-img="{{item.PrivilegeImageUrl}}" | ||
134 | - data-no="{{item.PrivilegeType}}" | ||
135 | - data-ind="{{index}}" | ||
136 | - data-find="{{pidx}}" | ||
137 | - bindtap="go_qy_url"> | ||
138 | - <!-- <text>qy_list.privilegeICOUrl</text> --> | ||
139 | - <image class="xc-center-img {{item.ishas==1?'':'img_gray'}}"src="{{item.PrivilegeICOUrl}}"></image> | ||
140 | - <view class="four-level-word">{{item.PrivilegeName}}</view> | ||
141 | - </view> | ||
142 | - </view> | ||
143 | - </swiper-item> | 136 | + <swiper current="{{sw_index}}" style='width:82.7%; height:108rpx' bindchange='onSli' indicator-dots="{{false}}" autoplay="{{false}}"> |
137 | + | ||
138 | + <swiper-item wx:for="{{qy_list}}" wx:for-item="aitem" wx:for-index="pidx"> | ||
139 | + <view class="flex xc-middle"> | ||
144 | 140 | ||
145 | - </swiper> | 141 | + <view class="xc-center-frame t-c" wx:for="{{aitem}}" data-img="{{item.PrivilegeImageUrl}}" data-no="{{item.PrivilegeType}}" data-ind="{{index}}" data-find="{{pidx}}" bindtap="go_qy_url"> |
142 | + <!-- <text>qy_list.privilegeICOUrl</text> --> | ||
143 | + <image class="xc-center-img {{item.ishas==1?'':'img_gray'}}" src="{{item.PrivilegeICOUrl}}"></image> | ||
144 | + <view class="four-level-word">{{item.PrivilegeName}}</view> | ||
145 | + </view> | ||
146 | + </view> | ||
147 | + </swiper-item> | ||
148 | + | ||
149 | + </swiper> | ||
146 | 150 | ||
147 | - <view bindtap="click_next"> | ||
148 | - <view class="bg_right xc-right bcolor mt" ></view> | 151 | + <view bindtap="click_next"> |
152 | + <view class="bg_right xc-right bcolor mt"></view> | ||
149 | </view> | 153 | </view> |
150 | - </view> | ||
151 | - </view> | ||
152 | - <!-- 工具与服务 --> | ||
153 | - <view class="xc-tool-service"> | ||
154 | - <view class="xc-tool-service-title flex-vertical"> | ||
155 | - <image class="xc-tool-service-img" src="{{iurl}}/miniapp/images/gj.png"></image> | ||
156 | - <view class="three-level-word xc-tool-service-word">工具与服务</view> | ||
157 | - </view> | ||
158 | - <view class="xc-project-frame"> | ||
159 | - <!-- 跳转页面 --> | ||
160 | - <view class="center_v"> | ||
161 | - <view class="item t-c" data-url="/pages/team/team_ping/team_ping" bindtap="goto"> | ||
162 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/pindan.png"></image> | ||
163 | - <view class="fs26">我的拼单</view> | ||
164 | - </view> | ||
165 | - <view class="item t-c" data-url="/pages/activity/seckill_list/seckill_list" bindtap="goto"> | ||
166 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/miaosha.png"></image> | ||
167 | - <view class="fs26">秒杀活动</view> | ||
168 | - </view> | ||
169 | - <view class="item t-c" bindtap="go_qy" wx:if="{{qy_list!=null && is_init && gradeId}}"> | ||
170 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/quanyi2.png"></image> | ||
171 | - <view class="fs26">我的权益</view> | ||
172 | - </view> | 154 | + </view> |
155 | + </view> | ||
156 | + <!-- 工具与服务 --> | ||
157 | + <view class="xc-tool-service"> | ||
158 | + <view class="xc-tool-service-title flex-vertical"> | ||
159 | + <image class="xc-tool-service-img" src="{{iurl}}/miniapp/images/gj.png"></image> | ||
160 | + <view class="three-level-word xc-tool-service-word">工具与服务</view> | ||
161 | + </view> | ||
162 | + <view class="xc-project-frame"> | ||
163 | + <!-- 跳转页面 --> | ||
164 | + <view class="center_v"> | ||
165 | + <view class="item t-c" data-url="/pages/team/team_ping/team_ping" bindtap="goto"> | ||
166 | + <image class="xc-center-img " src="{{iurl}}/miniapp/images/pindan.png"></image> | ||
167 | + <view class="fs26">我的拼单</view> | ||
168 | + </view> | ||
169 | + <view class="item t-c" data-url="/pages/activity/seckill_list/seckill_list" bindtap="goto"> | ||
170 | + <image class="xc-center-img " src="{{iurl}}/miniapp/images/miaosha.png"></image> | ||
171 | + <view class="fs26">秒杀活动</view> | ||
172 | + </view> | ||
173 | + <view class="item t-c" bindtap="go_qy" wx:if="{{qy_list!=null && is_init && gradeId}}"> | ||
174 | + <image class="xc-center-img " src="{{iurl}}/miniapp/images/quanyi2.png"></image> | ||
175 | + <view class="fs26">我的权益</view> | ||
176 | + </view> | ||
173 | 177 | ||
174 | - <view class="item t-c" bindtap="contactService"> | ||
175 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/kefu.png"></image> | ||
176 | - <view class="fs26">联系客服</view> | ||
177 | - </view> | 178 | + <view class="item t-c" bindtap="contactService"> |
179 | + <image class="xc-center-img " src="{{iurl}}/miniapp/images/kefu.png"></image> | ||
180 | + <view class="fs26">联系客服</view> | ||
181 | + </view> | ||
178 | 182 | ||
183 | + <view class="item t-c" data-url="/pages/user/cardinfo/cardinfo" bindtap="goto" wx:if="{{is_dengji==1}}"> | ||
184 | + <image class="xc-center-img " src="{{iurl}}/miniapp/images/plus/privilege_o.png"></image> | ||
185 | + <view class="fs26">plus会员</view> | ||
186 | + </view> | ||
179 | 187 | ||
180 | - <view class="item t-c" data-url="/pages/user/collect_list/collect_list" bindtap="goto"> | ||
181 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/collections.png"></image> | ||
182 | - <view class="fs26">收藏夹</view> | ||
183 | - </view> | 188 | + <view class="item t-c" data-url="/pages/user/collect_list/collect_list" bindtap="goto"> |
189 | + <image class="xc-center-img " src="{{iurl}}/miniapp/images/collections.png"></image> | ||
190 | + <view class="fs26">收藏夹</view> | ||
191 | + </view> | ||
184 | 192 | ||
185 | - <view class="item t-c" data-url="/pages/user/comment/comment" bindtap="goto" > | ||
186 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/evaluate.png"></image> | ||
187 | - <view class="fs26">我的评价</view> | ||
188 | - </view> | 193 | + <view class="item t-c" data-url="/pages/user/comment/comment" bindtap="goto"> |
194 | + <image class="xc-center-img " src="{{iurl}}/miniapp/images/evaluate.png"></image> | ||
195 | + <view class="fs26">我的评价</view> | ||
196 | + </view> | ||
189 | 197 | ||
190 | - <view class="item t-c" data-url="/pages/user/address_list/address_list" bindtap="goto" > | ||
191 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/add2.png"></image> | ||
192 | - <view class="four-level-word">我的地址</view> | ||
193 | - </view> | 198 | + <view class="item t-c" data-url="/pages/user/address_list/address_list" bindtap="goto"> |
199 | + <image class="xc-center-img " src="{{iurl}}/miniapp/images/add2.png"></image> | ||
200 | + <view class="four-level-word">我的地址</view> | ||
201 | + </view> | ||
194 | 202 | ||
195 | - </view> | 203 | + </view> |
196 | 204 | ||
197 | 205 | ||
198 | 206 | ||
199 | - </view> | ||
200 | - </view> | ||
201 | - <view style='width:100%;height:73rpx;'> | ||
202 | - <view class="xc-recommend-goods flex-center"> | ||
203 | - | ||
204 | - <view class="circle xc-small"> | ||
205 | - </view> | ||
206 | - <view class="circle xc-zhong"> | ||
207 | - </view> | ||
208 | - <view class="circle xc-big"> | ||
209 | - </view> | ||
210 | - <view class="three-level-word xc-recommend">为你推荐</view> | ||
211 | - <view class="circle xc-big"> | ||
212 | - </view> | ||
213 | - <view class="circle xc-zhong"> | ||
214 | - </view> | ||
215 | - <view class="circle xc-small"style='margin-left:15rpx;'> | ||
216 | - <!-- </view> --> | ||
217 | </view> | 207 | </view> |
208 | + </view> | ||
209 | + <view style='width:100%;height:73rpx;'> | ||
210 | + <view class="xc-recommend-goods flex-center"> | ||
211 | + | ||
212 | + <view class="circle xc-small"> | ||
213 | + </view> | ||
214 | + <view class="circle xc-zhong"> | ||
215 | + </view> | ||
216 | + <view class="circle xc-big"> | ||
217 | + </view> | ||
218 | + <view class="three-level-word xc-recommend">为你推荐</view> | ||
219 | + <view class="circle xc-big"> | ||
220 | + </view> | ||
221 | + <view class="circle xc-zhong"> | ||
222 | + </view> | ||
223 | + <view class="circle xc-small" style='margin-left:15rpx;'> | ||
224 | + <!-- </view> --> | ||
225 | + </view> | ||
218 | </view> | 226 | </view> |
219 | - </view> | ||
220 | - <!-- 显示商品 --> | ||
221 | - <view class="xc-goods "> | ||
222 | - <view> | ||
223 | - <view bindtap="go_goods" data-gid="{{item.goods_id}}" class="rel xc-goods-recommend {{index%2==0?'':'ml'}}" wx:for="{{recommend_list}}"> | ||
224 | - <image class="xc-goods-imgs" src="{{iurl+item.original_img}}"></image> | ||
225 | - <view class='xc-goods-bottom abs'> | ||
226 | - <view class="flex monry-frame"> | 227 | + </view> |
228 | + <!-- 显示商品 --> | ||
229 | + <view class="xc-goods "> | ||
230 | + <view> | ||
231 | + <view bindtap="go_goods" data-gid="{{item.goods_id}}" class="rel xc-goods-recommend {{index%2==0?'':'ml'}}" wx:for="{{recommend_list}}"> | ||
232 | + <image class="xc-goods-imgs" src="{{iurl+item.original_img}}"></image> | ||
233 | + <view class='xc-goods-bottom abs'> | ||
234 | + <view class="flex monry-frame"> | ||
227 | <view class="flex"> | 235 | <view class="flex"> |
228 | - <view class="three-level-word money-color-val rmb-symbol" >¥</view> | 236 | + <view class="three-level-word money-color-val rmb-symbol">¥</view> |
229 | <view class="two-level-word money-color-val">{{item.shop_price}}</view> | 237 | <view class="two-level-word money-color-val">{{item.shop_price}}</view> |
230 | - </view> | ||
231 | - <view class="five-level-word word-line xc-original-price"> 原价¥{{item.market_price}}</view> | ||
232 | - </view> | ||
233 | - <view class="xc-good-explain fs26 ellipsis-2 ">{{item.goods_name}}</view> | ||
234 | - </view> | ||
235 | - </view> | ||
236 | - </view> | ||
237 | - | ||
238 | - <view class="xc-content" wx:if="{{nomore}}"> | ||
239 | - <view class="xc-middle-line xc-frame"> | ||
240 | - <view class="xc-line-text">已经到底</view > | ||
241 | - </view> | 238 | + </view> |
239 | + <view class="five-level-word word-line xc-original-price"> 原价¥{{item.market_price}}</view> | ||
242 | </view> | 240 | </view> |
243 | - </view> | 241 | + <view class="xc-good-explain fs26 ellipsis-2 ">{{item.goods_name}}</view> |
242 | + </view> | ||
243 | + </view> | ||
244 | + </view> | ||
245 | + | ||
246 | + <view class="xc-content" wx:if="{{nomore}}"> | ||
247 | + <view class="xc-middle-line xc-frame"> | ||
248 | + <view class="xc-line-text">已经到底</view> | ||
249 | + </view> | ||
250 | + </view> | ||
244 | </view> | 251 | </view> |
252 | +</view> | ||
245 | 253 | ||
246 | <!--弹出层内容,其中的“我知道”中绑定让弹出层消失的函数:bindtap="hide"--> | 254 | <!--弹出层内容,其中的“我知道”中绑定让弹出层消失的函数:bindtap="hide"--> |
247 | <view class="tc_view" hidden='{{tc_hide}}' bindtap='hide_tc'> | 255 | <view class="tc_view" hidden='{{tc_hide}}' bindtap='hide_tc'> |
248 | - <view class="modal-box" hidden="{{flag}}" bindtap="hide"></view> | ||
249 | - <view class="modal-body"> | ||
250 | - <view class="modal-content"> | ||
251 | - <view class="flex"> | ||
252 | - <image src="{{userInfo.head_pic}}" class="hd_img"></image> | ||
253 | - <view class="ctent_txt"> | ||
254 | - <view class='txt1'>{{userInfo.nickname}} | ||
255 | - <image wx:if="{{userInfo.sex==2}}" class="arrow-right" src="{{iurl}}/miniapp/images/user/wum.png"></image> | ||
256 | - <image wx:else class="arrow-right fu" src="{{iurl}}/miniapp/images/user/man.png"></image> | ||
257 | - </view> | ||
258 | - <view wx:if="{{userInfo.address}}" class='txt2'>{{userInfo.address}}</view> | ||
259 | - </view> | ||
260 | - </view> | ||
261 | - <view class="m_ta"> | ||
262 | - <!--<image class='g_img' src='https://mshop.yolipai.net//index.php?m=Home&c=Index&a=qr_code&data={{userInfo.mobile}}'></image>--> | ||
263 | - <canvas class="g_img" canvas-id="qrcode" /> | ||
264 | - </view> | ||
265 | - <view class="s_sao">扫一扫上面的二维码图案,即可消费</view> | ||
266 | - </view> | ||
267 | - </view> | 256 | + <view class="modal-box" hidden="{{flag}}" bindtap="hide"></view> |
257 | + <view class="modal-body"> | ||
258 | + <view class="modal-content"> | ||
259 | + <view class="flex"> | ||
260 | + <image src="{{userInfo.head_pic}}" class="hd_img"></image> | ||
261 | + <view class="ctent_txt"> | ||
262 | + <view class='txt1'>{{userInfo.nickname}} | ||
263 | + <image wx:if="{{userInfo.sex==2}}" class="arrow-right" src="{{iurl}}/miniapp/images/user/wum.png"></image> | ||
264 | + <image wx:else class="arrow-right fu" src="{{iurl}}/miniapp/images/user/man.png"></image> | ||
265 | + </view> | ||
266 | + <view wx:if="{{userInfo.address}}" class='txt2'>{{userInfo.address}}</view> | ||
267 | + </view> | ||
268 | + </view> | ||
269 | + <view class="m_ta"> | ||
270 | + <!--<image class='g_img' src='https://mshop.yolipai.net//index.php?m=Home&c=Index&a=qr_code&data={{userInfo.mobile}}'></image>--> | ||
271 | + <canvas class="g_img" canvas-id="qrcode" /> | ||
272 | + </view> | ||
273 | + <view class="s_sao">扫一扫上面的二维码图案,即可消费</view> | ||
274 | + </view> | ||
275 | + </view> | ||
268 | </view> | 276 | </view> |
269 | 277 | ||
270 | <pop_txt id="pop_txt"></pop_txt> | 278 | <pop_txt id="pop_txt"></pop_txt> |
271 | \ No newline at end of file | 279 | \ No newline at end of file |
pages/user/index/index.wxss
@@ -56,7 +56,9 @@ | @@ -56,7 +56,9 @@ | ||
56 | border-radius:20px 0 0 38rpx; | 56 | border-radius:20px 0 0 38rpx; |
57 | padding-right:12rpx; | 57 | padding-right:12rpx; |
58 | padding-left:12rpx; | 58 | padding-left:12rpx; |
59 | - | 59 | +} |
60 | +.addplus{ | ||
61 | + width: 100%; | ||
60 | } | 62 | } |
61 | .xc-grade{ | 63 | .xc-grade{ |
62 | width: 25rpx; | 64 | width: 25rpx; |
@@ -143,18 +145,18 @@ height: 84rpx; | @@ -143,18 +145,18 @@ height: 84rpx; | ||
143 | } | 145 | } |
144 | 146 | ||
145 | .xc-add-member{ | 147 | .xc-add-member{ |
146 | - display:none; | 148 | + background-size: 100%; |
147 | margin-top:10rpx; | 149 | margin-top:10rpx; |
148 | - color: #fff; | 150 | + color: rgb(238, 205, 172); |
149 | width: 730rpx; | 151 | width: 730rpx; |
150 | - height: 74rpx; | 152 | + height: 75rpx; |
151 | border-radius: 15rpx 15rpx 0 0; | 153 | border-radius: 15rpx 15rpx 0 0; |
152 | - background: url("https://mshopimg.yolipai.net/miniapp/images/user_index_gray.png") no-repeat center; | 154 | + background: url("data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QN6aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MDhlYTAxZTktZGVjMy00MTc1LWE4MzEtNWQ0NjFhNWIzOGRjIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdEMDAzN0JDRjNBQTExRTk4QjYzRjhEM0E3NkM1REQ0IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdEMDAzN0JCRjNBQTExRTk4QjYzRjhEM0E3NkM1REQ0IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NGY5ODE2MS1mMjVjLWIzNDItOGYxNi1lMTNkY2Q2ZDJiMDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDhlYTAxZTktZGVjMy00MTc1LWE4MzEtNWQ0NjFhNWIzOGRjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3Jk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") no-repeat center; |
153 | } | 155 | } |
154 | .xc-add-member .xc-icon{ | 156 | .xc-add-member .xc-icon{ |
155 | width: 30rpx; | 157 | width: 30rpx; |
156 | height: 30rpx; | 158 | height: 30rpx; |
157 | - margin-left:50rpx; | 159 | + margin-left:40rpx; |
158 | 160 | ||
159 | } | 161 | } |
160 | .xc-add-member .member{ | 162 | .xc-add-member .member{ |
@@ -162,23 +164,23 @@ height: 84rpx; | @@ -162,23 +164,23 @@ height: 84rpx; | ||
162 | 164 | ||
163 | } | 165 | } |
164 | .xc-add-member .xc-save-money{ | 166 | .xc-add-member .xc-save-money{ |
165 | - border-left: 2rpx solid #fff; | 167 | + border-left: 2rpx solid rgb(238, 205, 172); |
166 | padding-left: 15rpx; | 168 | padding-left: 15rpx; |
167 | margin-left: 15rpx; | 169 | margin-left: 15rpx; |
168 | 170 | ||
169 | } | 171 | } |
170 | 172 | ||
171 | .xc-add-member .xc-opening-button{ | 173 | .xc-add-member .xc-opening-button{ |
172 | - width: 130rpx; | ||
173 | - margin-left:180rpx; | 174 | + width: 120rpx; |
175 | + margin-left:140rpx; | ||
174 | } | 176 | } |
175 | 177 | ||
176 | .xc-opening{ | 178 | .xc-opening{ |
177 | border-radius: 20rpx; | 179 | border-radius: 20rpx; |
178 | - background: #fe547c; | ||
179 | - color: #fff; | ||
180 | - height:36rpx; | ||
181 | - line-height: 36rpx; | 180 | + background: rgb(238, 205, 172); |
181 | + height:34rpx; | ||
182 | + line-height: 34rpx; | ||
183 | + color:#000; | ||
182 | } | 184 | } |
183 | .xc-after-sale{ | 185 | .xc-after-sale{ |
184 | width:100%; | 186 | width:100%; |
pages/user/plus/plus.js
0 → 100644
1 | +var t = getApp(), | ||
2 | + a = t.request, | ||
3 | + o = t.globalData.setting, | ||
4 | + os = o, | ||
5 | + i = require("../../../utils/util.js"), | ||
6 | + ut = i, | ||
7 | + s = require("../../../utils/common.js"), | ||
8 | + w = require("../../../utils/wxParse/wxParse.js"),t_pay = require("../../../utils/pay2.js"); | ||
9 | + var regeneratorRuntime = require('../../../utils/runtime.js'); | ||
10 | + | ||
11 | +Page({ | ||
12 | + /** | ||
13 | + * 页面的初始数据 | ||
14 | + */ | ||
15 | + data: { | ||
16 | + currentId: 0, | ||
17 | + url: o.imghost, | ||
18 | + screenWidth: 0, | ||
19 | + screenheight: 0, | ||
20 | + canvasHidden: true, | ||
21 | + shareImgPath: null, | ||
22 | + is_plusCard: "",//卡的列表 | ||
23 | + imagePath: "", | ||
24 | + is_pulscardname: "",//plus会员的名字 | ||
25 | + is_card: 0,//用于判断是否是续费页和购买页面 0不是puls会员 | ||
26 | + content: "",//等级卡规则 | ||
27 | + is_card_rule: "",//等级卡规则判断用 | ||
28 | + is_show: 0, //页面要加载完才能显示 | ||
29 | + open_yq: 0, //显示打开邀请码的弹窗 | ||
30 | + by_index:null, //购买卡的下班 | ||
31 | + | ||
32 | + isyaoqingma:0, //是否邀请码 | ||
33 | + is_salesman:0, //是否营业员 | ||
34 | + inp_recommon: null, //输入的邀请码 | ||
35 | + inp_serviceman: null, //输入的营业员 | ||
36 | + is_fengxiang: 0, //是不是分享过来的 | ||
37 | + def_recommon: null, //分享人的手机号 | ||
38 | + def_serviceman: null, //分享人的营业员 | ||
39 | + fir_leader:0, | ||
40 | + | ||
41 | + }, | ||
42 | + swiperChange: function (e) { | ||
43 | + var currentId = e.detail.current; | ||
44 | + this.setData({ | ||
45 | + currentId: currentId | ||
46 | + }) | ||
47 | + }, | ||
48 | + /** | ||
49 | + * 生命周期函数--监听页面加载 | ||
50 | + */ | ||
51 | + onLoad: function (options) { | ||
52 | + var that = this; | ||
53 | + var store_id=getApp().globalData.setting.stoid; | ||
54 | + //获取用户设备信息,屏幕宽度 | ||
55 | + wx.getSystemInfo({ | ||
56 | + success: res => { | ||
57 | + that.setData({screenWidth: res.screenWidth}) | ||
58 | + } | ||
59 | + }) | ||
60 | + var fir_leader = options.scene; | ||
61 | + that.setData({fir_leader:fir_leader}) | ||
62 | + if (fir_leader != null && fir_leader != undefined && fir_leader != "") { | ||
63 | + var r_url="/api/weshop/plus/vip/mem/list?storeId=" + store_id + "&userId=" + fir_leader | ||
64 | + getApp().request.get(r_url, { | ||
65 | + success: function (res) { | ||
66 | + var is_ok = 1; | ||
67 | + if (res.data.code == -1) { | ||
68 | + getApp().my_warnning("未找到分享会员", 0, that); | ||
69 | + is_ok = 0; | ||
70 | + that.back_user(); | ||
71 | + } | ||
72 | + var user_information = res.data.data[0]; | ||
73 | + if (user_information['GradeCardID'] == null || user_information['GradeCardID'] == "" || user_information['GradeCardID'] == undefined) { | ||
74 | + getApp().my_warnning("分享会员不是plus会员", 0, that); | ||
75 | + is_ok = 0; | ||
76 | + that.back_user(); | ||
77 | + } | ||
78 | + //--获取当前的时间-- | ||
79 | + var now = ut.gettimestamp(); | ||
80 | + if (user_information['ExpiryDate']) { | ||
81 | + var str = user_information['ExpiryDate'].replace(/-/g, '/'); | ||
82 | + var end = new Date(str); | ||
83 | + end = Date.parse(end) / 1000; | ||
84 | + if (end < now) { | ||
85 | + getApp().my_warnning("分享plus会员已经过期", 0, that); | ||
86 | + is_ok = 0; | ||
87 | + that.back_user(); | ||
88 | + } | ||
89 | + } else { | ||
90 | + getApp().my_warnning("分享plus会员已经过期", 0, that); | ||
91 | + is_ok = 0; | ||
92 | + that.back_user(); | ||
93 | + } | ||
94 | + if (is_ok == 1) { | ||
95 | + that.setData({def_recommon: user_information.MobileTel, def_serviceman: user_information.StaffNo,is_fengxiang:1}) | ||
96 | + //--先判断会员状态-- | ||
97 | + var user_info=getApp().globalData.userInfo; | ||
98 | + if(user_info==null || user_info.mobile==undefined || user_info.mobile=="" || user_info.mobile==null){ | ||
99 | + wx.navigateTo({ url: '/pages/getphone/getphone?first_leader='+fir_leader, }) | ||
100 | + return false; | ||
101 | + } | ||
102 | + } | ||
103 | + } | ||
104 | + }); | ||
105 | + } | ||
106 | + | ||
107 | + //-----------商家配置信息----- 等级卡规则,是否又开邀请码,营业员------------ | ||
108 | + getApp().request.get("/api/weshop/storeconfig/get/" + store_id, { | ||
109 | + success: function (res) { | ||
110 | + var is_cardrule = res.data.data.cardrules; | ||
111 | + var switch_list= res.data.data.switch_list; | ||
112 | + var swi_arr=JSON.parse(switch_list); | ||
113 | + | ||
114 | + w.wxParse("content", "html", is_cardrule, that, 6); | ||
115 | + that.setData({ | ||
116 | + is_card_rule: is_cardrule, | ||
117 | + isyaoqingma:parseInt(swi_arr.isyaoqingma), | ||
118 | + is_salesman:parseInt(swi_arr.is_staffno) | ||
119 | + }); | ||
120 | + } | ||
121 | + }); | ||
122 | + }, | ||
123 | + | ||
124 | + /** | ||
125 | + * 生命周期函数--监听页面显示 | ||
126 | + */ | ||
127 | + onShow: function () { | ||
128 | + var th=this,app_d=getApp().globalData; | ||
129 | + getApp().request.get("/api/weshop/users/get/" + os.stoid + "/" + app_d.user_id, { | ||
130 | + success: function (e) { | ||
131 | + var userInfo = e.data.data; | ||
132 | + if(userInfo['card_field']){ | ||
133 | + var u_url = "/pages/user/cardinfo/cardinfo"; | ||
134 | + wx.reLaunch({url: u_url}) | ||
135 | + } | ||
136 | + }, | ||
137 | + }); | ||
138 | + | ||
139 | + this.getPlusCardType(); | ||
140 | + }, | ||
141 | + | ||
142 | + /** | ||
143 | + * 生命周期函数--监听页面隐藏 | ||
144 | + */ | ||
145 | + onHide: function () { | ||
146 | + | ||
147 | + }, | ||
148 | + /** | ||
149 | + * 页面上拉触底事件的处理函数 | ||
150 | + */ | ||
151 | + onReachBottom: function () { | ||
152 | + var goods_list = this.selectComponent("#goods_list"); //组件的id | ||
153 | + goods_list.get_list(); | ||
154 | + }, | ||
155 | + | ||
156 | + //--- 获取卡类列表 --- | ||
157 | + getPlusCardType: function (e) { | ||
158 | + var storid = o.stoid; | ||
159 | + var th = this; | ||
160 | + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { | ||
161 | + var plusCard = res.data.data; | ||
162 | + var arr = [1219, 2089, 3031]; | ||
163 | + var new_arr = new Array(); | ||
164 | + for (var i = 0; i < plusCard.length; i++) { | ||
165 | + //plusCard[i].free=arr[i]; | ||
166 | + var item = {"fee": plusCard[i].CardFee, 'index': i} | ||
167 | + new_arr.push(item); | ||
168 | + } | ||
169 | + //根據距離遠近排序,越近在前面,升序 | ||
170 | + new_arr.sort(function (a, b) { | ||
171 | + if (a.fee < b.fee) { | ||
172 | + return -1; | ||
173 | + } else if (a.fee == b.fee) { | ||
174 | + return 0; | ||
175 | + } else { | ||
176 | + return 1; | ||
177 | + } | ||
178 | + }); | ||
179 | + //---给数组添加立省多少钱--- | ||
180 | + for (i = 0; i < plusCard.length; i++) { | ||
181 | + for (var j = 0; j < new_arr.length; j++) { | ||
182 | + if (i == new_arr[j].index) { | ||
183 | + plusCard[i].free = arr[j]; | ||
184 | + break; | ||
185 | + } | ||
186 | + } | ||
187 | + } | ||
188 | + th.setData({ | ||
189 | + is_plusCard: plusCard, is_show: 1 | ||
190 | + }) | ||
191 | + var goods_list = th.selectComponent("#goods_list"); //组件的id | ||
192 | + goods_list.get_list(); | ||
193 | + | ||
194 | + }) | ||
195 | + }, | ||
196 | + | ||
197 | + //--开通会员---接受前端index,弹起窗口--- | ||
198 | + Opening: function (e) { | ||
199 | + var th = this; | ||
200 | + th.data.by_index = e.currentTarget.dataset.ind; | ||
201 | + | ||
202 | + if (th.data.is_fengxiang) { | ||
203 | + th.buy_card(); | ||
204 | + } else { | ||
205 | + //--如果后台都没有勾邀请码,营业员,立即购买-- | ||
206 | + if (!th.data.isyaoqingma && !th.data.is_salesman) {th.buy_card(); return false;} | ||
207 | + th.setData({open_yq: 1}) | ||
208 | + } | ||
209 | + }, | ||
210 | + | ||
211 | + //--立即购买卡-- | ||
212 | + buy_card: async function () { | ||
213 | + var th = this; | ||
214 | + var is_card = 0; | ||
215 | + //--商家是不是有等级卡功能,开通的人数是不是够用,开通是时间是不是到期-- | ||
216 | + await getApp().request.promiseGet("/api/weshop/plus/plus/card/register", | ||
217 | + {data: {storeId: os.stoid}}).then(res => { | ||
218 | + if (res.data.code == 0) is_card = 1; | ||
219 | + }) | ||
220 | + if (is_card == 0) getApp().my_warnning("请联系商家升级plus功能", 0, th); | ||
221 | + var item = th.data.is_plusCard[th.data.by_index]; | ||
222 | + var req = {}; | ||
223 | + req.cardId = item.CardId; | ||
224 | + req.rechargeType = 3; | ||
225 | + //如果不是你导购,也不是等级会员分享 | ||
226 | + if (th.data.is_fengxiang == 1) { | ||
227 | + if (th.data.def_recommon) req.recommon = th.data.def_recommon | ||
228 | + if (th.data.def_serviceman) req.serviceman = th.data.def_serviceman | ||
229 | + } else { | ||
230 | + //---后台要求要输入邀请码--- | ||
231 | + if (th.data.isyaoqingma) { | ||
232 | + if (!th.data.inp_recommon) { | ||
233 | + getApp().my_warnning("请输入邀请码", 0, th); | ||
234 | + return false; | ||
235 | + } | ||
236 | + req.recommon = th.data.inp_recommon | ||
237 | + } | ||
238 | + //--后台要求要输入营业员-- | ||
239 | + if (th.data.is_salesman) { | ||
240 | + if (!th.data.inp_serviceman) { | ||
241 | + getApp().my_warnning("请输入营业员", 0, th); | ||
242 | + return false; | ||
243 | + } | ||
244 | + req.serviceman = th.data.inp_serviceman | ||
245 | + } | ||
246 | + } | ||
247 | + req.storeId = os.stoid; | ||
248 | + req.userId = getApp().globalData.user_id; | ||
249 | + //--如果有邀请码,和营业员的情况下-- | ||
250 | + if(req.recommon || req.serviceman ) { | ||
251 | + var req_data = {storeId: os.stoid, userId: req.userId}; | ||
252 | + if(req.recommon) req_data.inviteCode=req.recommon; | ||
253 | + if(req.serviceman) req_data.staffNo=req.serviceman; | ||
254 | + getApp().request.get("/api/weshop/plus/vip/mem/referee/code/check", { | ||
255 | + data:req_data, | ||
256 | + success:function(res){ | ||
257 | + if(res.data.code==0) { | ||
258 | + t_pay.pay(req, th.success, function () { | ||
259 | + getApp().my_warnning("支付失败", 0, th); | ||
260 | + }); | ||
261 | + }else{ | ||
262 | + getApp().my_warnning(res.data.msg, 0, th); | ||
263 | + } | ||
264 | + } | ||
265 | + }) | ||
266 | + }else{ | ||
267 | + t_pay.pay(req, th.success, function () { | ||
268 | + getApp().my_warnning("支付失败", 0, th); | ||
269 | + }); | ||
270 | + } | ||
271 | + }, | ||
272 | + //返回会员页面 | ||
273 | + OpeningClose: function() { | ||
274 | + this.setData({open_yq:0}); | ||
275 | + }, | ||
276 | + | ||
277 | + //返回会员中心 | ||
278 | + back_user:function () { | ||
279 | + setTimeout(function () { | ||
280 | + wx.reLaunch({url:"/pages/user/index/index"}); | ||
281 | + },1000) | ||
282 | + }, | ||
283 | + | ||
284 | + //--支付成功,跳转到等级卡续费页面-- | ||
285 | + success:function () { | ||
286 | + | ||
287 | + }, | ||
288 | + | ||
289 | + //--绑定邀请码的输入-- | ||
290 | + b_input:function (e) { | ||
291 | + var value=e.detail.value; | ||
292 | + var name=e.currentTarget.dataset.name; | ||
293 | + var ob={}; | ||
294 | + ob[name]=value | ||
295 | + this.setData(ob); | ||
296 | + } | ||
297 | + | ||
298 | +}) | ||
0 | \ No newline at end of file | 299 | \ No newline at end of file |
pages/user/plus/plus.json
0 → 100644
1 | +{ | ||
2 | + "usingComponents": { | ||
3 | + "pop_txt": "/components/userqy_pop_up/userqy_pop_up", | ||
4 | + "goods_recommend": "/components/goods_list/goods_list", | ||
5 | + "warn": "/components/long_warn/long_warn" | ||
6 | + }, | ||
7 | + "navigationBarTitleText": "购买plus会员" | ||
8 | +} | ||
0 | \ No newline at end of file | 9 | \ No newline at end of file |
pages/user/plus/plus.wxml
0 → 100644
1 | +<block wx:if="{{is_show && (fir_leader?is_fengxiang:1)}}"> | ||
2 | +<!-- 我的会员背景图片 --> | ||
3 | +<import src="../../../utils/wxParse/wxParse.wxml"></import> | ||
4 | +<view> | ||
5 | + <image class="Member_bk" src="{{url}}/miniapp/images/plus/page_bk.png"></image> | ||
6 | +</view> | ||
7 | +<view class="plus"> | ||
8 | + <!-- 开通会员模块 --> | ||
9 | + <view class="Opening_plus"> | ||
10 | + <view class="Opening_bk"> | ||
11 | + <image src="{{url}}/miniapp/images/plus/card_bk.png"></image> | ||
12 | + </view> | ||
13 | + <view class="swiper"> | ||
14 | + <!-- 未开通会员swiper-item --> | ||
15 | + <swiper current="{{currentId}}" current-item-id="{{currentId}}" next-margin="55rpx" previous-margin="55rpx" bindchange="swiperChange"> | ||
16 | + <swiper-item class="flex" item-id="{{index}}" data-item-id="{{index}}" wx:for="{{is_plusCard}}"> | ||
17 | + <view class="Membership {{currentId==index?'enlarge':''}}" style=" background-image: url({{item.CardImg}});color:{{item.CardColor}}"> | ||
18 | + <view class="flex-space-between Membership_go"> | ||
19 | + <view> | ||
20 | + <view class="fs32">{{item.CardName}}</view> | ||
21 | + <view class="fs24 Membership_remarks">开通会员年卡仅{{item.CardFee}}元</view> | ||
22 | + </view> | ||
23 | + <view class="Opening fs24 xc-black" data-ind="{{index}}" style="background:{{item.CardColor}}" bindtap="Opening">立即开通 | ||
24 | + </view> | ||
25 | + | ||
26 | + </view> | ||
27 | + | ||
28 | + <view class="flex-vertical-between consumption"> | ||
29 | + | ||
30 | + <view class="flex-vertical fs22" style="overflow:hidden"> | ||
31 | + <!-- <image class="Member" src="{{url}}/miniapp/images/plus/privilege_o.png" style="filter:drop-shadow( 20rpx 0 0px {{item.CardColor}});"></image> --> | ||
32 | + <view class="Member"style="background-image:url('{{url}}/miniapp/images/plus/privilege_o.png');filter: drop-shadow( 40rpx 0rpx 0rpx {{item.CardColor}});"></view> | ||
33 | + <view>根据大家购买数据,您成为超级会员预计可省¥{{item.free}}元 | ||
34 | + </view> | ||
35 | + </view> | ||
36 | + </view> | ||
37 | + </view> | ||
38 | + </swiper-item> | ||
39 | + </swiper> | ||
40 | + </view> | ||
41 | + | ||
42 | + | ||
43 | + </view> | ||
44 | + | ||
45 | + <!-- 会员礼遇 --> | ||
46 | + <view class="Courtesy"> | ||
47 | + | ||
48 | + <!-- 标题 --> | ||
49 | + <view class="flex-center" style="width:100%;height:200rpx;"> | ||
50 | + <view> | ||
51 | + <view wx:if="{{false}}" class="Courtesy_title flex-center fs36">开通PLUSI会员尊享礼遇 | ||
52 | + </view> | ||
53 | + <view wx:else class="Courtesy_title flex-center fs36">PLUS会员尊享礼遇 </view> | ||
54 | + | ||
55 | + | ||
56 | + <view class="flex-center"> | ||
57 | + <image class="Courtesy_image" src="{{url}}/miniapp/images/plus/Courtesy.png"></image> | ||
58 | + | ||
59 | + <view wx:if="{{false}}" class="Courtesy_can fs24">PLUS会员可享以下特权 | ||
60 | + </view> | ||
61 | + <view wx:else class="Courtesy_can fs24">解锁新权益 精彩享不停 | ||
62 | + </view> | ||
63 | + | ||
64 | + <image class="Courtesy_image" src="{{url}}/miniapp/images/plus/Courtesy.png"></image> | ||
65 | + </view> | ||
66 | + </view> | ||
67 | + </view> | ||
68 | + | ||
69 | + <!-- 会员权益内容 --> | ||
70 | + <view class="Courtesy_comment " style="padding:0 20rpx" wx:if="{{is_card_rule!=null&&is_card_rule!=''}}"> | ||
71 | + <view class="wxParse"> | ||
72 | + <template is="wxParse" data="{{wxParseData:content.nodes}}"></template> | ||
73 | + </view> | ||
74 | + </view> | ||
75 | + </view> | ||
76 | + | ||
77 | + <!-- 好物推荐 --> | ||
78 | + <!-- 好物推荐 --> | ||
79 | + <view class="title"> | ||
80 | + <!-- 标题 --> | ||
81 | + <view> | ||
82 | + <!-- 中文名标题 --> | ||
83 | + <view class="China flex-level"> | ||
84 | + <view class="line flex-vertical"> | ||
85 | + <view class="one"></view><view class="two"></view><view class="three"></view> | ||
86 | + </view> | ||
87 | + | ||
88 | + <view class="Recommend flex-level" bindtap="requestList">好物推荐</view> | ||
89 | + | ||
90 | + <view class="line flex-vertical"> | ||
91 | + <view class="three"></view> | ||
92 | + <view class="two"></view> | ||
93 | + <view class="one"></view> | ||
94 | + </view> | ||
95 | + </view> | ||
96 | + | ||
97 | + <!-- 英文标题 --> | ||
98 | + <view class="english flex-center"> | ||
99 | + <view class="silk"></view> | ||
100 | + <view class="esh five-level-word">GOOD HOT THING</view> | ||
101 | + <view class="silk"></view> | ||
102 | + </view> | ||
103 | + | ||
104 | + </view> | ||
105 | + <!-- 商品列表组件 --> | ||
106 | + <goods_recommend id="goods_list"></goods_recommend> | ||
107 | + <!-- 商品列表 --> | ||
108 | + | ||
109 | + </view> | ||
110 | + | ||
111 | +</view> | ||
112 | +</block> | ||
113 | + | ||
114 | +<!-- 开通会员弹窗 --> | ||
115 | +<view wx:if="{{open_yq}}" class="Disgraceful flex-center"> | ||
116 | + <!-- 蒙尘 --> | ||
117 | + <view bindtap="OpeningClose"></view> | ||
118 | + | ||
119 | + <!-- 弹框 --> | ||
120 | + <view class="Member_purchase"> | ||
121 | + <view class="rel purchase_Bk" style="background-image: url({{url}}/miniapp/images/plus/purchase_Bk.png);"> | ||
122 | + <image class="abs write" src="{{url}}/miniapp/images/plus/write.png"></image> | ||
123 | + </view> | ||
124 | + <view class="fs26 inf_com"> | ||
125 | + <view class="fs36 flex-level perfect">请完善下面信息</view> | ||
126 | + <view class="fillin"> | ||
127 | + <!-- 输入推荐人手机号 --> | ||
128 | + <view class="flex ai_and Enter_phone" wx:if="{{isyaoqingma}}" > | ||
129 | + <image class="phone_image" src="{{url}}/miniapp/images/plus/Invitation_code.png"></image> | ||
130 | + <view class="phone"> | ||
131 | + <input bindinput="b_input" data-name="inp_recommon" class="fs30" placeholder="请输入邀请码(推荐人手机号)" type="number" maxlength="20" /> | ||
132 | + </view> | ||
133 | + </view> | ||
134 | + <!-- 输入营业员 --> | ||
135 | + <view class="flex ai_and enter_SalesClerk" wx:if="{{is_salesman}}"> | ||
136 | + <image class="SalesClerk_image" src="{{url}}/miniapp/images/plus/Sales_Clerk.png"></image> | ||
137 | + <view class="SalesClerk"> | ||
138 | + <input bindinput="b_input" class="fs30" data-name="inp_serviceman" placeholder="请输入营业员" maxlength="30" /> | ||
139 | + </view> | ||
140 | + </view> | ||
141 | + <!-- 确认购买 --> | ||
142 | + <view class="flex-center" bindtap="buy_card"> | ||
143 | + <view class="flex-center purchase" | ||
144 | + style="background-image:url({{url}}/miniapp/images/plus/purchase_Bk.png);"> | ||
145 | + 确认购买 | ||
146 | + </view> | ||
147 | + </view> | ||
148 | + </view> | ||
149 | + </view> | ||
150 | + <view class="flex-level"> | ||
151 | + <image class="purchaseClose" bindtap="OpeningClose" src="{{url}}/miniapp/images/plus/Close.png"></image> | ||
152 | + </view> | ||
153 | + </view> | ||
154 | + | ||
155 | +</view> | ||
156 | +<warn id="warn"></warn> | ||
0 | \ No newline at end of file | 157 | \ No newline at end of file |
pages/user/plus/plus.wxss
0 → 100644
1 | +@import "../../../utils/wxParse/wxParse.wxss"; | ||
2 | +page { | ||
3 | + width: 100%; | ||
4 | + height: 100%; | ||
5 | + z-index: 3; | ||
6 | + overflow-x: hidden; | ||
7 | +} | ||
8 | + | ||
9 | +.plus { | ||
10 | + overflow-x: hidden; | ||
11 | +} | ||
12 | + | ||
13 | +.Member_bk { | ||
14 | + position: absolute; | ||
15 | + z-index: 0; | ||
16 | + width: 100%; | ||
17 | + height: 100%; | ||
18 | +} | ||
19 | + | ||
20 | +.Opening_bk image { | ||
21 | + position: absolute; | ||
22 | + z-index: 2; | ||
23 | + width: 100%; | ||
24 | + height: 320rpx; | ||
25 | +} | ||
26 | + | ||
27 | +.swiper { | ||
28 | + width: 100%; | ||
29 | + padding-top: 60rpx; | ||
30 | +} | ||
31 | + | ||
32 | +swiper { | ||
33 | + align-items: center; | ||
34 | + display: flex; | ||
35 | + justify-content: center; | ||
36 | + height: 275rpx; | ||
37 | +} | ||
38 | + | ||
39 | +.swiper image { | ||
40 | + width: 490rpx; | ||
41 | + height: 100%; | ||
42 | + border-radius: 20rpx; | ||
43 | +} | ||
44 | + | ||
45 | +.swiper, .Courtesy, .title { | ||
46 | + position: relative; | ||
47 | + z-index: 3; | ||
48 | +} | ||
49 | + | ||
50 | +.Courtesy_image { | ||
51 | + width: 50rpx; | ||
52 | + height: 25rpx; | ||
53 | + margin-top: 8rpx; | ||
54 | +} | ||
55 | + | ||
56 | +.Courtesy_title { | ||
57 | + color: rgb(173, 137, 79); | ||
58 | + font-weight: bold; | ||
59 | + margin-bottom: 10rpx; | ||
60 | + letter-spacing: 2rpx; | ||
61 | +} | ||
62 | + | ||
63 | +.Courtesy_can { | ||
64 | + margin: 0rpx 7rpx; | ||
65 | + color: rgb(94, 93, 91); | ||
66 | + font-weight: bold; | ||
67 | +} | ||
68 | + | ||
69 | +.Courtesy_comment { | ||
70 | + padding: 0rpx 31rpx; | ||
71 | +} | ||
72 | + | ||
73 | +.Equity_image { | ||
74 | + width: 490rpx; | ||
75 | + height: 175rpx; | ||
76 | + margin: 20rpx 0rpx; | ||
77 | +} | ||
78 | + | ||
79 | +/* 热门好物 */ | ||
80 | + | ||
81 | +.title .China { | ||
82 | + width: 100%; | ||
83 | + margin-top: 60rpx; | ||
84 | + margin-bottom: 10rpx; | ||
85 | + line-height: 0rpx; | ||
86 | +} | ||
87 | + | ||
88 | +.title .China .line view { | ||
89 | + width: 2rpx; | ||
90 | +} | ||
91 | + | ||
92 | +.title .China .line { | ||
93 | + height: 40rpx; | ||
94 | + color: rgb(51, 51, 51); | ||
95 | +} | ||
96 | + | ||
97 | +.title .China .line view { | ||
98 | + border-left: 3rpx solid #000; | ||
99 | + margin-left: 5rpx; | ||
100 | +} | ||
101 | + | ||
102 | +.title .China .line .one { | ||
103 | + height: 23rpx; | ||
104 | +} | ||
105 | + | ||
106 | +.title .China .line .two { | ||
107 | + height: 15rpx; | ||
108 | +} | ||
109 | + | ||
110 | +.title .China .line .three { | ||
111 | + height: 18rpx; | ||
112 | +} | ||
113 | + | ||
114 | +.title .China .Recommend { | ||
115 | + margin: 0rpx 20rpx; | ||
116 | + font-size: 28rpx; | ||
117 | + line-height: 39rpx; | ||
118 | + font-weight: bold; | ||
119 | +} | ||
120 | + | ||
121 | +.title .english .silk { | ||
122 | + width: 214rpx; | ||
123 | + height: 2rpx; | ||
124 | + background-color: #000; | ||
125 | +} | ||
126 | + | ||
127 | +.title .english .esh { | ||
128 | + margin: 0rpx 15rpx; | ||
129 | +} | ||
130 | + | ||
131 | +.Membership { | ||
132 | + width: 575rpx; | ||
133 | + height: 275rpx; | ||
134 | + margin: 0 auto; | ||
135 | + transform: scale(0.9); | ||
136 | + border-radius: 18rpx; | ||
137 | + box-shadow: 0rpx 0rpx 2rpx #888; | ||
138 | + background-size: 100%; | ||
139 | + padding: 0rpx 31rpx; | ||
140 | + color: #ffa786; | ||
141 | +} | ||
142 | + | ||
143 | +.enlarge { | ||
144 | + transform: scale(1); | ||
145 | +} | ||
146 | + | ||
147 | +.Membership_go { | ||
148 | + margin-top: 50rpx; | ||
149 | +} | ||
150 | + | ||
151 | +.Membership_Opening { | ||
152 | + width: 150rpx; | ||
153 | + height: 40rpx; | ||
154 | + border-radius: 30rpx; | ||
155 | + text-align: center; | ||
156 | + line-height: 40rpx; | ||
157 | + background-color: rgb(255, 167, 135); | ||
158 | + color: #000; | ||
159 | +} | ||
160 | + | ||
161 | +.Membership .Member { | ||
162 | + width: 30rpx; | ||
163 | + height: 30rpx; | ||
164 | + margin-right: 5rpx; | ||
165 | + background-size: 100% 100%; | ||
166 | +position: relative; | ||
167 | +left: -40rpx; | ||
168 | + | ||
169 | +} | ||
170 | + | ||
171 | +.Membership .Opening { | ||
172 | + width: 160rpx; | ||
173 | + height: 45rpx; | ||
174 | + border-radius: 20rpx; | ||
175 | + background-color: rgb(237, 189, 150); | ||
176 | + line-height: 45rpx; | ||
177 | + text-align: center; | ||
178 | + margin-top: 2rpx; | ||
179 | + color: #666 | ||
180 | +} | ||
181 | + | ||
182 | +.Invitation { | ||
183 | + padding: 0rpx 31rpx; | ||
184 | + box-shadow: 0rpx 0rpx 10rpx #888; | ||
185 | + height: 95rpx; | ||
186 | + background-color: rgb(255, 255, 255); | ||
187 | + z-index: 6; | ||
188 | + position: relative; | ||
189 | + margin-top: -15rpx; | ||
190 | +} | ||
191 | + | ||
192 | +.Invitation .Invitation_count, .Invitation_my { | ||
193 | + color: rgb(237, 189, 153); | ||
194 | +} | ||
195 | + | ||
196 | +.Invitation .Invitation_Cash { | ||
197 | + width: 150rpx; | ||
198 | + height: 45rpx; | ||
199 | + line-height: 45rpx; | ||
200 | + text-align: center; | ||
201 | + border-radius: 25rpx; | ||
202 | + margin-left: 30rpx; | ||
203 | + background-color: rgb(237, 189, 150); | ||
204 | + color: rgb(255, 255, 255); | ||
205 | +} | ||
206 | + | ||
207 | +.Invitation .Detailed { | ||
208 | + color: rgb(237, 189, 150); | ||
209 | + text-decoration: underline; | ||
210 | +} | ||
211 | + | ||
212 | +.consumption { | ||
213 | + margin-top: 95rpx; | ||
214 | + font-size: 18rpx; | ||
215 | +} | ||
216 | + | ||
217 | +.Membership_remarks { | ||
218 | + margin-top: 2rpx; | ||
219 | +} | ||
220 | + | ||
221 | +.MemberPlus { | ||
222 | + width: 618rpx; | ||
223 | + height: 290rpx; | ||
224 | + border-radius: 18rpx; | ||
225 | + box-shadow: 0rpx 0rpx 10rpx #888; | ||
226 | + margin: 0rpx 35rpx; | ||
227 | + color: #ffa786; | ||
228 | + padding: 0rpx 31rpx; | ||
229 | + padding-top: 60rpx; | ||
230 | + background-size: 100%; | ||
231 | +} | ||
232 | + | ||
233 | +.Member_sp { | ||
234 | + height: 325rpx; | ||
235 | +} | ||
236 | + | ||
237 | +.renew { | ||
238 | + width: 190rpx; | ||
239 | + height: 50rpx; | ||
240 | + border-radius: 18rpx; | ||
241 | + background-color: rgb(237, 189, 150); | ||
242 | + text-align: center; | ||
243 | + line-height: 50rpx; | ||
244 | + color: #000; | ||
245 | + margin-top: 7rpx; | ||
246 | +} | ||
247 | + | ||
248 | +.xs { | ||
249 | + margin-top: 130rpx; | ||
250 | +} | ||
251 | + | ||
252 | +.MemberPlus .share { | ||
253 | + width: 30rpx; | ||
254 | + height: 30rpx; | ||
255 | + margin-left: 7rpx; | ||
256 | +} | ||
257 | + | ||
258 | +.MemberPlus .privilege { | ||
259 | + width: 30rpx; | ||
260 | + height: 30rpx; | ||
261 | + margin-right: 7rpx; | ||
262 | +} | ||
263 | + | ||
264 | +.Disgraceful { | ||
265 | + position: fixed; | ||
266 | + left: 0; | ||
267 | + top: 0; | ||
268 | + right: 0; | ||
269 | + bottom: 0; | ||
270 | + z-index: 11; | ||
271 | + background: rgba(0, 0, 0, 0.6); | ||
272 | + width: 100%; | ||
273 | + height: 100%; | ||
274 | +} | ||
275 | +.ddd { | ||
276 | + border-radius: 20rpx; | ||
277 | +} | ||
278 | + | ||
279 | +.Member_purchase { | ||
280 | + width: 610rpx; | ||
281 | + margin-top: 20rpx; | ||
282 | +} | ||
283 | + | ||
284 | +.purchase_Bk { | ||
285 | + width: 100%; | ||
286 | + height: 225rpx; | ||
287 | + background-size: 100%; | ||
288 | +} | ||
289 | + | ||
290 | +.write { | ||
291 | + width: 280rpx; | ||
292 | + height: 275rpx; | ||
293 | + bottom: 20rpx; | ||
294 | + left: 185rpx; | ||
295 | +} | ||
296 | + | ||
297 | +.inf_com { | ||
298 | + background-color: rgb(255, 255, 255); | ||
299 | + padding: 0rpx 85rpx; | ||
300 | +} | ||
301 | + | ||
302 | +.perfect { | ||
303 | + padding-top: 30rpx; | ||
304 | + padding-bottom: 65rpx; | ||
305 | +} | ||
306 | + | ||
307 | +.fillin { | ||
308 | + color: rgb(208, 208, 208); | ||
309 | +} | ||
310 | + | ||
311 | +.Enter_phone { | ||
312 | + border-bottom: 1rpx solid rgb(153, 153, 153); | ||
313 | + margin-bottom: 35rpx; | ||
314 | +} | ||
315 | + | ||
316 | +.phone_image { | ||
317 | + width: 60rpx; | ||
318 | + height: 60rpx; | ||
319 | + margin-bottom: 5rpx; | ||
320 | +} | ||
321 | + | ||
322 | +.phone { | ||
323 | + margin-left: 15rpx; | ||
324 | + color: #000; | ||
325 | +} | ||
326 | + | ||
327 | +.enter_SalesClerk { | ||
328 | + border-bottom: 1rpx solid rgb(153, 153, 153); | ||
329 | +} | ||
330 | + | ||
331 | +.SalesClerk_image { | ||
332 | + width: 60rpx; | ||
333 | + height: 60rpx; | ||
334 | + margin-bottom: 5rpx; | ||
335 | +} | ||
336 | + | ||
337 | +.SalesClerk { | ||
338 | + margin-left: 15rpx; | ||
339 | + color: #000; | ||
340 | +} | ||
341 | + | ||
342 | +.purchase { | ||
343 | + width: 250rpx; | ||
344 | + height: 50rpx; | ||
345 | + border-radius: 25rpx; | ||
346 | + color: rgb(255, 255, 255); | ||
347 | + margin: 55rpx 0rpx; | ||
348 | + background-position: center;background-repeat: no-repeat;background-size: cover | ||
349 | +} | ||
350 | + | ||
351 | +.purchaseClose { | ||
352 | + width: 70rpx; | ||
353 | + height: 70rpx; | ||
354 | + border-radius: 50%; | ||
355 | + margin-top: 60rpx; | ||
356 | +} | ||
357 | + | ||
358 | +input { | ||
359 | + | ||
360 | + overflow: visible; | ||
361 | + width: 360rpx; | ||
362 | +} | ||
363 | + |
pages/user/userinfo/userinfo.js
1 | function e(e, a, r) { | 1 | function e(e, a, r) { |
2 | - return a in e ? Object.defineProperty(e, a, { | ||
3 | - value: r, | ||
4 | - enumerable: !0, | ||
5 | - configurable: !0, | ||
6 | - writable: !0 | ||
7 | - }) : e[a] = r, e; | ||
8 | -} | 2 | + return a in e ? Object.defineProperty(e, a, { |
3 | + value: r, | ||
4 | + enumerable: !0, | ||
5 | + configurable: !0, | ||
6 | + writable: !0 | ||
7 | + }) : e[a] = r, e; | ||
8 | +} | ||
9 | 9 | ||
10 | -var a = getApp(), r = a.globalData.setting, | ||
11 | - t = a.request, s = require("../../../utils/common.js"), util = require("../../../utils/util.js"); | 10 | +var a = getApp(), |
11 | + r = a.globalData.setting, | ||
12 | + t = a.request, | ||
13 | + s = require("../../../utils/common.js"), | ||
14 | + util = require("../../../utils/util.js"); | ||
15 | + | ||
16 | +var timestamp = Date.parse(new Date()); | ||
17 | +var date = new Date(timestamp); | ||
12 | 18 | ||
13 | Page({ | 19 | Page({ |
14 | - data: { | ||
15 | - url: r.url, | ||
16 | - resourceUrl: r.resourceUrl, | ||
17 | - iurl: r.imghost, | ||
18 | - defaultAvatar: r.resourceUrl + "/static/images/user68.jpg", | ||
19 | - user: null, | ||
20 | - tc_hide:true, | ||
21 | - stoname:"", | ||
22 | - }, | ||
23 | - onShow: function() { | ||
24 | - var e = this; var req=t; | ||
25 | - a.getUserInfo(function(a) { | ||
26 | - var txt = util.formatTime(a.birthday,'yyyy-M-d'),arr = txt.split(' '); | ||
27 | - a.birthday=arr[0]; | ||
28 | - var txt2 = util.formatTime(a.reg_time, 'yyyy-M-d'), arr2 = txt.split(' '); | ||
29 | - a.reg_time = arr2[0]; | ||
30 | - req.get("/api/weshop/pickup/get/" + r.stoid + "/" + a.pickup_id, { | ||
31 | - success: function (da) { | ||
32 | - console.log('getsto'); | ||
33 | - console.log(da); | ||
34 | - //设置门店 | ||
35 | - e.setData({ stoname: da.data.data.pickup_name}); | ||
36 | - } | ||
37 | - }) | ||
38 | - e.setData({ | ||
39 | - user: a | ||
40 | - }); | ||
41 | - }, !0); | ||
42 | - }, | ||
43 | - editUserInfo: function(e) { | ||
44 | - var r = e.currentTarget.dataset.type; | ||
45 | - if (("password" == r || "paypwd" == r) && !this.data.user.mobile) return a.showWarning("请先绑定手机号码"); | ||
46 | - r && this.data.user && wx.navigateTo({ | ||
47 | - url: "/pages/user/userinfo_edit/userinfo_edit?type=" + r | ||
48 | - }); | ||
49 | - }, | ||
50 | - | ||
51 | - /*--------------------修改头像---------------------*/ | ||
52 | - changeAvatar: function() { | ||
53 | - return false; | ||
54 | - var r = this; | ||
55 | - wx.chooseImage({ | ||
56 | - count: 1, | ||
57 | - sizeType: [ "compressed", "original" ], | ||
58 | - sourceType: [ "camera", "album" ], | ||
59 | - success: function(u) { | ||
60 | - t.uploadFile(r.data.url + "/api/user/upload_headpic", { | ||
61 | - filePath: u.tempFilePaths[0], | ||
62 | - name: "head_pic", | ||
63 | - success: function(t) { | ||
64 | - var u = s.getFullUrl(t.data.result); | ||
65 | - r.setData(e({}, "user.head_pic", u)), a.globalData.userInfo.head_pic = u, a.showSuccess("设置头像成功"); | 20 | + data: { |
21 | + phone:"", | ||
22 | + url: r.url, | ||
23 | + resourceUrl: r.resourceUrl, | ||
24 | + iurl: r.imghost, | ||
25 | + defaultAvatar: r.resourceUrl + "/static/images/user68.jpg", | ||
26 | + user: null, | ||
27 | + tc_hide: true, | ||
28 | + stoname: "", | ||
29 | + checkDate: false, | ||
30 | + datet: "", | ||
31 | + year: date.getFullYear(), | ||
32 | + store: 0, | ||
33 | + all_sto: "", | ||
34 | + region_name: "", | ||
35 | + def_pick_store: "", | ||
36 | + sort_store: 0, //门店分类 | ||
37 | + sec_sto: "", | ||
38 | + more_store: 0, //选择门店 | ||
39 | + choice_sort_store: 1, //选择分类门店 | ||
40 | + more_store: 0, //选择门店 | ||
41 | + lat: null, //维度 | ||
42 | + lon: null, //经度 | ||
43 | + fir_pick_index: 0, | ||
44 | + sec_pick_index: 0, | ||
45 | + is_gps: 1, | ||
46 | + lon: 0, | ||
47 | + only_pk: 0, | ||
48 | + open_ind_store: 0, //哪里打开的门店列表的控制属性 | ||
49 | + ispwhid:1,//是否隐藏密码显示 | ||
50 | + isstcsp:1,//是否启动密码消费 | ||
51 | + isGender:1,//什么性别 | ||
52 | + iscalendar:1,//是否是农历 | ||
53 | + consumption:"",//消费密码 | ||
54 | + identity_card:"",//身份证值 | ||
55 | + address:"",//地址 | ||
56 | + openid:"",//openid | ||
57 | + pulscardname:"",//puls会员的卡 | ||
58 | + gradename:"",//会员权益的卡 | ||
59 | + isBool:"", | ||
60 | + sto_sele_id:"",//所属门店id | ||
61 | + }, | ||
62 | + //是否启动密码消费 | ||
63 | + isstcsp:function(){ | ||
64 | + var th = this; | ||
65 | + var isstcsp = th.data.isstcsp; | ||
66 | + if (isstcsp==0){ | ||
67 | + th.setData({ | ||
68 | + isstcsp:1 | ||
69 | + }) | ||
70 | + }else{ | ||
71 | + th.setData({ | ||
72 | + isstcsp: 0 | ||
73 | + }) | ||
74 | + } | ||
75 | + }, | ||
76 | + //出生日期是否是农历 | ||
77 | + iscalendar:function(){ | ||
78 | + var th = this; | ||
79 | + var iscalendar = th.data.iscalendar; | ||
80 | + if (iscalendar == 0) { | ||
81 | + th.setData({ | ||
82 | + iscalendar: 1 | ||
83 | + }) | ||
84 | + } else { | ||
85 | + th.setData({ | ||
86 | + iscalendar: 0 | ||
87 | + }) | ||
88 | + } | ||
89 | + }, | ||
90 | + //性别 | ||
91 | + isGender:function(e){ | ||
92 | + var th = this; | ||
93 | + var sex = e.currentTarget.dataset.sex; | ||
94 | + console.log("点击选择性别",sex); | ||
95 | + th.setData({ | ||
96 | + isGender:sex | ||
97 | + }) | ||
98 | + | ||
99 | + | ||
100 | + }, | ||
101 | + //密码是否隐藏显示 | ||
102 | + ispwhid:function(){ | ||
103 | + var th = this; | ||
104 | + var ispwhid = th.data.ispwhid; | ||
105 | + | ||
106 | + if (ispwhid == 0) { | ||
107 | + th.setData({ | ||
108 | + ispwhid: 1 | ||
109 | + }) | ||
110 | + } else { | ||
111 | + th.setData({ | ||
112 | + ispwhid: 0 | ||
113 | + }) | ||
114 | + } | ||
115 | + }, | ||
116 | + checkDate: function() { | ||
117 | + var th = this; | ||
118 | + if (th.data.checkDate) { | ||
119 | + th.setData({ | ||
120 | + checkDate: false | ||
121 | + }) | ||
122 | + } else { | ||
123 | + th.setData({ | ||
124 | + checkDate: true | ||
125 | + }) | ||
126 | + } | ||
127 | + }, | ||
128 | + bindChange: function(e) { | ||
129 | + this.setData({ | ||
130 | + datet: e.detail.value, | ||
131 | + }); | ||
132 | + }, | ||
133 | + //---点击二级之后的选择--- | ||
134 | + choose_for_store: function(e) { | ||
135 | + var index_c = e.currentTarget.dataset.ind; | ||
136 | + | ||
137 | + this.setData({ | ||
138 | + sec_pick_index: index_c, | ||
139 | + fir_pick_index: index_c | ||
140 | + }) | ||
141 | + }, | ||
142 | + //确定def_pick为选择的门店 | ||
143 | + sure_pick: function(e) { | ||
144 | + var th = this; | ||
145 | + var item = null; | ||
146 | + var openindstore = th.data.open_ind_store; | ||
147 | + if (th.data.choice_sort_store == 0) { | ||
148 | + var index = th.data.fir_pick_index; | ||
149 | + if (th.data.is_show_sto_cat == 1) { | ||
150 | + item = th.data.def_pickpu_list[index]; | ||
151 | + } else { | ||
152 | + item = th.data.only_pk[index]; //当没有门店分类的时候 | ||
153 | + } | ||
154 | + | ||
155 | + } else { | ||
156 | + var index = th.data.sec_pick_index; | ||
157 | + item = th.data.sec_sto.s_arr[index]; | ||
158 | + } | ||
159 | + | ||
160 | + console.log("选择门店刷新", "def_pick_store", item); | ||
161 | + th.setData({ | ||
162 | + def_pick_store: item, | ||
163 | + stoname: item.pickup_name, | ||
164 | + sto_sele_name: item.pickup_name, | ||
165 | + sto_sele_id: item.pickup_id, | ||
166 | + sto_sele_distr: item.distr_type, | ||
167 | + store: 0, | ||
168 | + choice_sort_store: 0, | ||
169 | + fir_pick_index: 0 | ||
170 | + }); | ||
171 | + | ||
172 | + if (openindstore == 1) { | ||
173 | + th.setData({ | ||
174 | + openSpecModal: !0, | ||
175 | + openSpecModal_ind: openindstore, | ||
176 | + }); | ||
177 | + } else if (openindstore == 2) { | ||
178 | + th.setData({ | ||
179 | + openSpecModal: !0, | ||
180 | + openSpecModal_ind: openindstore, | ||
181 | + openSpecModal_pt: 1 | ||
182 | + }); | ||
183 | + } | ||
184 | + }, | ||
185 | + choose_for_store_fir: function(e) { | ||
186 | + var index_c = e.currentTarget.dataset.ind; | ||
187 | + this.setData({ | ||
188 | + fir_pick_index: index_c | ||
189 | + }) | ||
190 | + }, | ||
191 | + wait_for_store_config: function() { | ||
192 | + var th = this; | ||
193 | + wx.getLocation({ | ||
194 | + type: 'wgs84', | ||
195 | + success: function(res) { | ||
196 | + th.data.lat = res.latitude; | ||
197 | + th.data.lon = res.longitude; | ||
198 | + th.data.is_get_local_ok = 1; | ||
199 | + }, | ||
200 | + fail: function(res) { | ||
201 | + if (res.errCode == 2) { | ||
202 | + th.setData({ | ||
203 | + is_gps: 0 | ||
204 | + }); | ||
205 | + if (th.data.is_gps == 0) { | ||
206 | + getApp().confirmBox("请开启GPS定位", null, 10000, !1); | ||
207 | + } | ||
208 | + } else { | ||
209 | + th.setData({ | ||
210 | + is_gps: "3" | ||
211 | + }); | ||
212 | + } | ||
213 | + th.data.is_get_local_ok = 1; | ||
214 | + } | ||
215 | + }) | ||
216 | + }, | ||
217 | + onclickstore: function() { | ||
218 | + var th = this; | ||
219 | + if (th.data.store == 0) { | ||
220 | + this.setData({ | ||
221 | + store: 1 | ||
222 | + }) | ||
223 | + } else { | ||
224 | + this.setData({ | ||
225 | + store: 0 | ||
226 | + }) | ||
227 | + } | ||
228 | + var dd = { | ||
229 | + store_id: r.stoid, | ||
230 | + isstop: 0, | ||
231 | + pageSize: 300 | ||
232 | + } | ||
233 | + th.setData({ | ||
234 | + sort_store: 1 | ||
235 | + }); | ||
236 | + var i = getApp().request; | ||
237 | + //如果有距离的话 | ||
238 | + if (th.data.lat != null) { | ||
239 | + dd.lat = th.data.lat; | ||
240 | + dd.lon = th.data.lon; | ||
241 | + } | ||
242 | + //----------获取门店---------------- | ||
243 | + getApp().request.promiseGet("/api/weshop/pickup/list", { | ||
244 | + data: dd, | ||
245 | + }).then(res => { | ||
246 | + var e = res; | ||
247 | + if (e.data.code == 0) { | ||
248 | + //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- | ||
249 | + if (th.data.def_pick_store) { | ||
250 | + for (var k = 0; k < e.data.data.pageData.length; k++) { | ||
251 | + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { | ||
252 | + e.data.data.pageData.splice(k, 1); //删除 | ||
253 | + break; | ||
254 | + } | ||
255 | + } | ||
256 | + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 | ||
257 | + } | ||
258 | + | ||
259 | + //单总量超出5个的时候 | ||
260 | + if (e.data.data.total > 5) { | ||
261 | + i.get("/api/weshop/storagecategory/page", { | ||
262 | + data: { | ||
263 | + store_id: r.stoid, | ||
264 | + is_show: 1, | ||
265 | + pageSize: 300 | ||
266 | + }, | ||
267 | + success: function(ee) { | ||
268 | + if (ee.data.code == 0) { | ||
269 | + if (ee.data.data.pageData.length > 0) { | ||
270 | + var def_arr = new Array(); | ||
271 | + var ishas = 0; | ||
272 | + //-- 开始就看5个门店 -- | ||
273 | + for (var k = 0; k < 5; k++) { | ||
274 | + if (k == e.data.data.pageData.length) break; | ||
275 | + def_arr.push(e.data.data.pageData[k]); | ||
276 | + } | ||
277 | + | ||
278 | + th.setData({ | ||
279 | + def_pickpu_list: def_arr, | ||
280 | + pickpu_list: ee.data.data.pageData | ||
281 | + }); | ||
282 | + var sto_cate = ee.data.data.pageData; | ||
283 | + var sto_arr = e.data.data.pageData; | ||
284 | + var newarr = new Array(); | ||
285 | + var qita = new Array(); | ||
286 | + | ||
287 | + //----要进行门店分组-------- | ||
288 | + for (var i = 0; i < sto_arr.length; i++) { | ||
289 | + //找一下这个门店有没有在分类数组内 | ||
290 | + var find2 = 0, | ||
291 | + find2name = ""; | ||
292 | + for (var m = 0; m < sto_cate.length; m++) { | ||
293 | + if (sto_arr[i].category_id == sto_cate[m].cat_id) { | ||
294 | + find2 = sto_cate[m].cat_id; | ||
295 | + find2name = sto_cate[m].cat_name; | ||
296 | + break; | ||
297 | + } | ||
298 | + } | ||
299 | + | ||
300 | + if (newarr.length > 0) { | ||
301 | + var find = 0; | ||
302 | + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 | ||
303 | + if (find2 != 0) { | ||
304 | + for (var ii = 0; ii < newarr.length; ii++) { | ||
305 | + if (sto_arr[i].category_id == newarr[ii].cat_id) { | ||
306 | + newarr[ii].s_arr.push(sto_arr[i]); | ||
307 | + find = 1; | ||
308 | + break; | ||
309 | + } | ||
310 | + } | ||
311 | + if (find == 0) { | ||
312 | + var arr0 = new Array(); | ||
313 | + arr0.push(sto_arr[i]); | ||
314 | + var item = { | ||
315 | + cat_id: find2, | ||
316 | + name: find2name, | ||
317 | + s_arr: arr0 | ||
318 | + }; | ||
319 | + newarr.push(item); | ||
320 | + } | ||
321 | + } else { | ||
322 | + qita.push(sto_arr[i]); | ||
323 | + } | ||
324 | + } else { | ||
325 | + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 | ||
326 | + if (find2 != 0) { | ||
327 | + var arr0 = new Array(); | ||
328 | + arr0.push(sto_arr[i]); | ||
329 | + var item = { | ||
330 | + cat_id: find2, | ||
331 | + name: find2name, | ||
332 | + s_arr: arr0 | ||
333 | + }; | ||
334 | + newarr.push(item); | ||
335 | + } else { | ||
336 | + qita.push(sto_arr[i]); | ||
337 | + } | ||
66 | } | 338 | } |
339 | + } | ||
340 | + | ||
341 | + //----安排其他的分类----- | ||
342 | + if (qita.length > 0) { | ||
343 | + var item = { | ||
344 | + cat_id: -1, | ||
345 | + name: "其他", | ||
346 | + s_arr: qita | ||
347 | + }; | ||
348 | + newarr.push(item); | ||
349 | + } | ||
350 | + th.setData({ | ||
351 | + is_show_sto_cat: 1, | ||
352 | + all_sto: newarr | ||
353 | + }); | ||
354 | + | ||
355 | + } else { | ||
356 | + th.setData({ | ||
357 | + is_show_sto_cat: -1, | ||
358 | + only_pk: e.data.data.pageData | ||
359 | + }); | ||
360 | + } | ||
361 | + } else { | ||
362 | + th.setData({ | ||
363 | + is_show_sto_cat: -1, | ||
364 | + only_pk: e.data.data.pageData | ||
67 | }); | 365 | }); |
366 | + } | ||
68 | } | 367 | } |
368 | + }); | ||
369 | + } else { | ||
370 | + th.setData({ | ||
371 | + is_show_sto_cat: 0, | ||
372 | + only_pk: e.data.data.pageData | ||
373 | + }); | ||
374 | + } | ||
375 | + } | ||
376 | + }, 200) | ||
377 | + console.log(th.data.all_sto + 'eeee'); | ||
378 | + }, | ||
379 | + //选择更多门店 | ||
380 | + more_store: function() { | ||
381 | + this.setData({ | ||
382 | + sort_store: 1 | ||
383 | + }); | ||
384 | + }, | ||
385 | + //---选择分类门店--- | ||
386 | + choice_sort_store: function(e) { | ||
387 | + var index = e.currentTarget.dataset.index; | ||
388 | + var region_name = e.currentTarget.dataset.region; | ||
389 | + var item = this.data.all_sto[index]; | ||
390 | + this.setData({ | ||
391 | + region_name: region_name, | ||
392 | + sort_store: 0, | ||
393 | + choice_sort_store: 1, | ||
394 | + sec_sto: item, | ||
395 | + sec_pick_index: 0 | ||
396 | + }); | ||
397 | + }, | ||
398 | + // 返回按钮 | ||
399 | + returns: function() { | ||
400 | + this.setData({ | ||
401 | + sort_store: 0, | ||
402 | + choice_sort_store: 0 | ||
403 | + }); | ||
404 | + }, | ||
405 | + //身份证号严格校验 | ||
406 | + IdentityIDCard: function(e) { | ||
407 | + var code = e.detail.value; | ||
408 | + //身份证号前两位代表区域 | ||
409 | + var city = { | ||
410 | + 11: "北京", | ||
411 | + 12: "天津", | ||
412 | + 13: "河北", | ||
413 | + 14: "山西", | ||
414 | + 15: "内蒙古", | ||
415 | + 21: "辽宁", | ||
416 | + 22: "吉林", | ||
417 | + 23: "黑龙江 ", | ||
418 | + 31: "上海", | ||
419 | + 32: "江苏", | ||
420 | + 33: "浙江", | ||
421 | + 34: "安徽", | ||
422 | + 35: "福建", | ||
423 | + 36: "江西", | ||
424 | + 37: "山东", | ||
425 | + 41: "河南", | ||
426 | + 42: "湖北 ", | ||
427 | + 43: "湖南", | ||
428 | + 44: "广东", | ||
429 | + 45: "广西", | ||
430 | + 46: "海南", | ||
431 | + 50: "重庆", | ||
432 | + 51: "四川", | ||
433 | + 52: "贵州", | ||
434 | + 53: "云南", | ||
435 | + 54: "西藏 ", | ||
436 | + 61: "陕西", | ||
437 | + 62: "甘肃", | ||
438 | + 63: "青海", | ||
439 | + 64: "宁夏", | ||
440 | + 65: "新疆", | ||
441 | + 71: "台湾", | ||
442 | + 81: "香港", | ||
443 | + 82: "澳门", | ||
444 | + 91: "国外 " | ||
445 | + }; | ||
446 | + //身份证格式正则表达式 | ||
447 | + var idCardReg = /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i; | ||
448 | + var errorMess = ""; //错误提示信息 | ||
449 | + var isPass = true; //身份证验证是否通过(true通过、false未通过) | ||
450 | + | ||
451 | + //如果身份证不满足格式正则表达式 | ||
452 | + if (!code || !idCardReg.test(code)) { | ||
453 | + console.log("您输入的身份证号格式有误!"); | ||
454 | + errorMess = "您输入的身份证号格式有误!"; | ||
455 | + isPass = false; | ||
456 | + } | ||
457 | + | ||
458 | + //区域数组中不包含需验证的身份证前两位 | ||
459 | + else if (!city[code.substr(0, 2)]) { | ||
460 | + errorMess = "您输入的身份证地址编码有误!"; | ||
461 | + isPass = false; | ||
462 | + } else { | ||
463 | + //18位身份证需要验证最后一位校验位 | ||
464 | + if (code.length == 18) { | ||
465 | + code = code.split(''); | ||
466 | + //∑(ai×Wi)(mod 11) | ||
467 | + //加权因子 | ||
468 | + var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; | ||
469 | + //校验位 | ||
470 | + var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]; | ||
471 | + var sum = 0; | ||
472 | + var ai = 0; | ||
473 | + var wi = 0; | ||
474 | + for (var i = 0; i < 17; i++) { | ||
475 | + ai = code[i]; | ||
476 | + wi = factor[i]; | ||
477 | + sum += ai * wi; | ||
478 | + } | ||
479 | + var last = parity[sum % 11]; | ||
480 | + if (parity[sum % 11] != code[17]) { | ||
481 | + errorMess = "您输入的身份证号不存在!"; | ||
482 | + isPass = false; | ||
483 | + } | ||
484 | + } | ||
485 | + } | ||
486 | + var returnParam = { | ||
487 | + 'errorMess': errorMess, | ||
488 | + 'isPass': isPass | ||
489 | + } | ||
490 | + if (errorMess != "") { | ||
491 | + wx.showModal({ | ||
492 | + title: errorMess, | ||
493 | + content: '', | ||
494 | + showCancel: false, | ||
495 | + confirmText: '确定', | ||
496 | + confirmColor: '', | ||
497 | + success: function(res) {}, | ||
498 | + fail: function(res) {}, | ||
499 | + complete: function(res) {}, | ||
500 | + }) | ||
501 | + } | ||
502 | + return returnParam; | ||
503 | + }, | ||
504 | + //------初始化加载---------- | ||
505 | + onLoad: function(t) { | ||
506 | + this.puls_user(); | ||
507 | + this.equity_user(); | ||
508 | + this.initial_user(); | ||
509 | + }, | ||
510 | + //-----------会员是否初始化--------------------- | ||
511 | + initial_user: function () { | ||
512 | + | ||
513 | + var th = this; | ||
514 | + getApp().request.get("/api/weshop/users/grade/vip/init/get", { | ||
515 | + data: { | ||
516 | + storeId: r.stoid, | ||
517 | + }, | ||
518 | + success: function (su) { | ||
519 | + var isBool = su.data.data.isBool; | ||
520 | + console.log("会员是否初始化", isBool); | ||
521 | + th.setData({isBool:isBool}); | ||
522 | + } | ||
523 | + }); | ||
524 | + }, | ||
525 | + //-----会员等级卡获取--------------- | ||
526 | + equity_user:function(){ | ||
527 | + var th = this; | ||
528 | + getApp().request.get("/api/weshop/users/grade/aftervipinfo/get", { | ||
529 | + data: { | ||
530 | + storeId: r.stoid, | ||
531 | + userId: getApp().globalData.user_id, | ||
532 | + }, | ||
533 | + success: function (su) { | ||
534 | + var gradename=su.data.data.GradeName; | ||
535 | + th.setData({gradename: gradename}); | ||
536 | + | ||
537 | + } | ||
538 | + }); | ||
539 | + }, | ||
540 | + | ||
541 | + //-----Plus会员获取----------- | ||
542 | + puls_user:function(){ | ||
543 | + var th=this; | ||
544 | + getApp().request.get("/api/weshop/plus/vip/mem/list", { | ||
545 | + data: { | ||
546 | + storeId: r.stoid, | ||
547 | + userId: getApp().globalData.user_id, }, | ||
548 | + success: function (su) { | ||
549 | + | ||
550 | + if (su.data.code == 0) { | ||
551 | + var cardname=su.data.data[0].MemCardName; | ||
552 | + console.log("卡的名字", cardname); | ||
553 | + th.setData({pulscardname:cardname}); | ||
554 | + } | ||
555 | + } | ||
556 | + }); | ||
557 | + }, | ||
558 | + onShow: function() { | ||
559 | + | ||
560 | + this.wait_for_store_config(); | ||
561 | + var e = this; | ||
562 | + var req = t; | ||
563 | + req.get("/api/weshop/users/getAndUpdateUser/" + r.stoid + "/" + getApp().globalData.user_id, { | ||
564 | + success: function (src) { | ||
565 | + var a=src.data.data; | ||
566 | + console.log(a,"剩什么llllll",a.data); | ||
567 | + var time = util.formatTime(a.reg_time,"'Y/M/D"); | ||
568 | + var birthday = util.formatTime(a.birthday, "'Y/M/D"); | ||
569 | + a.reg_time = time; | ||
570 | + a.birthday = birthday | ||
571 | + e.setData({ | ||
572 | + phone: a.mobile, | ||
573 | + user: a, | ||
574 | + openid: a.openid, | ||
575 | + sto_sele_id: a.pickup_id, | ||
576 | + consumption: a.paypwd, | ||
577 | + identity_card:a.idcard, | ||
578 | + | ||
579 | + }); | ||
580 | + } | ||
581 | + }) | ||
582 | + a.getUserInfo(function(a) { | ||
583 | + var txt = util.formatTime(a.birthday, 'yyyy-M-d'), | ||
584 | + arr = txt.split(' '); | ||
585 | + a.birthday = arr[0]; | ||
586 | + var txt2 = util.formatTime(a.reg_time, 'yyyy-M-d'), | ||
587 | + arr2 = txt.split(' '); | ||
588 | + a.reg_time = arr2[0]; | ||
589 | + if (a.pickup_id!=null) { | ||
590 | + req.get("/api/weshop/pickup/get/" + r.stoid + "/" + a.pickup_id, { | ||
591 | + success: function(da) { | ||
592 | + | ||
593 | + //设置门店 | ||
594 | + e.setData({ | ||
595 | + stoname: da.data.data.pickup_name | ||
596 | + }); | ||
597 | + } | ||
598 | + }) | ||
599 | + } | ||
600 | + // var phone = ""; | ||
601 | + // phone+=a.mobile.substr(0, 3)+"****"; | ||
602 | + // phone += a.mobile.substr(7, 12); | ||
603 | + | ||
604 | + | ||
605 | + | ||
606 | + // e.setData({ | ||
607 | + // isGender:e.data.user.sex | ||
608 | + // }) | ||
609 | + }, !0); | ||
610 | + }, | ||
611 | + | ||
612 | + editUserInfo: function(e) { | ||
613 | + var r = e.currentTarget.dataset.type; | ||
614 | + if (("password" == r || "paypwd" == r) && !this.data.user.mobile) return a.showWarning("请先绑定手机号码"); | ||
615 | + r && this.data.user && wx.navigateTo({ | ||
616 | + url: "/pages/user/userinfo_edit/userinfo_edit?type=" + r | ||
617 | + }); | ||
618 | + }, | ||
619 | + | ||
620 | + /*--------------------修改头像---------------------*/ | ||
621 | + changeAvatar: function() { | ||
622 | + return false; | ||
623 | + var r = this; | ||
624 | + wx.chooseImage({ | ||
625 | + count: 1, | ||
626 | + sizeType: ["compressed", "original"], | ||
627 | + sourceType: ["camera", "album"], | ||
628 | + success: function(u) { | ||
629 | + t.uploadFile(r.data.url + "/api/user/upload_headpic", { | ||
630 | + filePath: u.tempFilePaths[0], | ||
631 | + name: "head_pic", | ||
632 | + success: function(t) { | ||
633 | + var u = s.getFullUrl(t.data.result); | ||
634 | + r.setData(e({}, "user.head_pic", u)), a.globalData.userInfo.head_pic = u, a.showSuccess("设置头像成功"); | ||
635 | + } | ||
69 | }); | 636 | }); |
70 | - }, | 637 | + } |
638 | + }); | ||
639 | + }, | ||
71 | 640 | ||
72 | 641 | ||
73 | //------卡片的显示和关闭-------- | 642 | //------卡片的显示和关闭-------- |
74 | - show_tc: function () { | 643 | + show_tc: function() { |
75 | this.setData({ | 644 | this.setData({ |
76 | tc_hide: false, | 645 | tc_hide: false, |
77 | }); | 646 | }); |
78 | }, | 647 | }, |
79 | - hide_tc: function () { | 648 | + hide_tc: function() { |
80 | this.setData({ | 649 | this.setData({ |
81 | tc_hide: true, | 650 | tc_hide: true, |
82 | }); | 651 | }); |
83 | }, | 652 | }, |
653 | + //消费密码输入框失去焦点事件 | ||
654 | + lose_focus:function(e){ | ||
655 | + var th=this; | ||
656 | + var val=e.detail.value; | ||
657 | + console.log("是什么东西",val); | ||
658 | + if (val.length > 6 || val!=""){ | ||
659 | + | ||
660 | + this.setData({ consumption: val }); | ||
661 | + console.log("是什么东西", val); | ||
662 | + } | ||
663 | + | ||
664 | + | ||
665 | + }, | ||
666 | + | ||
667 | +//地址 | ||
668 | + address:function(e){ | ||
669 | + var val = e.detail; | ||
670 | + console.log("地址55555555", val.value); | ||
671 | + this.setData({ address: val.value }); | ||
672 | + }, | ||
673 | + | ||
674 | + //身份证验证 | ||
675 | + identity_card:function(e){ | ||
676 | + var val = e.detail; | ||
677 | + | ||
678 | + this.setData({ identity_card: val.value }); | ||
679 | + | ||
680 | + }, | ||
681 | + //用户名字 | ||
682 | + user_name:function(e){ | ||
683 | + var name = e.detail.value; | ||
684 | + if (name !=""||name!=null){ | ||
685 | + | ||
686 | + this.setData({ user_name: name }); | ||
687 | + | ||
688 | + } | ||
689 | + | ||
690 | + }, | ||
691 | + | ||
692 | + //点击确认修改信息 | ||
693 | + confirm_revision:function(){ | ||
694 | + var th=this; | ||
695 | + var isstcsp=th.data.isstcsp;//是否启用消费密码 | ||
696 | + var phone=th.data.phone;//手机号码 | ||
697 | + if (phone == "" || phone==null){ | ||
698 | + getApp().my_warnning("手机不能为空", 0, th); | ||
699 | + | ||
700 | + return false; | ||
701 | + } | ||
702 | + | ||
703 | + | ||
704 | + var consumption = th.data.consumption;//消费密码 | ||
705 | + var isstcsp = th.data.isstcsp; | ||
706 | + if(isstcsp==1){ | ||
707 | + | ||
708 | + if (consumption==null || consumption=="" || consumption==undefined ){ | ||
709 | + getApp().my_warnning("消费密码不能为空", 0, th); return false; | ||
710 | + } | ||
711 | + if (consumption.length < 6){ | ||
712 | + getApp().my_warnning("消费密码不能小于6位", 0, th); return false; | ||
713 | + } | ||
714 | + } | ||
715 | + var sex = th.data.isGender;//性别 | ||
716 | + | ||
717 | + if (sex!="1"&&sex!="2" ) { | ||
718 | + getApp().my_warnning("请选择性别", 0, th); | ||
719 | + return false; | ||
720 | + } | ||
721 | + var user_name = th.data.user.vipname;//用户姓名 | ||
722 | + console.log("名字77777",user_name); | ||
723 | + if (user_name==""|| user_name== null) { | ||
724 | + getApp().my_warnning("请输入名字", 0, th); | ||
725 | + return false; | ||
726 | + } | ||
727 | + var identity_card = th.data.identity_card;//身份证 | ||
728 | + console.log("身份证",identity_card); | ||
729 | + | ||
730 | + if (identity_card == "" || identity_card == null ) { | ||
731 | + getApp().my_warnning("请输入身份证", 0, th); | ||
732 | + return false; | ||
733 | + } else if (!(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(identity_card))){ | ||
734 | + getApp().my_warnning("身份证号码错误",0, th); | ||
735 | + return false; | ||
736 | + } | ||
737 | + var address = th.data.address;//地址 | ||
738 | + console.log("地址1010101", address) | ||
739 | + if (address == "" || address == null) { | ||
740 | + getApp().my_warnning("请输入地址", 0, th); | ||
741 | + return false; | ||
742 | + } | ||
743 | + //保存所属门店的id | ||
744 | + var sto_sele_id=th.data.sto_sele_id; | ||
745 | + console.log("请输入所属门店的id", sto_sele_id); | ||
746 | + if (sto_sele_id == null || sto_sele_id==""){ | ||
747 | + getApp().my_warnning("请输入所属门店", 0, th); | ||
748 | + return false; | ||
749 | + } | ||
750 | + console.log("要保存的数据", sex, consumption, identity_card, address, user_name); | ||
751 | + var datas = { | ||
752 | + mobile: phone,//手机号码 | ||
753 | + store_id: r.stoid, | ||
754 | + user_id: getApp().globalData.user_id, | ||
755 | + vipnopwd: isstcsp, | ||
756 | + vippass: consumption,//消费密码 | ||
757 | + sex: sex,//性别 | ||
758 | + nickname:user_name,//昵称 | ||
759 | + idcard:identity_card,//身份证 | ||
760 | + address:address,//地址 | ||
761 | + pickup_id: sto_sele_id//自提门店 所属门店 | ||
762 | + } | ||
763 | + getApp().request.put("/api/weshop/users/updateUserInfo", { | ||
764 | + data: datas, | ||
765 | + success: function (res) { | ||
766 | + | ||
767 | + if (res.data.code==0){ | ||
768 | + getApp().showWarning("修改成功"); | ||
769 | + }else{ | ||
770 | + getApp().showWarning("修改失败"); | ||
771 | + } | ||
772 | + | ||
773 | + } | ||
774 | + }) | ||
775 | + } | ||
776 | + | ||
84 | }); | 777 | }); |
85 | \ No newline at end of file | 778 | \ No newline at end of file |
pages/user/userinfo/userinfo.json
pages/user/userinfo/userinfo.wxml
1 | +<wxs module="filters" src="../../../utils/filter.wxs"></wxs> | ||
1 | <view class="container"> | 2 | <view class="container"> |
2 | - <view class="user-container"> | ||
3 | - <view bindtap="changeAvatar" class="user-head"> | ||
4 | - <view class="user-txt">头像</view> | ||
5 | - <image class="user_headimg" src="{{user.head_pic?user.head_pic:defaultAvatar}}"></image> | 3 | + |
4 | + <!-- 头像,昵称,多个卡 --> | ||
5 | + <view class="head flex-space-between"> | ||
6 | + <view class="flex-center"> | ||
7 | + | ||
8 | + <view class="flex-center"> | ||
9 | + <image class="Headportrait" src="{{user.head_pic}}"></image> | ||
10 | + </view> | ||
11 | + <view class="flex-center vipmax"> | ||
12 | + <view> | ||
13 | + <view class="fs32"> | ||
14 | + <view class="ellipsis-1 Nickname">{{user.nickname}} | ||
15 | + </view> | ||
16 | + </view> | ||
17 | + | ||
18 | + <view class="flex-center fs22 vip"> | ||
19 | + <block wx:if="{{isBool&&gradename}}"> | ||
20 | + <navigator url=""> | ||
21 | + <view class="flex-center AncrownMax"> | ||
22 | + <image class="Ancrown" src="{{iurl}}/miniapp/images/userqy/user_userqy_huang.png"></image> | ||
23 | + <view>{{gradename}}</view> | ||
24 | + </view> | ||
25 | + </navigator> | ||
26 | + </block> | ||
27 | + <block wx:if="{{user.card_field!=''&& user.card_field!=null && user.card_expiredate!=null&&user.card_expiredate!=null}}"> | ||
28 | + <navigator url="/pages/user/plus/plus"> | ||
29 | + <view class="flex-center plusMax"> | ||
30 | + <image class="fuls" src="{{iurl}}/miniapp/images/userinfo/userinfo/privilege_t.png"></image> | ||
31 | + <view>{{pulscardname}}</view> | ||
32 | + </view> | ||
33 | + </navigator> | ||
34 | + </block> | ||
35 | + </view> | ||
6 | </view> | 36 | </view> |
7 | - <view bindtap="editUserInfo1" class="user-name" data-type="nickname"> | ||
8 | - <view class="user-name-txt">昵称</view> | ||
9 | - <!-- <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> --> | ||
10 | - <view class="user-txt-right one-line">{{user.nickname}}</view> | 37 | + </view> |
38 | + </view> | ||
39 | + <view class="flex ai_and"> | ||
40 | + <view class="flex-level ai_and" style="background-image:url({{iurl}}/miniapp/images/userinfo/userinfo/code.png);width:170rpx;height:140rpx;background-size:100%;" bindtap="show_tc"> | ||
41 | + <view class="fs26 code" style="color:rgb(255,255,255);margin-left:9rpx;">我的二维码</view> | ||
42 | + </view> | ||
43 | + </view> | ||
44 | + </view> | ||
45 | + | ||
46 | + <view class="user-container"> | ||
47 | + <view class="Bbottom"> | ||
48 | + <view bindtap="changeAvatar" class="user-head flex-vertical-between"> | ||
49 | + <view class="user-txt">卡号</view> | ||
50 | + <view class="user-txt-right">{{user.erpvipno}} | ||
11 | </view> | 51 | </view> |
12 | - <view bindtap="editUserInfo1" class="user-name" data-type="sex"> | ||
13 | - <view class="user-name-txt">性别</view> | ||
14 | - <!-- <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> --> | ||
15 | - <view class="user-txt-right">{{user.sex?user.sex==1?'男':'女':'保密'}}</view> | 52 | + </view> |
53 | + <view bindtap="editUserInfo1" class="user-name flex-vertical-between" data-type="nickname"> | ||
54 | + <view>是否启用消费密码</view> | ||
55 | + <view class="flex-center" bindtap="isstcsp" > | ||
56 | + <view class="flex-center cmleft"> | ||
57 | + <block wx:if="{{isstcsp}}"> | ||
58 | + <icon size="20" type="success" color="rgb(212,2,31)"></icon> | ||
59 | + </block> | ||
60 | + <block wx:else> | ||
61 | + <icon size="20" type="success" color="rgb(0, 0, 0, 0.4)"></icon> | ||
62 | + </block> | ||
63 | + <view class="Mleft">启动密码消费</view> | ||
64 | + </view> | ||
16 | </view> | 65 | </view> |
66 | + | ||
67 | + </view> | ||
68 | + <!-- 是否显示密码 --> | ||
69 | + <view class="flex-vertical-between user-name" wx:if="{{isstcsp==1}}"> | ||
70 | + <view class="user-txt">消费密码</view> | ||
71 | + <view class="flex"> | ||
72 | + <block wx:if="{{ispwhid}}"> | ||
73 | + <input bindblur="lose_focus" class="fs28 hion user-txt-right"value="{{consumption}}" password="true"/> | ||
74 | + </block> | ||
75 | + <block wx:else> | ||
76 | + <input bindblur="lose_focus" class="fs28 hion user-txt-right"value="{{consumption}}"/> | ||
77 | + </block> | ||
17 | 78 | ||
18 | - <view bindtap="editUserInfo1" class="user-name" data-type="sex"> | ||
19 | - <view class="user-name-txt">生日</view> | ||
20 | - <!-- <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> --> | ||
21 | - <view class="user-txt-right">{{user.birthday}}</view> | 79 | + <block wx:if="{{ispwhid}}"> |
80 | + <image class="eye" src="{{iurl}}/miniapp/images/userinfo/userinfo/Eye.png" bindtap="ispwhid"></image> | ||
81 | + </block> | ||
82 | + <block wx:else> | ||
83 | + <image class="eye" src="{{iurl}}/miniapp/images/userinfo/open_eye.png" bindtap="ispwhid"></image> | ||
84 | + </block> | ||
85 | + | ||
86 | +</view> | ||
22 | </view> | 87 | </view> |
23 | 88 | ||
24 | 89 | ||
25 | - <view bindtap="editUserInfo1" class="user-name mt" data-type="nickname"> | ||
26 | - <view class="user-name-txt">姓名</view> | ||
27 | - <!-- <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> --> | ||
28 | - <view class="user-txt-right one-line" wx:if="{{user.vipname}}">{{user.vipname}}</view> | 90 | + <view bindtap="editUserInfo1" class="user-name flex-vertical-between" data-type="sex"> |
91 | + <view>性别</view> | ||
92 | + <view class="flex"> | ||
93 | + <view class="flex-center {{isGender==1?'Gendercheck':'Gender'}}" data-sex="1" bindtap="isGender"> | ||
94 | + <block wx:if="{{isGender==1}}"> | ||
95 | + <image class="GenderImage" src="{{iurl}}/miniapp/images/userinfo/userinfo/malealready.png"></image> | ||
96 | + </block> | ||
97 | + <block wx:else> | ||
98 | + <image class="GenderImage" src="{{iurl}}/miniapp/images/userinfo/userinfo/malenot.png"></image> | ||
99 | + </block> | ||
100 | + <view class="fs24">男</view> | ||
101 | + </view> | ||
102 | + <view class="flex-center {{isGender==2?'Gendercheck':'Gender'}}" data-sex="2"bindtap="isGender" > | ||
103 | + <block wx:if="{{isGender==2}}"> | ||
104 | + <image class="GenderImage" src="{{iurl}}/miniapp/images/userinfo/userinfo/femalealready.png"></image> | ||
105 | + </block> | ||
106 | + <block wx:else> | ||
107 | + <image class="GenderImage" src="{{iurl}}/miniapp/images/userinfo/userinfo/femalenot.png"></image> | ||
108 | + </block> | ||
109 | + <view class="fs26">女</view> | ||
110 | + </view> | ||
29 | </view> | 111 | </view> |
112 | + | ||
113 | + </view> | ||
30 | 114 | ||
31 | - <view bindtap="editUserInfo1" class="user-name" data-type="nickname"> | ||
32 | - <view class="user-name-txt">身份证</view> | ||
33 | - <!-- <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> --> | ||
34 | - <view class="user-txt-right one-line" wx:if="{{user.idcard}}">{{user.idcard}}</view> | ||
35 | - </view> | ||
36 | - <view bindtap="editUserInfo1" class="user-name" data-type="mobile"> | ||
37 | - <view class="user-name-txt">电话</view> | ||
38 | - <!-- <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> --> | ||
39 | - <view class="user-txt-right">{{user.mobile}}</view> | ||
40 | - </view> | ||
41 | - <view bindtap="editUserInfo1" class="user-name" data-type="mobile"> | ||
42 | - <view class="user-name-txt">地址</view> | ||
43 | - <!-- <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> --> | ||
44 | - <view class="user-txt-right" wx:if="{{user.address}}">{{user.address}}</view> | 115 | + <view bindtap="editUserInfo1" class="user-name flex-vertical-between" data-type="sex"> |
116 | + <view>出生日期</view> | ||
117 | + <view class="flex flex-vertical-between fs28 Birth"> | ||
118 | + <view class="flex" bindtap="iscalendar"> | ||
119 | + <block wx:if="{{iscalendar&&user.birthday==null&&user.birthday==''}}"> | ||
120 | + <view class="flex-center"> | ||
121 | + <icon size="20" type="success" color="rgb(212,2,31)"></icon> | ||
122 | + </view> | ||
123 | + </block> | ||
124 | + <block wx:else> | ||
125 | + <icon size="20" type="success" color="rgb(0, 0, 0, 0.4)"></icon> | ||
126 | + </block> | ||
127 | + <view class="flex-center"> | ||
128 | + <view class="Mleft">农历</view> | ||
129 | + </view> | ||
130 | + </view> | ||
131 | + <view class="user-txt-right"> | ||
132 | + <!-- 填充数据的时候要判断是否已经有出生日期,有值的话就不可修改 --> | ||
133 | + <block wx:if="{{user.birthday==''||user.birthday==null}}"> | ||
134 | + <picker bindchange='bindChange' value="{{datet}}" mode="date" | ||
135 | + start="{{year-70}}-1-1" end="{{year}}-12-31"> | ||
136 | + </picker> | ||
137 | + </block> | ||
138 | + <block wx:else> | ||
139 | + <view>{{datet==""? user.birthday==""?"":filters.replace_time2(user.birthday):datet}}</view> | ||
140 | + </block> | ||
141 | + | ||
142 | + </view> | ||
45 | </view> | 143 | </view> |
144 | + </view> | ||
145 | + </view> | ||
146 | + <view class="Bbottom"> | ||
147 | + <view bindtap="editUserInfo1" class="user-name mt flex-vertical-between" data-type="nickname"> | ||
148 | + <view class="user-name-txt">姓名</view> | ||
149 | + <input bindblur="user_name" class="user-txt-right t-r" placeholder="*姓名" value='{{user.vipname}}'/> | ||
150 | + </view> | ||
46 | 151 | ||
47 | - <view bindtap="editUserInfo1" class="user-name" data-type="email"> | ||
48 | - <view class="user-name-txt">所属门店</view> | ||
49 | - <!-- <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> --> | ||
50 | - <view class="user-txt-right one-line">{{stoname}}</view> | ||
51 | - </view> | ||
52 | - <!-- <view bindtap="editUserInfo1" class="user-change" data-type="password"> | ||
53 | - <view class="user-name-txt">修改密码</view> | ||
54 | - <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> | ||
55 | - </view> | ||
56 | - <view bindtap="editUserInfo1" class="user-name" data-type="paypwd"> | ||
57 | - <view class="user-name-txt">支付密码</view> | ||
58 | - <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> | ||
59 | - </view> --> | ||
60 | - <navigator class="user-name mt" url="/pages/user/address_list/address_list"> | ||
61 | - <view class="user-name-txt">收货地址</view> | ||
62 | - <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> | ||
63 | - </navigator> | ||
64 | - <view bindtap='show_tc' class="user-name" data-type="email"> | ||
65 | - <view class="user-name-txt">我的二维码名片</view> | ||
66 | - <image class="arrow-right" src="{{iurl}}/miniapp/images/user/code.png"></image> | 152 | + <view bindtap="editUserInfo1" class="user-name flex-vertical-between" data-type="nickname"> |
153 | + <view class="user-name-txt">身份证</view> | ||
154 | + | ||
155 | + <input bindblur="identity_card" class="user-txt-right t-r" value="{{user.idcard}}" placeholder="*身份证"></input> | ||
156 | + | ||
157 | + | ||
158 | + <!-- <block wx:else> | ||
159 | + <input class="user-txt-right" bindblur="IdentityIDCard" value="" type="idcard" maxlength="18" placeholder="*身份证" /> | ||
160 | + </block> --> | ||
161 | + </view> | ||
162 | + <navigator url="/pages/user/Change_phone/Change_phone?mobile={{user.mobile}}" class="user-name flex-vertical-between" data-type="mobile"> | ||
163 | + <view class="user-name-txt">更换手机</view> | ||
164 | + <view class="flex-center user-txt-right"> | ||
165 | + <view class="flex">{{phone}}</view> | ||
166 | + <view class="angle">∟</view> | ||
67 | </view> | 167 | </view> |
68 | - <view bindtap="editUserInfo1" class="user-name" data-type="email"> | ||
69 | - <view class="user-name-txt">绑定的时间</view> | ||
70 | - <!-- <image class="arrow-right" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> --> | ||
71 | - <view class="user-txt-right one-line">{{user.reg_time}}</view> | 168 | + </navigator> |
169 | + <view class="user-name flex-vertical-between" data-type="mobile"> | ||
170 | + <view class="user-name-txt">地址</view> | ||
171 | + <!-- <block wx:if="{{user.address.length>0}}"> | ||
172 | + <view>{{user.address}}</view> | ||
173 | + </block> | ||
174 | + <block wx:else> --> | ||
175 | + <input bindblur="address" maxlength="30" value="{{user.address}}" class="user-txt-right" placeholder="*地址" style="text-align:right" /> | ||
176 | + <!-- </block> --> | ||
177 | + </view> | ||
178 | + | ||
179 | + <view bindtap="onclickstore" class="user-name flex-vertical-between" data-type="email"> | ||
180 | + <view class="user-name-txt">所属门店</view> | ||
181 | + <view class="flex-center user-txt-right"> | ||
182 | + <view class="one-line">{{stoname}} | ||
183 | + </view> | ||
184 | + | ||
185 | + <view class="angle">∟</view> | ||
72 | </view> | 186 | </view> |
187 | + </view> | ||
73 | </view> | 188 | </view> |
189 | + <navigator class="user-name mt flex-vertical-between" url="/pages/user/address_list/address_list"> | ||
190 | + <view class="user-name-txt">收货地址</view> | ||
191 | + <view class="flex-center user-txt-right"> | ||
192 | + <!-- <view class="flex">{{user.address_id}}</view> --> | ||
193 | + <view class="angle">∟</view> | ||
194 | + </view> | ||
195 | + </navigator> | ||
196 | + <view bindtap="editUserInfo1" class="user-name flex-vertical-between" data-type="email"> | ||
197 | + <view class="user-name-txt">绑定的时间</view> | ||
198 | + <view class="user-txt-right one-line">{{filters.replace_time2(user.reg_time)}}</view> | ||
199 | + </view> | ||
200 | + </view> | ||
201 | +</view> | ||
202 | +<!-- 确认修改按钮 --> | ||
203 | +<view class="flex-center confirm"> | ||
204 | + <view class="flex-center fs30 confirmtext"bindtap="confirm_revision"> | ||
205 | + <view>确认修改</view> | ||
206 | + </view> | ||
74 | </view> | 207 | </view> |
75 | 208 | ||
76 | <!--弹出层内容,其中的“我知道”中绑定让弹出层消失的函数:bindtap="hide"--> | 209 | <!--弹出层内容,其中的“我知道”中绑定让弹出层消失的函数:bindtap="hide"--> |
77 | <view class="tc_view" hidden='{{tc_hide}}' bindtap='hide_tc'> | 210 | <view class="tc_view" hidden='{{tc_hide}}' bindtap='hide_tc'> |
78 | <view class="modal-box" hidden="{{flag}}" bindtap="hide"></view> | 211 | <view class="modal-box" hidden="{{flag}}" bindtap="hide"></view> |
79 | <view class="modal-body"> | 212 | <view class="modal-body"> |
80 | - <view class="modal-content"> | ||
81 | - <view class="flex"> | ||
82 | - <image src="{{user.head_pic}}" class="hd_img"></image> | ||
83 | - <view class="ctent_txt"> | ||
84 | - <view class='txt1'>{{user.nickname}} | ||
85 | - <image wx:if="{{user.sex==2}}" class="arrow-right" src="{{iurl}}/miniapp/images/user/wum.png"></image> | ||
86 | - <image wx:else class="arrow-right" src="{{iurl}}/miniapp/images/user/man.png"></image> | ||
87 | - </view> | ||
88 | - <view class='txt2' wx:if="{{user.address}}">{{user.address}}</view> | ||
89 | - </view> | ||
90 | - </view> | ||
91 | - <view class="m_ta"> | ||
92 | - <image class='g_img' src='https://mshop.yolipai.net//index.php?m=Home&c=Index&a=qr_code&data={{user.mobile}}'></image> | ||
93 | - </view> | ||
94 | - <view class="s_sao">扫一扫上面的二维码图案,即可消费</view> | 213 | + <view class="modal-content"> |
214 | + <view class="flex"> | ||
215 | + <image src="{{user.head_pic}}" class="hd_img"></image> | ||
216 | + <view class="ctent_txt"> | ||
217 | + <view class='txt1'>{{user.nickname}} | ||
218 | + <image wx:if="{{user.sex==2}}" class="arrow-right" src="{{iurl}}/miniapp/images/user/wum.png"></image> | ||
219 | + <image wx:else class="arrow-right" src="{{iurl}}/miniapp/images/user/man.png"></image> | ||
220 | + </view> | ||
221 | + <view class='txt2' wx:if="{{user.address}}">{{user.address}}</view> | ||
222 | + </view> | ||
95 | </view> | 223 | </view> |
224 | + <view class="m_ta"> | ||
225 | + <image class='g_img' src='https://mshop.yolipai.net//index.php?m=Home&c=Index&a=qr_code&data={{user.mobile}}'></image> | ||
226 | + </view> | ||
227 | + <view class="s_sao">扫一扫上面的二维码图案,即可消费</view> | ||
228 | + </view> | ||
96 | </view> | 229 | </view> |
97 | </view> | 230 | </view> |
231 | + | ||
232 | +<!-- 选择门店的弹框,1.1版最新的 --> | ||
233 | +<block wx:if="{{store==1}}"> | ||
234 | + <view class="mongolia-layer" bindtap="onclickstore"></view> | ||
235 | + <view class="popup-frame"> | ||
236 | + <block wx:if="{{sort_store==0}}"> | ||
237 | + <!-- 头部 标题 --> | ||
238 | + <view class="popup-top flex-space-between"> | ||
239 | + <text class="fs32 nearby_store">{{choice_sort_store==0?'附近的门店':region_name}}</text> | ||
240 | + <view> | ||
241 | + <view> | ||
242 | + <icon bindtap="onclickstore" class="modal-closes" color="black" size="22" type="cancel"></icon> | ||
243 | + </view> | ||
244 | + <view class="felx choose_more" bindtap="more_store"> | ||
245 | + <text class="fs26 red-co" wx:if="{{is_show_sto_cat}}">{{choice_sort_store==0?'更多门店':'返回'}}</text> | ||
246 | + <view class="bg_rights"></view> | ||
247 | + </view> | ||
248 | + </view> | ||
249 | + </view> | ||
250 | + <!-- 门店列表,最外层的门店列表,一开始 --> | ||
251 | + <view class="store-list"> | ||
252 | + <!--如果还没有点击更多门店的时候 --> | ||
253 | + <block wx:if="{{choice_sort_store==0}}"> | ||
254 | + <!-- 需要for循环 --> | ||
255 | + <block wx:if="is_show_sto_cat==1"> | ||
256 | + <view class="store_choose flex" wx:for="{{def_pickpu_list}}" bindtap="choose_for_store_fir" data-ind="{{index}}"> | ||
257 | + <view class="store flex-vertical"> | ||
258 | + <!-- 需要点击事件 --> | ||
259 | + <block wx:if="{{index==fir_pick_index}}"> | ||
260 | + <view class="circle white xc-hook fs20 red-b">Г</view> | ||
261 | + </block> | ||
262 | + <block wx:else> | ||
263 | + <view class="circle xc-hooks"></view> | ||
264 | + </block> | ||
265 | + <view class="address-frame xc-ash"> | ||
266 | + <view class="flex-vertical-between butttem5"> | ||
267 | + <view class="flex xc-ash"> | ||
268 | + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view> | ||
269 | + </view> | ||
270 | + <view> | ||
271 | + <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}"> | ||
272 | + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+'km':filters.toFix(item.distance,0)+"m"}}</view> | ||
273 | + </view> | ||
274 | + </view> | ||
275 | + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view> | ||
276 | + </view> | ||
277 | + </view> | ||
278 | + </view> | ||
279 | + </block> | ||
280 | + <block wx:else> | ||
281 | + <view class="store_choose flex" wx:for="{{only_pk}}" bindtap="choose_for_store_fir" data-ind="{{index}}"> | ||
282 | + <view class="store flex-vertical"> | ||
283 | + <!-- 需要点击事件 --> | ||
284 | + <block wx:if="{{index==fir_pick_index}}"> | ||
285 | + <view class="circle white xc-hook fs20 red-b">Г</view> | ||
286 | + </block> | ||
287 | + <block wx:else> | ||
288 | + <view class="circle xc-hooks"></view> | ||
289 | + </block> | ||
290 | + | ||
291 | + <view class="address-frame xc-ash"> | ||
292 | + <view class="flex-vertical-between "> | ||
293 | + <view class="flex xc-ash"> | ||
294 | + <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view> | ||
295 | + </view> | ||
296 | + <view> | ||
297 | + <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}">距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} | ||
298 | + </view> | ||
299 | + </view> | ||
300 | + </view> | ||
301 | + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view> | ||
302 | + </view> | ||
303 | + </view> | ||
304 | + </view> | ||
305 | + </block> | ||
306 | + </block> | ||
307 | + <block wx:else> | ||
308 | + <!-- 如果是点击选择门店分类后显示分类下的门店 --> | ||
309 | + <view class="store_choose flex" wx:for="{{sec_sto.s_arr}}" data-ind="{{index}}" bindtap="choose_for_store"> | ||
310 | + <view class="store flex-vertical"> | ||
311 | + <!-- 需要点击事件 --> | ||
312 | + <block wx:if="{{index==sec_pick_index}}"> | ||
313 | + <view class="circle white xc-hook fs20 red-b">Г</view> | ||
314 | + </block> | ||
315 | + <block wx:else> | ||
316 | + <view class="circle xc-hooks"></view> | ||
317 | + </block> | ||
318 | + | ||
319 | + <view class="address-frame xc-ash"> | ||
320 | + <view class="flex-vertical-between "> | ||
321 | + <view class="flex xc-ash"> | ||
322 | + <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view> | ||
323 | + </view> | ||
324 | + <view> | ||
325 | + <view class="distance fs24 address-val" wx:if="{{item.distance!=null}}"> 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}}</view> | ||
326 | + </view> | ||
327 | + </view> | ||
328 | + <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view> | ||
329 | + </view> | ||
330 | + </view> | ||
331 | + </view> | ||
332 | + </block> | ||
333 | + | ||
334 | + </view> | ||
335 | + | ||
336 | + <!-- 门店列表底部 --> | ||
337 | + <view class="store-bottom-frame"> | ||
338 | + <view class="store-bottom flex-center"> | ||
339 | + <view class="determine red-b fs30 white t-c" bindtap="sure_pick" data-openindstore="{{open_ind_store}}">确定</view> | ||
340 | + <!-- <view class="default t-c fs28" bindtap="set_def_pick" data-openindstore="{{open_ind_store}}">设为默认</view> --> | ||
341 | + </view> | ||
342 | + </view> | ||
343 | + | ||
344 | + </block> | ||
345 | + | ||
346 | + | ||
347 | + <block wx:else> | ||
348 | + <view class="popup-top flex-space-between"> | ||
349 | + <text class="fs32 nearby_store">门店分类选择</text> | ||
350 | + <view> | ||
351 | + <view> | ||
352 | + <icon bindtap="onclickstore" class="modal-closes" color="black" size="22" type="cancel"></icon> | ||
353 | + </view> | ||
354 | + </view> | ||
355 | + </view> | ||
356 | + <view class="sort_store_list"> | ||
357 | + | ||
358 | + <view class="sort-store-frame" wx:for="{{all_sto}}" data-index="{{index}}" bindtap="choice_sort_store" data-region="{{item.name}}"> | ||
359 | + <view class="sort-store flex-vertical-between"> | ||
360 | + <view class="fs30" di>{{item.name}}</view> | ||
361 | + <view class="black_rights-frame"> | ||
362 | + <view class="black_rights"></view> | ||
363 | + </view> | ||
364 | + </view> | ||
365 | + </view> | ||
366 | + | ||
367 | + </view> | ||
368 | + </block> | ||
369 | + </view> | ||
370 | +</block> | ||
371 | +<warn id="warn"></warn> | ||
98 | \ No newline at end of file | 372 | \ No newline at end of file |
pages/user/userinfo/userinfo.wxss
1 | +.container{ | ||
2 | + padding-bottom:165rpx; | ||
3 | + transform: translate() | ||
4 | +} | ||
1 | .user-container { | 5 | .user-container { |
2 | - font-size: 30rpx; | 6 | + font-size: 30rpx; |
7 | +} | ||
8 | +input{ | ||
9 | + width: 450rpx; | ||
10 | +} | ||
11 | +.head { | ||
12 | + height: 220rpx; | ||
13 | + border-bottom: 6rpx solid rgb(245, 245, 245); | ||
14 | + border-top: 2rpx solid rgb(245, 245, 245); | ||
15 | + background-size: 100%; | ||
16 | +} | ||
17 | +.angle{ | ||
18 | + transform: rotate(225deg); | ||
19 | + font-size: 24rpx; | ||
20 | + margin-top: 2rpx; | ||
21 | +} | ||
22 | +.Headportrait { | ||
23 | + width: 145rpx; | ||
24 | + height: 145rpx; | ||
25 | + border-radius: 50%; | ||
26 | + margin-left: 40rpx; | ||
3 | } | 27 | } |
4 | 28 | ||
5 | -.user-head { | ||
6 | - width: 100%; | ||
7 | - height: 200rpx; | ||
8 | - position: relative; | ||
9 | - background-color: white; | 29 | +.vip { |
30 | + margin-top: 30rpx; | ||
31 | + color: rgb(255, 255, 255); | ||
10 | } | 32 | } |
11 | 33 | ||
12 | -.user-txt { | ||
13 | - float: left; | ||
14 | - margin-left: 40rpx; | ||
15 | - margin-top: 80rpx; | ||
16 | - color: #666; | 34 | +.AncrownMax { |
35 | + background-color: rgb(57, 57, 57); | ||
36 | + | ||
37 | + height: 36rpx; | ||
38 | + border-radius: 20rpx; | ||
39 | + margin-right: 20rpx; | ||
40 | + line-height: 36rpx; | ||
41 | + padding-right: 14rpx; | ||
42 | +padding-left: 10rpx; | ||
43 | + | ||
44 | +} | ||
45 | +.Nickname{ | ||
46 | + max-width:170rpx; | ||
47 | +} | ||
48 | +.Ancrown { | ||
49 | + width: 30rpx; | ||
50 | + height: 30rpx; | ||
51 | + margin-right: 5rpx; | ||
52 | +} | ||
53 | + | ||
54 | +.plusMax { | ||
55 | + background-color: rgb(212, 58, 30); | ||
56 | + height: 36rpx; | ||
57 | + border-radius: 20rpx; | ||
58 | + line-height: 36rpx; | ||
59 | + padding-left: 10rpx; | ||
60 | +padding-right: 14rpx; | ||
61 | + | ||
62 | +} | ||
63 | + | ||
64 | +.fuls { | ||
65 | + width: 25rpx; | ||
66 | + height: 25rpx; | ||
67 | + margin-right: 5rpx; | ||
68 | +} | ||
69 | + | ||
70 | +.Bbottom { | ||
71 | + border-bottom: 6rpx solid rgb(245, 245, 245); | ||
72 | +} | ||
73 | + | ||
74 | +.Mleft { | ||
75 | + margin-left: 8rpx; | ||
76 | +} | ||
77 | + | ||
78 | +.Birth { | ||
79 | + width: 500rpx; | ||
80 | +} | ||
81 | + | ||
82 | +.Gendercheck { | ||
83 | + width: 90rpx; | ||
84 | + height: 35rpx; | ||
85 | + border: 2rpx solid rgb(212, 2, 31); | ||
86 | + color: rgb(212, 2, 31); | ||
87 | + border-radius: 20rpx; | ||
88 | + margin-left: 15rpx; | ||
89 | +} | ||
90 | + | ||
91 | +.Gender { | ||
92 | + width: 90rpx; | ||
93 | + height: 35rpx; | ||
94 | + border: 2rpx solid rgb(153, 153, 153); | ||
95 | + color: rgb(153, 153, 153); | ||
96 | + border-radius: 20rpx; | ||
97 | + margin-left: 15rpx; | ||
98 | +} | ||
99 | + | ||
100 | +.GenderImage { | ||
101 | + width: 25rpx; | ||
102 | + height: 25rpx; | ||
103 | + margin-right: 10rpx; | ||
104 | +} | ||
105 | +.confirm{ | ||
106 | + width: 100%; | ||
107 | + position:fixed; | ||
108 | + left: 0rpx; | ||
109 | + bottom: 0rpx; | ||
110 | + height: 130rpx; | ||
111 | + background-color: rgb(255,255,255); | ||
112 | +} | ||
113 | + | ||
114 | +.confirmtext { | ||
115 | + width: 495rpx; | ||
116 | + height: 65rpx; | ||
117 | + color: rgb(255, 255, 255); | ||
118 | + background-color: rgb(214, 1, 33); | ||
119 | + border-radius: 35rpx; | ||
120 | +} | ||
121 | + | ||
122 | +.cmleft { | ||
123 | + margin-left: 45rpx; | ||
124 | +} | ||
125 | + | ||
126 | +.hion { | ||
127 | + width:300rpx ; | ||
128 | + text-align: right; | ||
129 | + margin-top: 3rpx; | ||
130 | + margin-right: 5rpx; | ||
131 | +} | ||
132 | + | ||
133 | +.eye { | ||
134 | + width: 50rpx; | ||
135 | + height: 50rpx; | ||
136 | +} | ||
137 | + | ||
138 | +.user-head { | ||
139 | + height: 95rpx; | ||
140 | + background-color: white; | ||
141 | + margin: 0rpx 20rpx; | ||
142 | + border-bottom: 2rpx solid rgb(245, 245, 245); | ||
143 | + padding: 0rpx 20rpx; | ||
144 | + padding-top: 20rpx; | ||
17 | } | 145 | } |
18 | 146 | ||
19 | .user_headimg { | 147 | .user_headimg { |
20 | - height: 140rpx; | ||
21 | - width: 140rpx; | ||
22 | - border-radius: 70rpx; | ||
23 | - float: right; | ||
24 | - margin-right: 30rpx; | ||
25 | - margin-top: 25rpx; | 148 | + height: 140rpx; |
149 | + width: 140rpx; | ||
150 | + border-radius: 70rpx; | ||
26 | } | 151 | } |
27 | 152 | ||
28 | .user-name { | 153 | .user-name { |
29 | - width: 100%; | ||
30 | - height: 100rpx; | ||
31 | - margin-top: 2rpx; | ||
32 | - background-color: white; | 154 | + height: 95rpx; |
155 | + margin-top: 2rpx; | ||
156 | + background-color: white; | ||
157 | + margin: 0rpx 20rpx; | ||
158 | + border-bottom: 2rpx solid rgb(245, 245, 245); | ||
159 | + padding: 0rpx 20rpx; | ||
33 | } | 160 | } |
34 | -.user-name.mt{ margin-top: 20rpx;} | ||
35 | 161 | ||
36 | -.user-name-txt { | ||
37 | - float: left; | ||
38 | - margin-left: 40rpx; | ||
39 | - margin-top: 30rpx; | ||
40 | - color: #666; | 162 | +.user-name.mt { |
163 | + margin-top: 20rpx; | ||
41 | } | 164 | } |
42 | 165 | ||
43 | -.user-txt-right { | ||
44 | - float: right; | ||
45 | - margin-top: 30rpx; | ||
46 | - margin-right: 30rpx; | ||
47 | - font-sise:34rpx | 166 | +.address { |
167 | + max-width: 300rpx; | ||
168 | +} | ||
169 | + | ||
170 | +.Receiving_goods { | ||
171 | + width: 330rpx; | ||
48 | } | 172 | } |
49 | 173 | ||
50 | .user-change { | 174 | .user-change { |
51 | - width: 100%; | ||
52 | - height: 100rpx; | ||
53 | - margin-top: 20rpx; | ||
54 | - background-color: white; | 175 | + width: 100%; |
176 | + height: 100rpx; | ||
177 | + margin-top: 20rpx; | ||
178 | + background-color: white; | ||
55 | } | 179 | } |
56 | 180 | ||
57 | .one-line { | 181 | .one-line { |
58 | - white-space: nowrap; | ||
59 | - word-break: keep-all; | ||
60 | - overflow: hidden; | 182 | + white-space: nowrap; |
183 | + word-break: keep-all; | ||
184 | + overflow: hidden; | ||
185 | +} | ||
186 | + | ||
187 | +/*---弹出层---*/ | ||
188 | + | ||
189 | +.modal-box { | ||
190 | + position: fixed; | ||
191 | + width: 100%; | ||
192 | + height: 100%; | ||
193 | + top: 0px; | ||
194 | + background: rgba(0, 0, 0, 0.4); | ||
195 | + overflow: hidden; | ||
196 | +} | ||
197 | + | ||
198 | +.modal-body { | ||
199 | + position: fixed; | ||
200 | + top: 80rpx; | ||
201 | + left: 0; | ||
202 | + z-index: 100; | ||
203 | + background: #fff; | ||
204 | + margin-left: 73rpx; | ||
205 | + width: 600rpx; | ||
206 | + height: 860rpx; | ||
207 | + border-radius: 8px; | ||
208 | + text-align: center; | ||
209 | +} | ||
210 | + | ||
211 | +.modal-content { | ||
212 | + width: 480rpx; | ||
213 | + margin: 0 auto; | ||
214 | + margin-top: 60rpx; | ||
215 | + overflow: hidden; | ||
216 | +} | ||
217 | + | ||
218 | +.modal-content .hd_img { | ||
219 | + width: 170rpx; | ||
220 | + height: 170rpx; | ||
221 | + border-radius: 5px; | ||
222 | +} | ||
223 | + | ||
224 | +.ctent_txt { | ||
225 | + margin-left: 30rpx; | ||
226 | + text-align: left; | ||
227 | +} | ||
228 | + | ||
229 | +.txt1 { | ||
230 | + font-size: 34rpx; | ||
231 | + font-weight: bold; | ||
232 | +} | ||
233 | + | ||
234 | +.txt2 { | ||
235 | + font-size: 30rpx; | ||
236 | + color: #999; | ||
237 | + margin-top: 20rpx; | ||
61 | } | 238 | } |
62 | 239 | ||
63 | .arrow-right { | 240 | .arrow-right { |
64 | - width: 30rpx; | ||
65 | - height: 30rpx; | ||
66 | - margin-right: 30rpx; | ||
67 | - float: right; | ||
68 | - margin-top: 20rpx; | 241 | + width: 30rpx; |
242 | + height: 30rpx; | ||
243 | + margin-left: 10rpx; | ||
69 | } | 244 | } |
70 | 245 | ||
246 | +.code { | ||
247 | + margin-bottom: 10rpx; | ||
248 | +} | ||
71 | 249 | ||
72 | -/*---弹出层---*/ | ||
73 | -.modal-box{ | ||
74 | - position:fixed; width:100%;height:100%; | ||
75 | - top:0px; background:rgba(0,0,0,0.4); | 250 | +.user-txt-right { |
251 | + color: rgb(153, 153, 153); | ||
252 | + font-size: 28rpx; | ||
253 | +} | ||
254 | + | ||
255 | +.user-txt { | ||
256 | + font-size: 32rpx; | ||
257 | +} | ||
258 | + | ||
259 | +.m_ta { | ||
260 | + margin-top: 50rpx; | ||
261 | +} | ||
262 | + | ||
263 | +.g_img { | ||
264 | + width: 480rpx; | ||
265 | + height: 480rpx; | ||
266 | +} | ||
267 | + | ||
268 | +.s_sao { | ||
269 | + font-size: 27rpx; | ||
270 | + margin-top: 25rpx; | ||
271 | +} | ||
272 | + | ||
273 | +.order-ico1 { | ||
274 | + width: 80rpx; | ||
275 | + height: 46rpx; | ||
276 | + margin-left: 40rpx; | ||
277 | + margin-right: 20rpx; | ||
278 | + color: rgba(0, 0, 0, 0.4); | ||
279 | +} | ||
280 | + | ||
281 | +.f_btn { | ||
282 | + font-size: 24rpx; | ||
283 | + padding: 0 12rpx; | ||
284 | + margin-right: 26rpx; | ||
285 | + margin-top: -10rpx; | ||
286 | +} | ||
287 | + | ||
288 | +.order-ico3 { | ||
289 | + width: 54rpx; | ||
290 | + height: 40rpx; | ||
291 | + margin-left: 40rpx; | ||
292 | + margin-right: 20rpx; | ||
293 | +} | ||
294 | + | ||
295 | +.wh1001 { | ||
296 | + width: 62rpx; | ||
297 | + height: 100%; | ||
298 | +} | ||
299 | + | ||
300 | +.wh1002 { | ||
301 | + width: 76rpx; | ||
302 | + height: 100%; | ||
303 | +} | ||
304 | + | ||
305 | +.order-ico.cla { | ||
306 | + width: 32rpx; | ||
307 | +} | ||
308 | + | ||
309 | +.order-ico.cla2 { | ||
310 | + width: 42rpx; | ||
311 | + margin-left: 34rpx; | ||
312 | +} | ||
313 | + | ||
314 | +.order-ico.cla3 { | ||
315 | + width: 40rpx; | ||
316 | + margin-left: 36rpx; | ||
317 | +} | ||
318 | +/* 日期控件 */ | ||
319 | +.pi{ | ||
320 | + width:200rpx; | ||
321 | + height:auto; | ||
322 | + margin-left:10rpx; | ||
323 | +} | ||
324 | +.vipmax{ | ||
325 | + margin-left: 20rpx; | ||
326 | +} | ||
327 | + | ||
328 | + | ||
329 | +/* 门店地址 */ | ||
330 | +.xc-address_frame{ | ||
331 | + border-top:1rpx solid #eee; | ||
332 | + width: 100%; | ||
333 | + height: auto; | ||
334 | +} | ||
335 | +.on_height{ | ||
336 | +height: 90rpx; | ||
337 | +} | ||
338 | +.sn_height{ | ||
339 | + height: 170rpx; | ||
340 | +} | ||
341 | +.xc-address_frame .address_frame{ | ||
342 | + width: 92%; | ||
343 | +padding-left: 10rpx; | ||
344 | +margin: auto; | ||
345 | + | ||
346 | +} | ||
347 | +.stores-img{ | ||
348 | +width: 40rpx; | ||
349 | + height: 35rpx; | ||
350 | + margin-right: 10rpx; | ||
351 | +} | ||
352 | +.shop_name{ | ||
353 | + margin-right: 10rpx; | ||
354 | +} | ||
355 | +.address{ | ||
356 | + width: 87%; | ||
357 | + margin-top: 5rpx; | ||
358 | + margin-bottom: 5rpx; | ||
359 | +} | ||
360 | +.distance{ | ||
361 | + padding-left: 15rpx; | ||
362 | + padding-right: 15rpx; | ||
363 | + background: #eee; | ||
364 | + border-radius: 20rpx; | ||
365 | + margin-right: 5rpx; | ||
366 | + color: #999; | ||
367 | + height: 38rpx; | ||
368 | +line-height: 38rpx; | ||
369 | + | ||
370 | +} | ||
371 | +/* 选择门店的弹窗 */ | ||
372 | +.mongolia-layer{ | ||
373 | + position: fixed; | ||
374 | +left: 0; | ||
375 | +top: 0; | ||
376 | +right: 0; | ||
377 | +bottom: 0; | ||
378 | +z-index: 11; | ||
379 | +background: rgba(0,0,0,0.4); | ||
380 | +width: 100%; | ||
381 | +height: 91.9%; | ||
382 | + | ||
383 | +} | ||
384 | +.popup-frame{ | ||
385 | + position: fixed; | ||
386 | +bottom:-1rpx; | ||
387 | +z-index: 20; | ||
388 | +background: white; | ||
389 | +width: 100%; | ||
390 | +border-radius: 20rpx 20rpx 0 0; | ||
391 | +height: 72%; | ||
392 | +} | ||
393 | +.popup-top{ | ||
394 | + border-bottom: 1rpx solid #eee; | ||
395 | + height: 155rpx; | ||
396 | + width: 95%; | ||
397 | + margin: auto; | ||
398 | + line-height: 155rpx; | ||
399 | + | ||
400 | +} | ||
401 | +.bg_rights{ | ||
402 | + border-top: 2rpx solid ; | ||
403 | + border-right: 2rpx solid ; | ||
404 | + transform: rotate(45deg); | ||
405 | + display:inline-block; | ||
406 | + width:15rpx;height:15rpx; | ||
407 | + border-color:#da0b31; | ||
408 | +} | ||
409 | +.modal-closes { | ||
410 | + position: absolute; | ||
411 | + right: 30rpx; | ||
412 | + top: 20rpx; | ||
413 | + height: 50rpx; | ||
414 | + line-height: 50rpx; | ||
415 | +} | ||
416 | +.choose_more{ | ||
417 | + margin-top: 40rpx; | ||
418 | + padding-right: 20rpx; | ||
419 | + | ||
420 | +} | ||
421 | +.choose_mores{ | ||
422 | + margin-top: 30rpx; | ||
423 | + margin-right: 15rpx; | ||
424 | + | ||
425 | +} | ||
426 | +.store-list{ | ||
427 | + width: 95%; | ||
428 | + height: 72%; | ||
429 | + overflow-y: scroll; | ||
430 | + margin: auto; | ||
431 | +} | ||
432 | +.store-list .store_choose{ | ||
433 | + width: 100%; | ||
434 | + height: 120rpx; | ||
435 | + line-height: 125rpx; | ||
436 | + border-bottom: 1rpx solid #eee; | ||
437 | + | ||
438 | +} | ||
439 | +.store-list .store_choose .store{ | ||
440 | +width: 100%; | ||
441 | +margin: auto; | ||
442 | +line-height: 37rpx; | ||
443 | +padding-left: 20rpx; | ||
444 | + | ||
445 | +} | ||
446 | +.xc-hook{ | ||
447 | + width: 33rpx; | ||
448 | + height: 33rpx; | ||
449 | + transform: rotate(-145deg); | ||
450 | +line-height: 37rpx; | ||
451 | +text-align: center; | ||
452 | +} | ||
453 | + .xc-hooks{ | ||
454 | + width: 30rpx; | ||
455 | + height: 30rpx; | ||
456 | + border: 1rpx solid #999; | ||
457 | + } | ||
458 | + .address-frame{ | ||
459 | + width: 93%; | ||
460 | +margin-left: 7rpx; | ||
461 | + | ||
462 | + } | ||
463 | + .nearby_store{ | ||
464 | +margin-left: 17rpx; | ||
465 | + } | ||
466 | + .address_name{ | ||
467 | + margin-right: 10rpx; | ||
468 | + | ||
469 | + } | ||
470 | + .address-val{ | ||
471 | + height: 38rpx; | ||
472 | +line-height: 38rpx; | ||
473 | + | ||
474 | + } | ||
475 | + .store-bottom{ | ||
476 | + width: 85%; | ||
477 | + margin: auto; | ||
478 | + height: 70rpx; | ||
479 | + } | ||
480 | + .determine{ | ||
481 | + width: 320rpx; | ||
482 | + height: 55rpx; | ||
483 | + border-radius: 50rpx; | ||
484 | + line-height: 55rpx; | ||
485 | + } | ||
486 | + .default{ | ||
487 | + width: 260rpx; | ||
488 | + height: 55rpx; | ||
489 | + border:3rpx solid #c8c8c8; | ||
490 | + border-radius: 50rpx; | ||
491 | + line-height: 55rpx; | ||
492 | + } | ||
493 | + .store-bottom-frame{ | ||
494 | + width: 95%; | ||
495 | + margin: auto; | ||
496 | + | ||
497 | + } | ||
498 | + /* 门店分类列表 */ | ||
499 | +.sort_store_list{ | ||
500 | + height: 82%; | ||
76 | overflow: hidden; | 501 | overflow: hidden; |
502 | + overflow-y: scroll; | ||
503 | + width: 95%; | ||
504 | + margin: auto; | ||
77 | } | 505 | } |
78 | -.modal-body{ | ||
79 | - position:fixed;top:80rpx;left: 0; z-index: 100; | ||
80 | - background: #fff; margin-left: 73rpx; | ||
81 | - width: 600rpx; | ||
82 | - height: 860rpx; | ||
83 | - border-radius: 8px; text-align: center; | ||
84 | -} | ||
85 | -.modal-content{width: 480rpx; margin: 0 auto; margin-top: 60rpx; overflow: hidden } | ||
86 | -.modal-content .hd_img{ width:170rpx; height: 170rpx;border-radius:5px } | ||
87 | -.ctent_txt{ margin-left: 30rpx; text-align: left} | ||
88 | -.txt1{font-size: 34rpx; font-weight: bold} | ||
89 | -.txt2{font-size: 30rpx; color:#999; margin-top: 20rpx } | ||
90 | -.arrow-right{ width: 40rpx; height: 40rpx; position: relative;top:10rpx; margin-left: 20rpx;} | ||
91 | - | ||
92 | -.m_ta{margin-top:50rpx; } | ||
93 | -.g_img{ width: 480rpx; height: 480rpx} | ||
94 | -.s_sao{font-size: 27rpx; margin-top: 25rpx} | ||
95 | -.order-ico1{ width: 80rpx;height: 46rpx; margin-left: 40rpx;margin-right: 20rpx;} | ||
96 | -.f_btn{font-size:24rpx; padding: 0 12rpx; margin-right: 26rpx; margin-top: -10rpx} | ||
97 | -.order-ico3{ width: 54rpx;height: 40rpx; margin-left: 40rpx;margin-right: 20rpx;} | ||
98 | - | ||
99 | -.wh1001{ width: 62rpx; height: 100%;} | ||
100 | -.wh1002{ width: 76rpx; height: 100%;} | ||
101 | -.order-ico.cla{width: 32rpx;} | ||
102 | -.order-ico.cla2{width: 42rpx;margin-left: 34rpx;} | ||
103 | -.order-ico.cla3{width: 40rpx; margin-left: 36rpx;} | 506 | +.sort_store_list .sort-store-frame{ |
507 | + width: 100%; | ||
508 | +height: 100rpx; | ||
509 | +line-height:100rpx; | ||
510 | +border-bottom: 1rpx solid #eee; | ||
511 | + | ||
512 | +} | ||
513 | +.sort_store_list .sort-store-frame .sort-store{ | ||
514 | + width: 94.5%; | ||
515 | + margin: auto; | ||
516 | +} | ||
517 | +.black_rights-frame{ | ||
518 | +width: 50%; | ||
519 | +} | ||
520 | +.black_rights-frame .black_rights{ | ||
521 | + border-top: 3rpx solid; | ||
522 | +border-right: 3rpx solid; | ||
523 | +transform: rotate(45deg); | ||
524 | +display: inline-block; | ||
525 | +width: 20rpx; | ||
526 | +height: 20rpx; | ||
527 | +} | ||
528 | +.xc-val-money{ | ||
529 | + height:80rpx; | ||
530 | +} | ||
531 | + | ||
532 | +.xc-distance-bottom{ | ||
533 | + margin-bottom: 40rpx; | ||
534 | +} | ||
535 | +.xc-distance-top{ | ||
536 | +margin-top: 10rpx; | ||
537 | +} | ||
538 | +.xc-width{ | ||
539 | + width: 100%; | ||
540 | +} | ||
541 | +.right-arrow{ width: 15rpx; height:15rpx; | ||
542 | + border-top: 2rpx solid #d70026; | ||
543 | + border-right: 2rpx solid #d70026; | ||
544 | + transform: rotate(45deg);display:inline-block; | ||
545 | + margin-bottom:3rpx; | ||
546 | +} | ||
547 | +.xc-goods-attribute{ | ||
548 | + border-bottom: 1px solid #eee; | ||
549 | +padding-bottom: 15px; | ||
550 | +margin-bottom:40rpx; | ||
551 | +} | ||
552 | +.xc-val-fream{ | ||
553 | + width: 105rpx; | ||
554 | +} | ||
555 | +.is_stock{ | ||
556 | +width: 58%; | ||
557 | +height: 70rpx; | ||
558 | +border-radius: 55rpx; | ||
559 | +} | ||
560 | +.select_store_height{ | ||
561 | + height: 50rpx; | ||
562 | +} | ||
563 | +.butttem5{ | ||
564 | + margin-bottom: 5rpx; | ||
565 | +} | ||
566 | + | ||
567 | +.s_btn{ margin-top: 25rpx; } | ||
104 | \ No newline at end of file | 568 | \ No newline at end of file |
utils/pay2.js
0 → 100644
1 | +var t = getApp(), n = t.request; | ||
2 | + | ||
3 | +module.exports = { | ||
4 | + url: "/api/weshop/plus/create/plus/order", | ||
5 | + pay: function(dd, succ,fail) { | ||
6 | + var i = this; | ||
7 | + n.post(this.url, { | ||
8 | + data: dd, | ||
9 | + success: function(t) { | ||
10 | + if(t.data.code==0){ | ||
11 | + i.weixinPay(t.data.data, succ,fail); | ||
12 | + }else{ | ||
13 | + "function" == typeof fail && fail(); | ||
14 | + } | ||
15 | + return false; | ||
16 | + }, | ||
17 | + fail: function() { | ||
18 | + "function" == typeof fail && fail(); | ||
19 | + }, | ||
20 | + failStatus: function() { | ||
21 | + "function" == typeof fail && fail(); | ||
22 | + } | ||
23 | + }); | ||
24 | + }, | ||
25 | + weixinPay: function(n, succ,fail) { | ||
26 | + wx.requestPayment({ | ||
27 | + timeStamp: String(n.timeStamp), | ||
28 | + nonceStr: n.nonceStr, | ||
29 | + package: n.packageValue, | ||
30 | + signType: n.signType, | ||
31 | + paySign: n.paySign, | ||
32 | + success: function(n) { | ||
33 | + "function" == typeof succ && succ(); | ||
34 | + }, | ||
35 | + fail: function(n) { | ||
36 | + "function" == typeof fail && fail(); | ||
37 | + } | ||
38 | + }); | ||
39 | + } | ||
40 | +}; | ||
0 | \ No newline at end of file | 41 | \ No newline at end of file |
utils/util.js
@@ -258,6 +258,7 @@ function get_rand_item(arr){ | @@ -258,6 +258,7 @@ function get_rand_item(arr){ | ||
258 | return arr[ind]; | 258 | return arr[ind]; |
259 | } | 259 | } |
260 | 260 | ||
261 | + | ||
261 | function getDistance(lat1, lng1, lat2, lng2){ | 262 | function getDistance(lat1, lng1, lat2, lng2){ |
262 | var radLat1 = lat1*Math.PI / 180.0; | 263 | var radLat1 = lat1*Math.PI / 180.0; |
263 | var radLat2 = lat2*Math.PI / 180.0; | 264 | var radLat2 = lat2*Math.PI / 180.0; |
@@ -269,6 +270,45 @@ function getDistance(lat1, lng1, lat2, lng2){ | @@ -269,6 +270,45 @@ function getDistance(lat1, lng1, lat2, lng2){ | ||
269 | return s; | 270 | return s; |
270 | } | 271 | } |
271 | 272 | ||
273 | +//画布画椭圆矩形 | ||
274 | +function draw_randon_rect(ctx,x,y,r,w,h){ | ||
275 | + ctx.save(); | ||
276 | + // 开始绘制 | ||
277 | + ctx.beginPath(); | ||
278 | + // 因为边缘描边存在锯齿,最好指定使用 transparent 填充 | ||
279 | + // 这里是使用 fill 还是 stroke都可以,二选一即可 | ||
280 | + ctx.setFillStyle('rgb(237,188,150)') | ||
281 | + // ctx.setStrokeStyle('transparent') | ||
282 | + // 左上角 | ||
283 | + ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 1.5) | ||
284 | + | ||
285 | + // border-top | ||
286 | + ctx.moveTo(x + r, y) | ||
287 | + ctx.lineTo(x + w - r, y) | ||
288 | + ctx.lineTo(x + w, y + r) | ||
289 | + // 右上角 | ||
290 | + ctx.arc(x + w - r, y + r, r, Math.PI * 1.5, Math.PI * 2) | ||
291 | + | ||
292 | + // border-right | ||
293 | + ctx.lineTo(x + w, y + h - r) | ||
294 | + ctx.lineTo(x + w - r, y + h) | ||
295 | + // 右下角 | ||
296 | + ctx.arc(x + w - r, y + h - r, r, 0, Math.PI * 0.5) | ||
297 | + | ||
298 | + // border-bottom | ||
299 | + ctx.lineTo(x + r, y + h) | ||
300 | + ctx.lineTo(x, y + h - r) | ||
301 | + // 左下角 | ||
302 | + ctx.arc(x + r, y + h - r, r, Math.PI * 0.5, Math.PI) | ||
303 | + | ||
304 | + // border-left | ||
305 | + ctx.lineTo(x, y + r) | ||
306 | + ctx.lineTo(x + r, y) | ||
307 | + // 这里是使用 fill 还是 stroke都可以,二选一即可,但是需要与上面对应 | ||
308 | + ctx.fill(); | ||
309 | + | ||
310 | +} | ||
311 | + | ||
272 | module.exports = { | 312 | module.exports = { |
273 | formatTime: function(e, r) { | 313 | formatTime: function(e, r) { |
274 | var t = e ? new Date(1e3 * e) : new Date(), n = t.getFullYear(), o = t.getMonth() + 1, a = t.getDate(), u = t.getHours(), i = t.getMinutes(), f = t.getSeconds(), s = function(e) { | 314 | var t = e ? new Date(1e3 * e) : new Date(), n = t.getFullYear(), o = t.getMonth() + 1, a = t.getDate(), u = t.getHours(), i = t.getMinutes(), f = t.getSeconds(), s = function(e) { |
@@ -359,5 +399,6 @@ module.exports = { | @@ -359,5 +399,6 @@ module.exports = { | ||
359 | measureText: measureText,//画布需要的函数 | 399 | measureText: measureText,//画布需要的函数 |
360 | check_mobile: check_mobile,//验证手机 | 400 | check_mobile: check_mobile,//验证手机 |
361 | get_rand_item:get_rand_item, //随机获取元素 | 401 | get_rand_item:get_rand_item, //随机获取元素 |
362 | - getDistance:getDistance //获取俩个经纬网度之间的距离 | 402 | + getDistance:getDistance, //获取俩个经纬网度之间的距离 |
403 | + draw_randon_rect:draw_randon_rect //画图画圆角矩形 | ||
363 | }; | 404 | }; |