jufubao-base 1.0.307-beta1 → 1.0.307
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/JfbBaseCodeOpenVip/Api.js +4 -15
- package/src/components/JfbBaseCodeOpenVip/Attr.js +229 -299
- package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +182 -695
- package/src/components/JfbBaseCodeOpenVip/Mock.js +1 -3
- package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCode.vue +4 -24
- package/src/components/JfbBaseConsumpCode/cusAttr/advanced.js +1 -1
- package/src/components/JfbBaseConsumpCode/cusAttr/style.js +1 -43
- package/src/components/JfbBaseNotice/JfbBaseNotice.vue +16 -12
- package/src/components/JfbBaseOpenVip/Attr.js +2 -52
- package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +24 -70
- package/src/components/JfbBaseOpenVip/Mock.js +1 -1
- package/src/components/JfbBaseOpenVip/XdVipList.vue +19 -85
- package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetail.vue +41 -57
|
@@ -8,8 +8,6 @@ module.exports = {
|
|
|
8
8
|
|
|
9
9
|
removeCodeFilmAddress:{},
|
|
10
10
|
|
|
11
|
-
addCodeFilmcart:
|
|
12
|
-
getOpenBaseUserInfo: { "user_name": "", "user_code": "Uf4zx6EPfV", "nickname": "未来~", "real_name": "", "head_url": "https:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/Q0j4TwGTfTJsajZzh53IB56crRSdmKvRbjT4V1Ha8v5uCOkASbWS0GibgLeic8OKBzAwUyBa3vZGhjwmd6RfpG9g\/132", "province_code": "", "city_code": "", "province_name": "", "city_name": "", "sex": "", "sex_name": "未知", "birthday_date": "", "phone_number": "13611111111", "show_user_name": "未来~", "user_level": "", "vip_expire_time": 1745026677, "request_id": "250e5709e6c95066" },
|
|
13
|
-
|
|
11
|
+
addCodeFilmcart:{},
|
|
14
12
|
|
|
15
13
|
}
|
|
@@ -197,13 +197,6 @@
|
|
|
197
197
|
</view>
|
|
198
198
|
</view>
|
|
199
199
|
</view>
|
|
200
|
-
<CusVipOpenDialog
|
|
201
|
-
v-if="is_vip==='N'"
|
|
202
|
-
:bgImg="openVipBgImg"
|
|
203
|
-
:btnBgImg="openVipBtnBgImg"
|
|
204
|
-
@onOpen="handleToOpen"
|
|
205
|
-
@onClose="handleCloseOpenVip"
|
|
206
|
-
></CusVipOpenDialog>
|
|
207
200
|
</view>
|
|
208
201
|
</template>
|
|
209
202
|
|
|
@@ -224,7 +217,7 @@
|
|
|
224
217
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
225
218
|
import extsMixins from "@/mixins/extsMixins";
|
|
226
219
|
import { mapState } from 'vuex';
|
|
227
|
-
|
|
220
|
+
|
|
228
221
|
export default {
|
|
229
222
|
//#ifdef MP-WEIXIN
|
|
230
223
|
options: { styleIsolation: 'shared' },
|
|
@@ -236,8 +229,7 @@
|
|
|
236
229
|
XdButton,
|
|
237
230
|
XdDownDrawer,
|
|
238
231
|
ShopList,
|
|
239
|
-
XdDeductSort
|
|
240
|
-
CusVipOpenDialog
|
|
232
|
+
XdDeductSort
|
|
241
233
|
},
|
|
242
234
|
mixins: [
|
|
243
235
|
componentsMixins, extsMixins, JfbBaseConsumpCodeMixin, QPMixin, JHDMixin, shopListMixin
|
|
@@ -294,8 +286,7 @@
|
|
|
294
286
|
QPIconType: "",
|
|
295
287
|
QPIcon: "",
|
|
296
288
|
QPImg: "",
|
|
297
|
-
|
|
298
|
-
openVipBgImg: "",
|
|
289
|
+
|
|
299
290
|
}
|
|
300
291
|
},
|
|
301
292
|
watch: {
|
|
@@ -330,9 +321,6 @@
|
|
|
330
321
|
created() {
|
|
331
322
|
this.isPreview = this.$configProject['isPreview']
|
|
332
323
|
this.is_vip = this.getTokenForKey('user_level') && this.getTokenForKey('user_level') === 'VIP' ? 'Y' : 'N'
|
|
333
|
-
if (this.$configProject['isPreview']) {
|
|
334
|
-
this.is_vip='Y'
|
|
335
|
-
}
|
|
336
324
|
this.init(this.container);
|
|
337
325
|
// #ifdef H5
|
|
338
326
|
if (!this.$configProject.isPreview && (isWechat() || isWechatTools())) {
|
|
@@ -417,12 +405,7 @@
|
|
|
417
405
|
this.QPIconType = gCPVal(container, 'QPIconType', "icon");
|
|
418
406
|
this.QPIcon = gCPVal(container, 'QPIcon', 'iconerweima');
|
|
419
407
|
this.QPImg = getServiceUrl(gCPVal(container, 'QPImg', {url: ""}).url);
|
|
420
|
-
|
|
421
|
-
getContainerPropsValue(container, "content.openVipBgImg", { url: "" }).url,
|
|
422
|
-
);
|
|
423
|
-
this.openVipBtnBgImg = getServiceUrl(
|
|
424
|
-
getContainerPropsValue(container, "content.openVipBtnBgImg", { url: "" }).url
|
|
425
|
-
);
|
|
408
|
+
|
|
426
409
|
console.log("this.scanImg", this.scanImg);
|
|
427
410
|
},
|
|
428
411
|
handleConsumeType(consumeType){
|
|
@@ -545,9 +528,6 @@
|
|
|
545
528
|
if (this.statusTimer) clearTimeout(this.statusTimer);
|
|
546
529
|
if (this.orderTimer) clearTimeout(this.orderTimer);
|
|
547
530
|
},
|
|
548
|
-
handleCloseOpenVip() {
|
|
549
|
-
this.$xdUniHelper.navigateBack()
|
|
550
|
-
},
|
|
551
531
|
|
|
552
532
|
onJfbUnload(options) {
|
|
553
533
|
console.log('event.onJfbUnload', options)
|
|
@@ -89,48 +89,6 @@ export default function (data={},gValue={},gColor={},oldData) {
|
|
|
89
89
|
maxlen: 100,
|
|
90
90
|
labelInline: true,
|
|
91
91
|
},
|
|
92
|
-
{
|
|
93
|
-
{
|
|
94
|
-
label: "开通PLUS背景图",
|
|
95
|
-
ele: 'xd-upload',
|
|
96
|
-
valueKey: "openVipBgImg",
|
|
97
|
-
groupKey: "style",
|
|
98
|
-
labelInline: true,
|
|
99
|
-
value: data.openVipBgImg || {},
|
|
100
|
-
defaultValue: data.openVipBgImg || null,
|
|
101
|
-
slot: true,
|
|
102
|
-
oneWidth: 355,
|
|
103
|
-
oneHeight: 355,
|
|
104
|
-
elinputClassName: 'input40',
|
|
105
|
-
tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议宽度为<span style="color:red">710px</span>,高度为<span style="color:red">710px</span>',
|
|
106
|
-
type: ['jpg', 'png', 'jpeg'],
|
|
107
|
-
styleType: 'one',
|
|
108
|
-
uploadType: 'aliyun',
|
|
109
|
-
size: 5,
|
|
110
|
-
action: 'action',
|
|
111
|
-
sort: true,
|
|
112
|
-
maxlen: 100,
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
label: "开通PLUS按钮背景图",
|
|
116
|
-
ele: 'xd-upload',
|
|
117
|
-
valueKey: "openVipBtnBgImg",
|
|
118
|
-
groupKey: "style",
|
|
119
|
-
labelInline: true,
|
|
120
|
-
value: data.openVipBtnBgImg || {},
|
|
121
|
-
defaultValue: data.openVipBtnBgImg || null,
|
|
122
|
-
slot: true,
|
|
123
|
-
oneWidth: 223,
|
|
124
|
-
oneHeight: 44,
|
|
125
|
-
elinputClassName: 'input40',
|
|
126
|
-
tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议宽度为<span style="color:red">446px</span>,宽度为<span style="color:red">88px</span>',
|
|
127
|
-
type: ['jpg', 'png', 'jpeg'],
|
|
128
|
-
styleType: 'one',
|
|
129
|
-
uploadType: 'aliyun',
|
|
130
|
-
size: 5,
|
|
131
|
-
action: 'action',
|
|
132
|
-
sort: true,
|
|
133
|
-
maxlen: 100,
|
|
134
|
-
},
|
|
92
|
+
{ele: 'group_end'},
|
|
135
93
|
].filter(i=>i)
|
|
136
94
|
}
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
:style="{
|
|
116
116
|
fontSize: fontSize + 'rpx',
|
|
117
117
|
}"
|
|
118
|
-
v-html="
|
|
118
|
+
v-html="contentComp"
|
|
119
119
|
@click="handleShowStatic"
|
|
120
120
|
>
|
|
121
121
|
</view>
|
|
@@ -282,6 +282,10 @@
|
|
|
282
282
|
},
|
|
283
283
|
},
|
|
284
284
|
computed:{
|
|
285
|
+
contentComp(){
|
|
286
|
+
if(this.show_tip_icon==='Y') return this.$xdUniHelper.filterHtml(this.content,'')
|
|
287
|
+
return this.content
|
|
288
|
+
},
|
|
285
289
|
marginUi() {
|
|
286
290
|
let str = `${this.checkValue(this.margin.top, 20)}rpx`;
|
|
287
291
|
str = `${str} ${this.checkValue(this.margin.right, 20)}rpx`;
|
|
@@ -369,7 +373,6 @@
|
|
|
369
373
|
if (this.fontSize === 36) this.titleFontSize = 44;
|
|
370
374
|
this.isTitle = getContainerPropsValue(container, 'content.isTitle', false);
|
|
371
375
|
|
|
372
|
-
console.log("this.staticTipIcon", this.staticTipIcon);
|
|
373
376
|
|
|
374
377
|
if(this.style === '2') {
|
|
375
378
|
this.num = getContainerPropsValue(container, 'content.num', 1);
|
|
@@ -384,19 +387,20 @@
|
|
|
384
387
|
this.is_hide_dailog = getContainerPropsValue(container, 'content.is_hide_dailog', 'N');
|
|
385
388
|
},
|
|
386
389
|
handleShowStatic(){
|
|
387
|
-
this
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
390
|
+
if(this.show_tip_icon === 'Y') {
|
|
391
|
+
this.$xdConfirm({
|
|
392
|
+
styles: this.styles,
|
|
393
|
+
isTitle: false,
|
|
394
|
+
content: this.content,
|
|
395
|
+
isHtml: true,
|
|
396
|
+
zIndex: 2000,
|
|
397
|
+
cancel: false,
|
|
398
|
+
width: '700rpx'
|
|
399
|
+
});
|
|
400
|
+
}
|
|
396
401
|
},
|
|
397
402
|
|
|
398
403
|
handlePop(){
|
|
399
|
-
console.log('this.time', this.time * 60 + '分钟');
|
|
400
404
|
storage.set(this.containerId, 1, this.time);
|
|
401
405
|
this.$xdConfirm({
|
|
402
406
|
styles: this.styles,
|
|
@@ -243,56 +243,6 @@ export default {
|
|
|
243
243
|
inline: false,
|
|
244
244
|
notice: '',
|
|
245
245
|
},
|
|
246
|
-
{
|
|
247
|
-
label: "用户信息背景颜色:",
|
|
248
|
-
ele: "xd-color",
|
|
249
|
-
valueKey: "userBgColor",
|
|
250
|
-
value: data.userBgColor || null,
|
|
251
|
-
groupKey: "style",
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
label: "用户信息背景图",
|
|
255
|
-
ele: 'xd-upload',
|
|
256
|
-
valueKey: "userBgImg",
|
|
257
|
-
groupKey: "content",
|
|
258
|
-
value: data.userBgImg || {},
|
|
259
|
-
defaultValue: data.userBgImg || null,
|
|
260
|
-
slot: true,
|
|
261
|
-
oneWidth: 355,
|
|
262
|
-
oneHeight: 84,
|
|
263
|
-
elinputClassName: 'input40',
|
|
264
|
-
tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议宽度为<span style="color:red">710px</span>,高度<span style="color:red">196px</span>',
|
|
265
|
-
type: ['jpg', 'png', 'jpeg'],
|
|
266
|
-
styleType: 'one',
|
|
267
|
-
uploadType: 'aliyun',
|
|
268
|
-
size: 5,
|
|
269
|
-
action: 'action',
|
|
270
|
-
sort: true,
|
|
271
|
-
maxlen: 100,
|
|
272
|
-
},
|
|
273
|
-
{
|
|
274
|
-
label: "激活码开通",
|
|
275
|
-
ele: 'xd-upload',
|
|
276
|
-
valueKey: "codeImg",
|
|
277
|
-
groupKey: "content",
|
|
278
|
-
value: data.codeImg || {},
|
|
279
|
-
defaultValue: data.codeImg || null,
|
|
280
|
-
slot: true,
|
|
281
|
-
oneWidth: 355,
|
|
282
|
-
oneHeight: 100,
|
|
283
|
-
elinputClassName: 'input40',
|
|
284
|
-
tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议宽度为<span style="color:red">710px</span>,高度<span style="color:red">200px</span>',
|
|
285
|
-
type: ['jpg', 'png', 'jpeg'],
|
|
286
|
-
styleType: 'one',
|
|
287
|
-
uploadType: 'aliyun',
|
|
288
|
-
size: 5,
|
|
289
|
-
action: 'action',
|
|
290
|
-
sort: true,
|
|
291
|
-
maxlen: 100,
|
|
292
|
-
rules: [
|
|
293
|
-
{ required: true, message: '请添加背景图', trigger: 'change' },
|
|
294
|
-
],
|
|
295
|
-
},
|
|
296
246
|
{
|
|
297
247
|
label: "PLUS会员banner背景图",
|
|
298
248
|
ele: 'xd-upload',
|
|
@@ -302,9 +252,9 @@ export default {
|
|
|
302
252
|
defaultValue: data.bannerBgImg || null,
|
|
303
253
|
slot: true,
|
|
304
254
|
oneWidth: 355,
|
|
305
|
-
oneHeight:
|
|
255
|
+
oneHeight: 92,
|
|
306
256
|
elinputClassName: 'input40',
|
|
307
|
-
tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议宽度为<span style="color:red">710px</span>,高度<span style="color:red">
|
|
257
|
+
tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议宽度为<span style="color:red">710px</span>,高度<span style="color:red">184px</span>',
|
|
308
258
|
type: ['jpg', 'png', 'jpeg'],
|
|
309
259
|
styleType: 'one',
|
|
310
260
|
uploadType: 'aliyun',
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<!-- #endif -->
|
|
16
16
|
<view class="jfb-base-open-vip__body" :style="[bodyStyle]">
|
|
17
17
|
<!-- 用户信息 -->
|
|
18
|
-
<view class="u_header"
|
|
18
|
+
<view class="u_header">
|
|
19
19
|
<view class="u_avatar">
|
|
20
20
|
<image :src="uInfo.head_url" mode="aspectFill"></image>
|
|
21
21
|
</view>
|
|
@@ -26,12 +26,11 @@
|
|
|
26
26
|
<view v-else class="vip_level">普通用户</view>
|
|
27
27
|
</view>
|
|
28
28
|
<view class="u_sub">
|
|
29
|
-
|
|
30
|
-
<view v-
|
|
31
|
-
<view v-else style="color:#666666;">您暂未开通PLUS会员</view>
|
|
29
|
+
<view v-if="isVip" style="color:#999999;" @click="handleToDetail">已省{{ $xdUniHelper.divisionFloatNumber(save_amount, 100) }}</view>
|
|
30
|
+
<view v-else style="color:#333333;">{{ uInfo.phone_number }}</view>
|
|
32
31
|
</view>
|
|
33
32
|
</view>
|
|
34
|
-
|
|
33
|
+
<view v-if="isVip" class="buy_btn" @click="showDrawer=true">立即续费</view>
|
|
35
34
|
<!-- <view v-else class="buy_btn" @click="showDrawer=true">立即开通</view> -->
|
|
36
35
|
</view>
|
|
37
36
|
|
|
@@ -40,28 +39,17 @@
|
|
|
40
39
|
<view class="vip_box" :style="{
|
|
41
40
|
backgroundImage: `url(${bannerBgImg})`,
|
|
42
41
|
}">
|
|
43
|
-
|
|
42
|
+
<view class="vip_box-left">
|
|
44
43
|
<view class="vip_box-title">PLUS会员</view>
|
|
45
44
|
<view v-if="isVip">有效期至:{{ vip_expire_time }}</view>
|
|
46
45
|
<view v-else>开通享受更多权益</view>
|
|
47
|
-
</view>
|
|
46
|
+
</view>
|
|
48
47
|
<!-- <view class="vip_logo">
|
|
49
48
|
<image :src="siteLogo" mode="aspectFill"></image>
|
|
50
49
|
</view> -->
|
|
51
50
|
</view>
|
|
52
51
|
</view>
|
|
53
|
-
|
|
54
|
-
@handlePrivacy="handlePrivacy"
|
|
55
|
-
@toVipDetail="toVipDetail"
|
|
56
|
-
:mainColor="mainColor"
|
|
57
|
-
></xd-vip-list>
|
|
58
|
-
<view>
|
|
59
|
-
<view v-if="showExchangeCode==='Y'" @click="toVipDetail(-1)" class="vip_code_info">
|
|
60
|
-
<view class="vip_code_box" :style="{
|
|
61
|
-
backgroundImage: `url(${codeImg})`,
|
|
62
|
-
}">
|
|
63
|
-
</view>
|
|
64
|
-
</view>
|
|
52
|
+
<view>
|
|
65
53
|
<image :src="specialImage" mode="widthFix" style="width: 100%;"></image>
|
|
66
54
|
<!--
|
|
67
55
|
<view class="vip_banner">
|
|
@@ -86,17 +74,22 @@
|
|
|
86
74
|
</view>
|
|
87
75
|
</view> -->
|
|
88
76
|
</view>
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
77
|
+
<view :style="{height: '342rpx'}"></view>
|
|
78
|
+
<view :style="prod_bottom">
|
|
79
|
+
<xd-vip-list v-if="!isVip" :list="showVipCardList"
|
|
80
|
+
@handlePrivacy="handlePrivacy"
|
|
81
|
+
@toVipDetail="toVipDetail"
|
|
82
|
+
></xd-vip-list>
|
|
83
|
+
</view>
|
|
92
84
|
|
|
93
|
-
|
|
85
|
+
<xd-down-drawer :show.sync="showDrawer" height="480rpx">
|
|
94
86
|
<view class="drawer_title">立即续费</view>
|
|
95
87
|
<xd-vip-list :list="showVipCardList"
|
|
96
88
|
@handlePrivacy="handlePrivacy"
|
|
97
89
|
@toVipDetail="toVipDetail"
|
|
98
90
|
></xd-vip-list>
|
|
99
|
-
</xd-down-drawer>
|
|
91
|
+
</xd-down-drawer>
|
|
92
|
+
|
|
100
93
|
</view>
|
|
101
94
|
</view>
|
|
102
95
|
</template>
|
|
@@ -106,7 +99,6 @@
|
|
|
106
99
|
import XdButton from "@/components/XdButton/XdButton";
|
|
107
100
|
import XdVipList from "./XdVipList.vue";
|
|
108
101
|
import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer.vue"
|
|
109
|
-
import XdDailog from "@/components/XdDailog/XdDailog";
|
|
110
102
|
import { jfbRootExec } from "@/utils/xd.event";
|
|
111
103
|
import JfbBaseOpenVipMixin from "./JfbBaseOpenVipMixin";
|
|
112
104
|
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
@@ -120,8 +112,7 @@
|
|
|
120
112
|
XdFontIcon,
|
|
121
113
|
XdButton,
|
|
122
114
|
XdVipList,
|
|
123
|
-
XdDownDrawer
|
|
124
|
-
XdDailog
|
|
115
|
+
XdDownDrawer
|
|
125
116
|
},
|
|
126
117
|
mixins: [
|
|
127
118
|
componentsMixins, extsMixins, JfbBaseOpenVipMixin
|
|
@@ -149,9 +140,6 @@
|
|
|
149
140
|
showExchangeCode: "",
|
|
150
141
|
exchangeCodePath: "",
|
|
151
142
|
moneyDetailPath: "",
|
|
152
|
-
userBgImg: '',
|
|
153
|
-
userBgColor: '',
|
|
154
|
-
codeImg: '',
|
|
155
143
|
}
|
|
156
144
|
},
|
|
157
145
|
computed: {
|
|
@@ -165,20 +153,11 @@
|
|
|
165
153
|
return this.uInfo.user_level === 'VIP';
|
|
166
154
|
},
|
|
167
155
|
showVipCardList(){
|
|
168
|
-
|
|
169
|
-
return [...this.vipCardList]
|
|
156
|
+
return this.showExchangeCode === 'Y' ? [this.exchangeCodeVip, ...this.vipCardList] : [...this.vipCardList]
|
|
170
157
|
},
|
|
171
158
|
prod_bottom() {
|
|
172
159
|
return this.fixedStyle({height: 0, zIndex: 111});
|
|
173
160
|
},
|
|
174
|
-
userStyle() {
|
|
175
|
-
return {
|
|
176
|
-
backgroundImage: `url(${this.userBgImg})`,
|
|
177
|
-
backgroundColor: this.userBgColor,
|
|
178
|
-
backgroundRepeat: 'no-repeat',
|
|
179
|
-
backgroundSize: '100% 100%',
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
161
|
},
|
|
183
162
|
watch: {
|
|
184
163
|
container(value, oldValue) {
|
|
@@ -207,10 +186,7 @@
|
|
|
207
186
|
this.specialImage = getServiceUrl(getContainerPropsValue(container, 'content.specialImage', {url: ""}).url);
|
|
208
187
|
this.exchangeCodePath = getContainerPropsValue(container, 'content.exchangeCodePath', {value: ""}).value;
|
|
209
188
|
this.showExchangeCode = getContainerPropsValue(container, 'content.showExchangeCode', '');
|
|
210
|
-
this.moneyDetailPath = getContainerPropsValue(container, 'content.moneyDetailPath', {
|
|
211
|
-
this.userBgImg = getServiceUrl(getContainerPropsValue(container, 'content.userBgImg', { url: "" }).url);
|
|
212
|
-
this.userBgColor = getContainerPropsValue(container, "content.userBgColor", "#FFFFFF");
|
|
213
|
-
this.codeImg = getServiceUrl(getContainerPropsValue(container, 'content.codeImg', {url: ""}).url);
|
|
189
|
+
this.moneyDetailPath = getContainerPropsValue(container, 'content.moneyDetailPath', {value: ""}).value;
|
|
214
190
|
},
|
|
215
191
|
p_getBaseUserInfo(){
|
|
216
192
|
jfbRootExec("getOpenBaseUserInfo", {
|
|
@@ -298,7 +274,7 @@
|
|
|
298
274
|
display: flex;
|
|
299
275
|
align-items: center;
|
|
300
276
|
padding: 24rpx 40rpx;
|
|
301
|
-
margin
|
|
277
|
+
margin: 20rpx;
|
|
302
278
|
|
|
303
279
|
.u_avatar{
|
|
304
280
|
width: 120rpx;
|
|
@@ -350,35 +326,13 @@
|
|
|
350
326
|
}
|
|
351
327
|
}
|
|
352
328
|
|
|
353
|
-
.vip_code_info{
|
|
354
|
-
margin-bottom: 20rpx;
|
|
355
|
-
background: #fff;
|
|
356
|
-
.vip_code_box{
|
|
357
|
-
width: 710rpx;
|
|
358
|
-
height: 200rpx;
|
|
359
|
-
margin: auto;
|
|
360
|
-
border-radius: 60rpx;
|
|
361
|
-
background-color: #E8A841;
|
|
362
|
-
// background: linear-gradient(90deg, #E8A841 0%, #FAD48E 100%);
|
|
363
|
-
background-size: 100% 100%;
|
|
364
|
-
background-repeat: no-repeat;
|
|
365
|
-
display: flex;
|
|
366
|
-
align-items: center;
|
|
367
|
-
justify-content: space-between;
|
|
368
|
-
padding: 40rpx;
|
|
369
|
-
box-sizing: border-box;
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
|
|
373
329
|
.vip_info{
|
|
374
330
|
// padding: 20rpx;
|
|
375
|
-
margin-bottom: 20rpx;
|
|
376
|
-
background: #fff;
|
|
377
331
|
.vip_box{
|
|
378
332
|
width: 710rpx;
|
|
379
|
-
height:
|
|
333
|
+
height: 184rpx;
|
|
380
334
|
margin: auto;
|
|
381
|
-
border-radius:
|
|
335
|
+
border-radius: 24rpx;
|
|
382
336
|
background-color: #E8A841;
|
|
383
337
|
// background: linear-gradient(90deg, #E8A841 0%, #FAD48E 100%);
|
|
384
338
|
background-size: 100% 100%;
|
|
@@ -425,7 +379,7 @@
|
|
|
425
379
|
width: 108rpx;
|
|
426
380
|
height: 108rpx;
|
|
427
381
|
border-radius: 108rpx;
|
|
428
|
-
|
|
382
|
+
background-color: #EBB963;
|
|
429
383
|
}
|
|
430
384
|
.banner_text{
|
|
431
385
|
color: #333333;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
module.exports = {
|
|
4
4
|
getOpenBaseUserInfo: {"user_name":"","user_code":"Uf4zx6EPfV","nickname":"未来~","real_name":"","head_url":"https:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/Q0j4TwGTfTJsajZzh53IB56crRSdmKvRbjT4V1Ha8v5uCOkASbWS0GibgLeic8OKBzAwUyBa3vZGhjwmd6RfpG9g\/132","province_code":"","city_code":"","province_name":"","city_name":"","sex":"","sex_name":"未知","birthday_date":"","phone_number":"13611111111","show_user_name":"未来~","user_level":"","vip_expire_time":1745026677,"request_id":"250e5709e6c95066"},
|
|
5
|
-
getOpenVipList: {"total_size":3,"next_page_token":"","list":[{"vip_card_id":3,"product_id":60038520,"product_name":"体验卡","sale_price":200,"vip_card_icon":""},{"vip_card_id":2,"product_id":60038519,"product_name":"月卡","sale_price":2678,"vip_card_icon":""},{"vip_card_id":1,"product_id":60038515,"product_name":"测1","sale_price":
|
|
5
|
+
getOpenVipList: {"total_size":3,"next_page_token":"","list":[{"vip_card_id":3,"product_id":60038520,"product_name":"体验卡","sale_price":200,"vip_card_icon":""},{"vip_card_id":2,"product_id":60038519,"product_name":"月卡","sale_price":2678,"vip_card_icon":""},{"vip_card_id":1,"product_id":60038515,"product_name":"测1","sale_price":20085,"vip_card_icon":""}],"request_id":"6b4aef5e06411d8a"},
|
|
6
6
|
getVipMoneySaving: { "save_amount": 100 , "request_id": "6b4aef5e06411d8a" }
|
|
7
7
|
}
|
|
@@ -5,60 +5,29 @@
|
|
|
5
5
|
v-for="item in uiList" :key="item.vip_card_id"
|
|
6
6
|
@click="handleChoseVip(item.vip_card_id)"
|
|
7
7
|
>
|
|
8
|
-
<view>
|
|
9
|
-
|
|
10
|
-
<view class="vip_price"><text>¥</text>{{ $xdUniHelper.divisionFloatNumber(item.sale_price, 100) }}</view>
|
|
11
|
-
</view>
|
|
8
|
+
<view class="vip_name">{{ item.product_name}}</view>
|
|
9
|
+
<view class="vip_price">¥{{ $xdUniHelper.divisionFloatNumber(item.sale_price, 100) }}</view>
|
|
12
10
|
</view>
|
|
13
11
|
</view>
|
|
14
12
|
<view class="vip_pay">
|
|
15
|
-
<view class="pay_btn" @click="toVipDetail
|
|
13
|
+
<view class="pay_btn" @click="toVipDetail">
|
|
16
14
|
<template v-if="vip_card_id===-1">0元开通</template>
|
|
17
15
|
<template v-else>
|
|
18
|
-
¥{{ $xdUniHelper.divisionFloatNumber(curVipCard.sale_price, 100) }}
|
|
16
|
+
立即支付 ¥{{ $xdUniHelper.divisionFloatNumber(curVipCard.sale_price, 100) }}
|
|
19
17
|
</template>
|
|
20
18
|
</view>
|
|
21
|
-
<view class="vip_tip">
|
|
22
|
-
<checkbox-group @change="checkboxChange">
|
|
23
|
-
<label>
|
|
24
|
-
<view>
|
|
25
|
-
<checkbox
|
|
26
|
-
:color="mainColor"
|
|
27
|
-
style="transform:scale(0.6)"
|
|
28
|
-
:value="1"/>
|
|
29
|
-
</view>
|
|
30
|
-
</label>
|
|
31
|
-
</checkbox-group>
|
|
32
|
-
勾选同意<text @click.stop="handlePrivacy('privacy_service')">《共享PLUS会员用户协议》</text>
|
|
33
|
-
</view>
|
|
19
|
+
<view class="vip_tip">开通视为同意<text @click.stop="handlePrivacy('privacy_service')">《共享PLUS会员用户协议》</text></view>
|
|
34
20
|
</view>
|
|
35
|
-
<XdDailog
|
|
36
|
-
class="confirm-dialog"
|
|
37
|
-
title="开通确认"
|
|
38
|
-
:showClose="false"
|
|
39
|
-
:maskAutoClose="true"
|
|
40
|
-
:show.sync="showConfirm">
|
|
41
|
-
<view style="color:#999999;font-size: 28rpx;">
|
|
42
|
-
我已阅读并同意<text @click.stop="handlePrivacy('privacy_service')">《PLUS会员服务协议》</text>
|
|
43
|
-
</view>
|
|
44
|
-
<template slot="btn">
|
|
45
|
-
<view class="confirm-dialog__btn" @click="showConfirm=false">
|
|
46
|
-
<XdButton @click="toVipDetail(1)" type="primary" size="small" width="500rpx">继续开通</XdButton>
|
|
47
|
-
</view>
|
|
48
|
-
</template>
|
|
49
|
-
</XdDailog>
|
|
50
21
|
</view>
|
|
51
22
|
</template>
|
|
52
23
|
|
|
53
24
|
<script>
|
|
54
25
|
import XdButton from "@/components/XdButton/XdButton.vue"
|
|
55
26
|
import XdUnit from "@/components/XdUnit/XdUnit.vue"
|
|
56
|
-
import XdDailog from "@/components/XdDailog/XdDailog.vue"
|
|
57
27
|
export default {
|
|
58
28
|
components: {
|
|
59
29
|
XdButton,
|
|
60
|
-
XdUnit
|
|
61
|
-
XdDailog
|
|
30
|
+
XdUnit
|
|
62
31
|
},
|
|
63
32
|
props: {
|
|
64
33
|
list: {
|
|
@@ -66,10 +35,6 @@
|
|
|
66
35
|
default(){
|
|
67
36
|
return []
|
|
68
37
|
}
|
|
69
|
-
},
|
|
70
|
-
mainColor: {
|
|
71
|
-
type: String,
|
|
72
|
-
default: ''
|
|
73
38
|
}
|
|
74
39
|
},
|
|
75
40
|
watch: {
|
|
@@ -86,9 +51,7 @@
|
|
|
86
51
|
data(){
|
|
87
52
|
return {
|
|
88
53
|
uiList: [],
|
|
89
|
-
vip_card_id: ''
|
|
90
|
-
isAgree: [],
|
|
91
|
-
showConfirm: false
|
|
54
|
+
vip_card_id: ''
|
|
92
55
|
}
|
|
93
56
|
},
|
|
94
57
|
methods: {
|
|
@@ -98,17 +61,7 @@
|
|
|
98
61
|
handleChoseVip(vip_card_id){
|
|
99
62
|
this.vip_card_id = vip_card_id
|
|
100
63
|
},
|
|
101
|
-
|
|
102
|
-
this.isAgree = e.detail.value;
|
|
103
|
-
},
|
|
104
|
-
toVipDetail(isAgree) {
|
|
105
|
-
if (isAgree) {
|
|
106
|
-
this.isAgree= [isAgree]
|
|
107
|
-
}
|
|
108
|
-
if (this.isAgree.length === 0) {
|
|
109
|
-
this.showConfirm = true
|
|
110
|
-
return
|
|
111
|
-
}
|
|
64
|
+
toVipDetail(){
|
|
112
65
|
if(this.vip_card_id){
|
|
113
66
|
this.$emit('toVipDetail', this.vip_card_id)
|
|
114
67
|
}
|
|
@@ -124,20 +77,18 @@
|
|
|
124
77
|
width: 100%;
|
|
125
78
|
overflow: auto;
|
|
126
79
|
white-space: nowrap;
|
|
127
|
-
padding: 32rpx
|
|
80
|
+
padding: 32rpx 16rpx;
|
|
128
81
|
.vip_item{
|
|
129
|
-
display: inline-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
height: 266rpx;
|
|
134
|
-
border-radius: 32rpx;
|
|
82
|
+
display: inline-block;
|
|
83
|
+
width: 160rpx;
|
|
84
|
+
height: 112rpx;
|
|
85
|
+
border-radius: 24rpx;
|
|
135
86
|
text-align: center;
|
|
136
87
|
color: #999999;
|
|
137
88
|
border: 4rpx solid #EEEEEE;
|
|
138
89
|
background-color: #EEEEEE;
|
|
139
90
|
box-sizing: border-box;
|
|
140
|
-
margin
|
|
91
|
+
margin: 0 16rpx;
|
|
141
92
|
padding: 20rpx 0;
|
|
142
93
|
line-height: 1;
|
|
143
94
|
font-weight: 500;
|
|
@@ -147,22 +98,16 @@
|
|
|
147
98
|
color: #AB6900;
|
|
148
99
|
}
|
|
149
100
|
.vip_name{
|
|
150
|
-
font-size:
|
|
151
|
-
margin-bottom:
|
|
101
|
+
font-size: 24rpx;
|
|
102
|
+
margin-bottom: 12rpx;
|
|
152
103
|
}
|
|
153
104
|
.vip_price{
|
|
154
|
-
font-size:
|
|
155
|
-
&>text{
|
|
156
|
-
font-size: 24rpx;
|
|
157
|
-
}
|
|
105
|
+
font-size: 36rpx;
|
|
158
106
|
}
|
|
159
107
|
}
|
|
160
|
-
.vip_item:first-child{
|
|
161
|
-
margin-left: 0;
|
|
162
|
-
}
|
|
163
108
|
}
|
|
164
109
|
.vip_pay{
|
|
165
|
-
padding:
|
|
110
|
+
padding: 24rpx 0 50rpx;
|
|
166
111
|
.pay_btn{
|
|
167
112
|
width: 600rpx;
|
|
168
113
|
display: flex;
|
|
@@ -173,24 +118,13 @@
|
|
|
173
118
|
color: #FFFFFF;
|
|
174
119
|
margin: 0 auto;
|
|
175
120
|
border-radius: 80rpx;
|
|
176
|
-
font-size: 32rpx;
|
|
177
121
|
}
|
|
178
122
|
}
|
|
179
123
|
.vip_tip{
|
|
124
|
+
text-align: center;
|
|
180
125
|
font-size: 22rpx;
|
|
181
126
|
color: #999999;
|
|
182
127
|
margin-top: 24rpx;
|
|
183
|
-
display: flex;
|
|
184
|
-
align-items: center;
|
|
185
|
-
justify-content: center;
|
|
186
128
|
}
|
|
187
|
-
.confirm-dialog ::v-deep .xd-dailog__body-title{
|
|
188
|
-
font-size: 32rpx;
|
|
189
|
-
color: #333;
|
|
190
|
-
}
|
|
191
|
-
.confirm-dialog__btn{
|
|
192
|
-
border-top: 2rpx dashed #E5E5E5;
|
|
193
|
-
padding-top: 28rpx;
|
|
194
|
-
}
|
|
195
129
|
}
|
|
196
130
|
</style>
|