jufubao-base 1.0.306 → 1.0.307-beta1
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 +15 -4
- package/src/components/JfbBaseCodeOpenVip/Attr.js +299 -229
- package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +695 -182
- package/src/components/JfbBaseCodeOpenVip/Mock.js +3 -1
- package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCode.vue +24 -4
- package/src/components/JfbBaseConsumpCode/cusAttr/advanced.js +1 -1
- package/src/components/JfbBaseConsumpCode/cusAttr/style.js +43 -1
- package/src/components/JfbBaseOpenVip/Attr.js +52 -2
- package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +70 -24
- package/src/components/JfbBaseOpenVip/Mock.js +1 -1
- package/src/components/JfbBaseOpenVip/XdVipList.vue +85 -19
- package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetail.vue +57 -41
|
@@ -8,6 +8,8 @@ module.exports = {
|
|
|
8
8
|
|
|
9
9
|
removeCodeFilmAddress:{},
|
|
10
10
|
|
|
11
|
-
addCodeFilmcart:{},
|
|
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
|
+
|
|
12
14
|
|
|
13
15
|
}
|
|
@@ -197,6 +197,13 @@
|
|
|
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>
|
|
200
207
|
</view>
|
|
201
208
|
</template>
|
|
202
209
|
|
|
@@ -217,7 +224,7 @@
|
|
|
217
224
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
218
225
|
import extsMixins from "@/mixins/extsMixins";
|
|
219
226
|
import { mapState } from 'vuex';
|
|
220
|
-
|
|
227
|
+
import CusVipOpenDialog from "@/components/CusVipOpenDialog/CusVipOpenDialog"
|
|
221
228
|
export default {
|
|
222
229
|
//#ifdef MP-WEIXIN
|
|
223
230
|
options: { styleIsolation: 'shared' },
|
|
@@ -229,7 +236,8 @@
|
|
|
229
236
|
XdButton,
|
|
230
237
|
XdDownDrawer,
|
|
231
238
|
ShopList,
|
|
232
|
-
XdDeductSort
|
|
239
|
+
XdDeductSort,
|
|
240
|
+
CusVipOpenDialog
|
|
233
241
|
},
|
|
234
242
|
mixins: [
|
|
235
243
|
componentsMixins, extsMixins, JfbBaseConsumpCodeMixin, QPMixin, JHDMixin, shopListMixin
|
|
@@ -286,7 +294,8 @@
|
|
|
286
294
|
QPIconType: "",
|
|
287
295
|
QPIcon: "",
|
|
288
296
|
QPImg: "",
|
|
289
|
-
|
|
297
|
+
openVipBtnBgImg: "",
|
|
298
|
+
openVipBgImg: "",
|
|
290
299
|
}
|
|
291
300
|
},
|
|
292
301
|
watch: {
|
|
@@ -321,6 +330,9 @@
|
|
|
321
330
|
created() {
|
|
322
331
|
this.isPreview = this.$configProject['isPreview']
|
|
323
332
|
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
|
+
}
|
|
324
336
|
this.init(this.container);
|
|
325
337
|
// #ifdef H5
|
|
326
338
|
if (!this.$configProject.isPreview && (isWechat() || isWechatTools())) {
|
|
@@ -405,7 +417,12 @@
|
|
|
405
417
|
this.QPIconType = gCPVal(container, 'QPIconType', "icon");
|
|
406
418
|
this.QPIcon = gCPVal(container, 'QPIcon', 'iconerweima');
|
|
407
419
|
this.QPImg = getServiceUrl(gCPVal(container, 'QPImg', {url: ""}).url);
|
|
408
|
-
|
|
420
|
+
this.openVipBgImg = getServiceUrl(
|
|
421
|
+
getContainerPropsValue(container, "content.openVipBgImg", { url: "" }).url,
|
|
422
|
+
);
|
|
423
|
+
this.openVipBtnBgImg = getServiceUrl(
|
|
424
|
+
getContainerPropsValue(container, "content.openVipBtnBgImg", { url: "" }).url
|
|
425
|
+
);
|
|
409
426
|
console.log("this.scanImg", this.scanImg);
|
|
410
427
|
},
|
|
411
428
|
handleConsumeType(consumeType){
|
|
@@ -528,6 +545,9 @@
|
|
|
528
545
|
if (this.statusTimer) clearTimeout(this.statusTimer);
|
|
529
546
|
if (this.orderTimer) clearTimeout(this.orderTimer);
|
|
530
547
|
},
|
|
548
|
+
handleCloseOpenVip() {
|
|
549
|
+
this.$xdUniHelper.navigateBack()
|
|
550
|
+
},
|
|
531
551
|
|
|
532
552
|
onJfbUnload(options) {
|
|
533
553
|
console.log('event.onJfbUnload', options)
|
|
@@ -89,6 +89,48 @@ export default function (data={},gValue={},gColor={},oldData) {
|
|
|
89
89
|
maxlen: 100,
|
|
90
90
|
labelInline: true,
|
|
91
91
|
},
|
|
92
|
-
{ele: 'group_end'},
|
|
92
|
+
{ ele: 'group_end' },
|
|
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
|
+
},
|
|
93
135
|
].filter(i=>i)
|
|
94
136
|
}
|
|
@@ -243,6 +243,56 @@ 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
|
+
},
|
|
246
296
|
{
|
|
247
297
|
label: "PLUS会员banner背景图",
|
|
248
298
|
ele: 'xd-upload',
|
|
@@ -252,9 +302,9 @@ export default {
|
|
|
252
302
|
defaultValue: data.bannerBgImg || null,
|
|
253
303
|
slot: true,
|
|
254
304
|
oneWidth: 355,
|
|
255
|
-
oneHeight:
|
|
305
|
+
oneHeight: 170,
|
|
256
306
|
elinputClassName: 'input40',
|
|
257
|
-
tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议宽度为<span style="color:red">710px</span>,高度<span style="color:red">
|
|
307
|
+
tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议宽度为<span style="color:red">710px</span>,高度<span style="color:red">340px</span>',
|
|
258
308
|
type: ['jpg', 'png', 'jpeg'],
|
|
259
309
|
styleType: 'one',
|
|
260
310
|
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" :style="[userStyle]">
|
|
19
19
|
<view class="u_avatar">
|
|
20
20
|
<image :src="uInfo.head_url" mode="aspectFill"></image>
|
|
21
21
|
</view>
|
|
@@ -26,11 +26,12 @@
|
|
|
26
26
|
<view v-else class="vip_level">普通用户</view>
|
|
27
27
|
</view>
|
|
28
28
|
<view class="u_sub">
|
|
29
|
-
<view v-if="isVip" style="color:#999999;" @click="handleToDetail">已省{{ $xdUniHelper.divisionFloatNumber(save_amount, 100) }}</view>
|
|
30
|
-
<view v-
|
|
29
|
+
<!-- <view v-if="isVip" style="color:#999999;" @click="handleToDetail">已省{{ $xdUniHelper.divisionFloatNumber(save_amount, 100) }}</view> -->
|
|
30
|
+
<view v-if="isVip" style="color:#666666;">到期时间:{{ vip_expire_time }}</view>
|
|
31
|
+
<view v-else style="color:#666666;">您暂未开通PLUS会员</view>
|
|
31
32
|
</view>
|
|
32
33
|
</view>
|
|
33
|
-
<view v-if="isVip" class="buy_btn" @click="showDrawer=true">立即续费</view>
|
|
34
|
+
<!-- <view v-if="isVip" class="buy_btn" @click="showDrawer=true">立即续费</view> -->
|
|
34
35
|
<!-- <view v-else class="buy_btn" @click="showDrawer=true">立即开通</view> -->
|
|
35
36
|
</view>
|
|
36
37
|
|
|
@@ -39,17 +40,28 @@
|
|
|
39
40
|
<view class="vip_box" :style="{
|
|
40
41
|
backgroundImage: `url(${bannerBgImg})`,
|
|
41
42
|
}">
|
|
42
|
-
<view class="vip_box-left">
|
|
43
|
+
<!-- <view class="vip_box-left">
|
|
43
44
|
<view class="vip_box-title">PLUS会员</view>
|
|
44
45
|
<view v-if="isVip">有效期至:{{ vip_expire_time }}</view>
|
|
45
46
|
<view v-else>开通享受更多权益</view>
|
|
46
|
-
</view>
|
|
47
|
+
</view> -->
|
|
47
48
|
<!-- <view class="vip_logo">
|
|
48
49
|
<image :src="siteLogo" mode="aspectFill"></image>
|
|
49
50
|
</view> -->
|
|
50
51
|
</view>
|
|
51
52
|
</view>
|
|
52
|
-
|
|
53
|
+
<xd-vip-list :list="showVipCardList"
|
|
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>
|
|
53
65
|
<image :src="specialImage" mode="widthFix" style="width: 100%;"></image>
|
|
54
66
|
<!--
|
|
55
67
|
<view class="vip_banner">
|
|
@@ -74,22 +86,17 @@
|
|
|
74
86
|
</view>
|
|
75
87
|
</view> -->
|
|
76
88
|
</view>
|
|
77
|
-
<view :style="{height: '342rpx'}"></view>
|
|
78
|
-
<view :style="prod_bottom">
|
|
79
|
-
|
|
80
|
-
@handlePrivacy="handlePrivacy"
|
|
81
|
-
@toVipDetail="toVipDetail"
|
|
82
|
-
></xd-vip-list>
|
|
83
|
-
</view>
|
|
89
|
+
<!-- <view :style="{height: '342rpx'}"></view> -->
|
|
90
|
+
<!-- <view :style="prod_bottom"> -->
|
|
91
|
+
<!-- </view> -->
|
|
84
92
|
|
|
85
|
-
<xd-down-drawer :show.sync="showDrawer" height="480rpx">
|
|
93
|
+
<!-- <xd-down-drawer :show.sync="showDrawer" height="480rpx">
|
|
86
94
|
<view class="drawer_title">立即续费</view>
|
|
87
95
|
<xd-vip-list :list="showVipCardList"
|
|
88
96
|
@handlePrivacy="handlePrivacy"
|
|
89
97
|
@toVipDetail="toVipDetail"
|
|
90
98
|
></xd-vip-list>
|
|
91
|
-
</xd-down-drawer>
|
|
92
|
-
|
|
99
|
+
</xd-down-drawer> -->
|
|
93
100
|
</view>
|
|
94
101
|
</view>
|
|
95
102
|
</template>
|
|
@@ -99,6 +106,7 @@
|
|
|
99
106
|
import XdButton from "@/components/XdButton/XdButton";
|
|
100
107
|
import XdVipList from "./XdVipList.vue";
|
|
101
108
|
import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer.vue"
|
|
109
|
+
import XdDailog from "@/components/XdDailog/XdDailog";
|
|
102
110
|
import { jfbRootExec } from "@/utils/xd.event";
|
|
103
111
|
import JfbBaseOpenVipMixin from "./JfbBaseOpenVipMixin";
|
|
104
112
|
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
@@ -112,7 +120,8 @@
|
|
|
112
120
|
XdFontIcon,
|
|
113
121
|
XdButton,
|
|
114
122
|
XdVipList,
|
|
115
|
-
XdDownDrawer
|
|
123
|
+
XdDownDrawer,
|
|
124
|
+
XdDailog
|
|
116
125
|
},
|
|
117
126
|
mixins: [
|
|
118
127
|
componentsMixins, extsMixins, JfbBaseOpenVipMixin
|
|
@@ -140,6 +149,9 @@
|
|
|
140
149
|
showExchangeCode: "",
|
|
141
150
|
exchangeCodePath: "",
|
|
142
151
|
moneyDetailPath: "",
|
|
152
|
+
userBgImg: '',
|
|
153
|
+
userBgColor: '',
|
|
154
|
+
codeImg: '',
|
|
143
155
|
}
|
|
144
156
|
},
|
|
145
157
|
computed: {
|
|
@@ -153,11 +165,20 @@
|
|
|
153
165
|
return this.uInfo.user_level === 'VIP';
|
|
154
166
|
},
|
|
155
167
|
showVipCardList(){
|
|
156
|
-
return this.showExchangeCode === 'Y' ? [this.exchangeCodeVip, ...this.vipCardList] : [...this.vipCardList]
|
|
168
|
+
// return this.showExchangeCode === 'Y' ? [this.exchangeCodeVip, ...this.vipCardList] : [...this.vipCardList]
|
|
169
|
+
return [...this.vipCardList]
|
|
157
170
|
},
|
|
158
171
|
prod_bottom() {
|
|
159
172
|
return this.fixedStyle({height: 0, zIndex: 111});
|
|
160
173
|
},
|
|
174
|
+
userStyle() {
|
|
175
|
+
return {
|
|
176
|
+
backgroundImage: `url(${this.userBgImg})`,
|
|
177
|
+
backgroundColor: this.userBgColor,
|
|
178
|
+
backgroundRepeat: 'no-repeat',
|
|
179
|
+
backgroundSize: '100% 100%',
|
|
180
|
+
}
|
|
181
|
+
}
|
|
161
182
|
},
|
|
162
183
|
watch: {
|
|
163
184
|
container(value, oldValue) {
|
|
@@ -186,7 +207,10 @@
|
|
|
186
207
|
this.specialImage = getServiceUrl(getContainerPropsValue(container, 'content.specialImage', {url: ""}).url);
|
|
187
208
|
this.exchangeCodePath = getContainerPropsValue(container, 'content.exchangeCodePath', {value: ""}).value;
|
|
188
209
|
this.showExchangeCode = getContainerPropsValue(container, 'content.showExchangeCode', '');
|
|
189
|
-
this.moneyDetailPath = getContainerPropsValue(container, 'content.moneyDetailPath', {value: ""}).value;
|
|
210
|
+
this.moneyDetailPath = getContainerPropsValue(container, 'content.moneyDetailPath', { value: "" }).value;
|
|
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);
|
|
190
214
|
},
|
|
191
215
|
p_getBaseUserInfo(){
|
|
192
216
|
jfbRootExec("getOpenBaseUserInfo", {
|
|
@@ -274,7 +298,7 @@
|
|
|
274
298
|
display: flex;
|
|
275
299
|
align-items: center;
|
|
276
300
|
padding: 24rpx 40rpx;
|
|
277
|
-
margin: 20rpx;
|
|
301
|
+
margin-bottom: 20rpx;
|
|
278
302
|
|
|
279
303
|
.u_avatar{
|
|
280
304
|
width: 120rpx;
|
|
@@ -326,13 +350,35 @@
|
|
|
326
350
|
}
|
|
327
351
|
}
|
|
328
352
|
|
|
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
|
+
|
|
329
373
|
.vip_info{
|
|
330
374
|
// padding: 20rpx;
|
|
375
|
+
margin-bottom: 20rpx;
|
|
376
|
+
background: #fff;
|
|
331
377
|
.vip_box{
|
|
332
378
|
width: 710rpx;
|
|
333
|
-
height:
|
|
379
|
+
height: 340rpx;
|
|
334
380
|
margin: auto;
|
|
335
|
-
border-radius:
|
|
381
|
+
border-radius: 32rpx;
|
|
336
382
|
background-color: #E8A841;
|
|
337
383
|
// background: linear-gradient(90deg, #E8A841 0%, #FAD48E 100%);
|
|
338
384
|
background-size: 100% 100%;
|
|
@@ -379,7 +425,7 @@
|
|
|
379
425
|
width: 108rpx;
|
|
380
426
|
height: 108rpx;
|
|
381
427
|
border-radius: 108rpx;
|
|
382
|
-
background-color: #EBB963;
|
|
428
|
+
// background-color: #EBB963;
|
|
383
429
|
}
|
|
384
430
|
.banner_text{
|
|
385
431
|
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":9999,"vip_card_icon":""}],"request_id":"6b4aef5e06411d8a"},
|
|
6
6
|
getVipMoneySaving: { "save_amount": 100 , "request_id": "6b4aef5e06411d8a" }
|
|
7
7
|
}
|
|
@@ -5,29 +5,60 @@
|
|
|
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
|
-
|
|
8
|
+
<view>
|
|
9
|
+
<view class="vip_name">{{ item.product_name}}</view>
|
|
10
|
+
<view class="vip_price"><text>¥</text>{{ $xdUniHelper.divisionFloatNumber(item.sale_price, 100) }}</view>
|
|
11
|
+
</view>
|
|
10
12
|
</view>
|
|
11
13
|
</view>
|
|
12
14
|
<view class="vip_pay">
|
|
13
|
-
<view class="pay_btn" @click="toVipDetail">
|
|
15
|
+
<view class="pay_btn" @click="toVipDetail()">
|
|
14
16
|
<template v-if="vip_card_id===-1">0元开通</template>
|
|
15
17
|
<template v-else>
|
|
16
|
-
|
|
18
|
+
¥{{ $xdUniHelper.divisionFloatNumber(curVipCard.sale_price, 100) }} 确认协议并开通
|
|
17
19
|
</template>
|
|
18
20
|
</view>
|
|
19
|
-
<view class="vip_tip"
|
|
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>
|
|
20
34
|
</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>
|
|
21
50
|
</view>
|
|
22
51
|
</template>
|
|
23
52
|
|
|
24
53
|
<script>
|
|
25
54
|
import XdButton from "@/components/XdButton/XdButton.vue"
|
|
26
55
|
import XdUnit from "@/components/XdUnit/XdUnit.vue"
|
|
56
|
+
import XdDailog from "@/components/XdDailog/XdDailog.vue"
|
|
27
57
|
export default {
|
|
28
58
|
components: {
|
|
29
59
|
XdButton,
|
|
30
|
-
XdUnit
|
|
60
|
+
XdUnit,
|
|
61
|
+
XdDailog
|
|
31
62
|
},
|
|
32
63
|
props: {
|
|
33
64
|
list: {
|
|
@@ -35,6 +66,10 @@
|
|
|
35
66
|
default(){
|
|
36
67
|
return []
|
|
37
68
|
}
|
|
69
|
+
},
|
|
70
|
+
mainColor: {
|
|
71
|
+
type: String,
|
|
72
|
+
default: ''
|
|
38
73
|
}
|
|
39
74
|
},
|
|
40
75
|
watch: {
|
|
@@ -51,7 +86,9 @@
|
|
|
51
86
|
data(){
|
|
52
87
|
return {
|
|
53
88
|
uiList: [],
|
|
54
|
-
vip_card_id: ''
|
|
89
|
+
vip_card_id: '',
|
|
90
|
+
isAgree: [],
|
|
91
|
+
showConfirm: false
|
|
55
92
|
}
|
|
56
93
|
},
|
|
57
94
|
methods: {
|
|
@@ -61,7 +98,17 @@
|
|
|
61
98
|
handleChoseVip(vip_card_id){
|
|
62
99
|
this.vip_card_id = vip_card_id
|
|
63
100
|
},
|
|
64
|
-
|
|
101
|
+
checkboxChange(e) {
|
|
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
|
+
}
|
|
65
112
|
if(this.vip_card_id){
|
|
66
113
|
this.$emit('toVipDetail', this.vip_card_id)
|
|
67
114
|
}
|
|
@@ -77,18 +124,20 @@
|
|
|
77
124
|
width: 100%;
|
|
78
125
|
overflow: auto;
|
|
79
126
|
white-space: nowrap;
|
|
80
|
-
padding: 32rpx
|
|
127
|
+
padding: 32rpx 24rpx;
|
|
81
128
|
.vip_item{
|
|
82
|
-
display: inline-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
129
|
+
display: inline-flex; /* 关键:inline-level 的 flex 容器 */
|
|
130
|
+
align-items: center; /* 子元素垂直居中 */
|
|
131
|
+
justify-content: center; /* 可选:子元素水平居中 */
|
|
132
|
+
width: 220rpx;
|
|
133
|
+
height: 266rpx;
|
|
134
|
+
border-radius: 32rpx;
|
|
86
135
|
text-align: center;
|
|
87
136
|
color: #999999;
|
|
88
137
|
border: 4rpx solid #EEEEEE;
|
|
89
138
|
background-color: #EEEEEE;
|
|
90
139
|
box-sizing: border-box;
|
|
91
|
-
margin:
|
|
140
|
+
margin-left: 20rpx;
|
|
92
141
|
padding: 20rpx 0;
|
|
93
142
|
line-height: 1;
|
|
94
143
|
font-weight: 500;
|
|
@@ -98,16 +147,22 @@
|
|
|
98
147
|
color: #AB6900;
|
|
99
148
|
}
|
|
100
149
|
.vip_name{
|
|
101
|
-
font-size:
|
|
102
|
-
margin-bottom:
|
|
150
|
+
font-size: 32rpx;
|
|
151
|
+
margin-bottom: 32rpx;
|
|
103
152
|
}
|
|
104
153
|
.vip_price{
|
|
105
|
-
font-size:
|
|
154
|
+
font-size: 60rpx;
|
|
155
|
+
&>text{
|
|
156
|
+
font-size: 24rpx;
|
|
157
|
+
}
|
|
106
158
|
}
|
|
107
159
|
}
|
|
160
|
+
.vip_item:first-child{
|
|
161
|
+
margin-left: 0;
|
|
162
|
+
}
|
|
108
163
|
}
|
|
109
164
|
.vip_pay{
|
|
110
|
-
padding:
|
|
165
|
+
padding: 0 0 24rpx;
|
|
111
166
|
.pay_btn{
|
|
112
167
|
width: 600rpx;
|
|
113
168
|
display: flex;
|
|
@@ -118,13 +173,24 @@
|
|
|
118
173
|
color: #FFFFFF;
|
|
119
174
|
margin: 0 auto;
|
|
120
175
|
border-radius: 80rpx;
|
|
176
|
+
font-size: 32rpx;
|
|
121
177
|
}
|
|
122
178
|
}
|
|
123
179
|
.vip_tip{
|
|
124
|
-
text-align: center;
|
|
125
180
|
font-size: 22rpx;
|
|
126
181
|
color: #999999;
|
|
127
182
|
margin-top: 24rpx;
|
|
183
|
+
display: flex;
|
|
184
|
+
align-items: center;
|
|
185
|
+
justify-content: center;
|
|
128
186
|
}
|
|
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
|
+
}
|
|
129
195
|
}
|
|
130
196
|
</style>
|