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.
@@ -2,142 +2,36 @@
2
2
  <view
3
3
  class="jfb-base-code-open-vip"
4
4
  @click="handleEditxSelect"
5
- :class="{ editx: isEditx && active }"
5
+ :class="{ editx : isEditx && active }"
6
6
  >
7
7
  <!--#ifdef H5-->
8
8
  <view
9
9
  class="jfb-base-code-open-vip__edit"
10
- :class="{ editx: isEditx && active }"
10
+ :class="{ editx : isEditx && active }"
11
11
  v-if="isEditx && active"
12
12
  >
13
- <view class="jfb-base-code-open-vip__edit-icon" @click="delEdit"
14
- >删除</view
15
- >
13
+ <view class="jfb-base-code-open-vip__edit-icon" @click="delEdit">删除</view>
16
14
  </view>
17
15
  <!-- #endif -->
18
16
  <view class="jfb-base-code-open-vip__body" :style="[bodyStyle]">
19
- <!-- 用户信息 -->
20
- <view class="u_header" :style="[userStyle]">
21
- <view class="u_avatar">
22
- <image :src="uInfo.head_url" mode="aspectFill"></image>
23
- </view>
24
- <view class="u_info">
25
- <view class="u_info-top">
26
- <view class="vip_name">{{ uInfo.show_user_name }}</view>
27
- <view v-if="isVip" class="vip_level plus">PLUS会员</view>
28
- <view v-else class="vip_level">普通用户</view>
29
- </view>
30
- <view class="u_sub">
31
- <!-- <view v-if="isVip" style="color:#999999;" @click="handleToDetail">已省{{ $xdUniHelper.divisionFloatNumber(save_amount, 100) }}</view> -->
32
- <view v-if="isVip" style="color: #666666"
33
- >到期时间:{{ vip_expire_time }}</view
34
- >
35
- <view v-else style="color: #666666">您暂未开通PLUS会员</view>
36
- </view>
37
- </view>
38
- </view>
39
- <!-- plus会员权益 -->
40
- <view class="vip_info">
41
- <view
42
- class="vip_box"
43
- :style="{
44
- backgroundImage: `url(${bannerBgImg})`,
45
- }"
46
- ></view>
47
- </view>
48
- <view class="code">
49
- <view class="code_input_wrap">
50
- <view class="code_input_item">
51
- <input v-model="card_number" class="input" placeholder="请输入票券号" />
52
- <XdFontIcon
53
- @click="handleScan"
54
- class="icon"
55
- size="32"
56
- color="#BFA07C"
57
- icon="iconsaoma"
58
- ></XdFontIcon>
59
- </view>
60
- <view class="code_input_item">
61
- <input v-model="card_password" class="input" placeholder="请输入密码" />
62
- </view>
63
- <view class="code_info" v-if="vipInfo&&openStatus!==false">
64
- <view class="code_info_item">
65
- <view class="code_info_item_label">套餐名称:</view>
66
- <view class="code_info_item_value">{{
67
- vipInfo.product_name
68
- }}</view>
69
- </view>
70
- <view class="code_info_item">
71
- <view class="code_info_item_label">套餐期限:</view>
72
- <view class="code_info_item_value">{{
73
- vipInfo.life_cycle_label
74
- }}</view>
75
- </view>
76
- <view class="code_info_item">
77
- <view class="code_info_item_label">套餐金额:</view>
78
- <view class="code_info_item_value">
79
- <XdUnit
80
- fontSize="28"
81
- :iocnSize="0.28"
82
- colorNew="#915714"
83
- :isOld="false"
84
- :price="vipInfo.sale_price"
85
- ></XdUnit>
86
- </view>
87
- </view>
88
- <view class="code_info_item">
89
- <view class="code_info_item_label">平台优惠:</view>
90
- <view class="code_info_item_value">
91
- <text>-</text>
92
- <XdUnit
93
- fontSize="28"
94
- :iocnSize="0.28"
95
- colorNew="#915714"
96
- :isOld="false"
97
- :price="100"
98
- ></XdUnit>
99
- </view>
100
- </view>
101
- </view>
102
- <XdButton
103
- v-if="vipInfo"
104
- fontSize="26"
105
- type="primary"
106
- color="#F3D2A6"
107
- bgColor="#1D1E1D"
108
- @click="createVipOrder"
109
- >0元开通</XdButton
110
- >
111
- <XdButton
112
- v-else
113
- fontSize="26"
114
- type="primary"
115
- color="#F3D2A6"
116
- bgColor="#1D1E1D"
117
- @click="searchCode"
118
- >立即验证</XdButton
119
- >
120
- </view>
121
- <view v-if="ruleImg" class="rule_box">
122
- <image :src="ruleImg" mode="widthFix" />
123
- </view>
124
- <!-- <view class="combo_section">
17
+ <view v-if="step === 1" class="vip_panel">
18
+ <view class="combo_section">
125
19
  <view class="code_input_wrap">
126
20
  <input class="code_input" v-model="exchange_code" placeholder="请输入兑换码"></input>
127
21
  </view>
128
- </view> -->
129
- <!-- <view class="combo_section"> -->
130
- <!-- <view class="desc_tit">文案描述</view> -->
131
- <!-- <view class="desc_cont">
22
+ </view>
23
+ <view class="combo_section">
24
+ <!-- <view class="desc_tit">文案描述</view> -->
25
+ <view class="desc_cont">
132
26
  <xd-content-xss :html="description"></xd-content-xss>
133
27
  </view>
134
- </view> -->
135
- <!-- <view class="fixed_bottom" :style="fixed_bottom">
28
+ </view>
29
+ <view class="fixed_bottom" :style="fixed_bottom">
136
30
  <xd-button type="primary" width="600rpx" @click="searchCode">查询</xd-button>
137
31
  <view class="plus_privacy">开通视为同意 <text @click.stop="handlePrivacy('privacy_service')">《共享PLUS会员用户协议》</text></view>
138
- </view> -->
32
+ </view>
139
33
  </view>
140
- <!-- <view v-else class="vip_panel">
34
+ <view v-else class="vip_panel">
141
35
  <view class="combo_section">
142
36
  <view class="combo_section-title">兑换码:{{ vipInfo.exchange_code }}</view>
143
37
  <xd-list-item label="套餐名称" paddingLR="40rpx">{{ vipInfo.product_name }}</xd-list-item>
@@ -148,617 +42,210 @@
148
42
  <xd-button type="primary" width="600rpx" @click="createVipOrder">立即兑换</xd-button>
149
43
  <view class="plus_privacy">开通视为同意 <text @click.stop="handlePrivacy('privacy_service')">《共享PLUS会员用户协议》</text></view>
150
44
  </view>
151
- </view> -->
152
- </view>
153
- <XdDailog
154
- class="confirm-dialog"
155
- title="提示"
156
- :showClose="false"
157
- :maskAutoClose="true"
158
- :show.sync="showMessage"
159
- >
160
- <view style="color: #999999">
161
- <XdContentXss :html="message"></XdContentXss>
162
45
  </view>
163
- <template slot="btn">
164
- <view class="confirm-dialog__btn">
165
- <XdButton
166
- @click="handleCloseMessage"
167
- type="primary"
168
- size="small"
169
- width="500rpx"
170
- >确定</XdButton
171
- >
172
- </view>
173
- </template>
174
- </XdDailog>
46
+ </view>
175
47
  </view>
176
48
  </template>
177
49
 
178
50
  <script>
179
- import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
180
- import XdListItem from "@/components/CusListItem/CusListItem";
181
- import XdButton from "@/components/XdButton/XdButton";
182
- import XdContentXss from "@/components/XdContentXss/XdContentXss";
183
- import XdUnit from "@/components/XdUnit/XdUnit";
184
- import XdDailog from "@/components/XdDailog/XdDailog";
185
- import { jfbRootExec } from "@/utils/xd.event";
186
- import JfbBaseCodeOpenVipMixin from "./JfbBaseCodeOpenVipMixin";
187
- import { getContainerPropsValue } from "@/utils/xd.base";
188
- import componentsMixins from "@/mixins/componentsMixins";
189
- import extsMixins from "@/mixins/extsMixins";
190
- import getServiceUrl from "@/common/getServiceUrl";
191
- import { mapState, mapActions } from "vuex";
192
-
193
- export default {
194
- name: "JfbBaseCodeOpenVip",
195
- components: {
196
- XdFontIcon,
197
- XdListItem,
198
- XdButton,
199
- XdContentXss,
200
- XdUnit,
201
- XdDailog,
202
- },
203
- mixins: [componentsMixins, extsMixins, JfbBaseCodeOpenVipMixin],
204
- data() {
205
- return {
206
- closeMask: true,
207
- xnamespace: "",
208
-
209
- exchange_code: "",
210
- createStatus: false,
211
- vipInfo: null,
212
-
213
- description: "",
214
- vipSuccessPath: "",
215
- // payPath: "",
216
- uInfo: {},
217
- vip_expire_time: "",
218
- userBgImg: "",
219
- userBgColor: "",
220
- bannerBgImg: "",
221
- ruleImg: "",
222
- showMessage: false,
223
- message: "",
224
- main_order_id: "",
225
- openStatus: '',
226
- card_number: '',
227
- card_password: '',
228
- card_qrcode: ''
229
- };
230
- },
231
- computed: {
232
- ...mapState({
233
- jwxSDK: (state) => state.jwxSDK,
234
- jfbAuthorize: (state) => state.jfbAuthorize,
235
- }),
236
- bodyStyle() {
237
- return {
238
- minHeight: this.layoutInfo.bodyMinHeightRpx + "rpx",
239
- "--main-color": this.mainColor,
240
- };
51
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
52
+ import XdListItem from "@/components/CusListItem/CusListItem"
53
+ import XdButton from "@/components/XdButton/XdButton";
54
+ import XdContentXss from "@/components/XdContentXss/XdContentXss"
55
+ import { jfbRootExec } from "@/utils/xd.event";
56
+ import JfbBaseCodeOpenVipMixin from "./JfbBaseCodeOpenVipMixin";
57
+ import { getContainerPropsValue } from "@/utils/xd.base";
58
+ import componentsMixins from "@/mixins/componentsMixins";
59
+ import extsMixins from "@/mixins/extsMixins";
60
+ export default {
61
+ name: "JfbBaseCodeOpenVip",
62
+ components: {
63
+ XdFontIcon,
64
+ XdListItem,
65
+ XdButton,
66
+ XdContentXss
241
67
  },
242
- fixed_bottom() {
243
- return this.fixedStyle({ height: 36, zIndex: 111 });
244
- },
245
- userStyle() {
68
+ mixins: [
69
+ componentsMixins, extsMixins, JfbBaseCodeOpenVipMixin
70
+ ],
71
+ data() {
246
72
  return {
247
- backgroundImage: `url(${this.userBgImg})`,
248
- backgroundColor: this.userBgColor,
249
- backgroundRepeat: "no-repeat",
250
- backgroundSize: "100% 100%",
251
- };
252
- },
253
- isVip() {
254
- return this.uInfo.user_level === "VIP";
255
- },
256
- },
257
- watch: {
258
- container(value, oldValue) {
259
- if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
260
- if (this.$configProject["isPreview"]) this.init(value);
261
- },
262
- },
263
- created() {
264
- this.init(this.container);
265
- },
266
- methods: {
267
- onJfbLoad(options) {
268
- if (options["ecode"]) {
269
- this.exchange_code = options["ecode"];
270
- this.searchCode();
271
- }
272
- this.p_getBaseUserInfo();
273
- },
274
- p_getBaseUserInfo() {
275
- jfbRootExec("getOpenBaseUserInfo", {
276
- vm: this,
277
- data: {},
278
- }).then((res) => {
279
- res = res || {};
280
- if (res["head_url"])
281
- res["head_url"] = getServiceUrl(res["head_url"], "size2");
282
- this.uInfo = res;
283
- this.vip_expire_time = this.$xdUniHelper.getDate(
284
- res.vip_expire_time * 1000
285
- ).fullDate;
286
- });
287
- },
73
+ closeMask: true,
74
+ xnamespace: "",
288
75
 
289
- /**
290
- * @description 监听事件变化
291
- * @param container {object} 业务组件对象自己
292
- */
293
- init(container) {
294
- this.description = getContainerPropsValue(
295
- container,
296
- "content.description",
297
- ""
298
- );
299
- this.vipSuccessPath = getContainerPropsValue(
300
- container,
301
- "content.vipSuccessPath",
302
- { value: "" }
303
- ).value;
304
- // this.payPath = getContainerPropsValue(container, "content.payPath", {
305
- // value: "",
306
- // }).value;
307
- this.userBgImg = getServiceUrl(
308
- getContainerPropsValue(container, "content.userBgImg", { url: "" }).url
309
- );
310
- this.userBgColor = getContainerPropsValue(
311
- container,
312
- "content.userBgColor",
313
- "#FFFFFF"
314
- );
315
- this.bannerBgImg = getServiceUrl(
316
- getContainerPropsValue(container, "content.bannerBgImg", { url: "" })
317
- .url
318
- );
319
- this.ruleImg = getServiceUrl(
320
- getContainerPropsValue(container, "content.ruleImg", { url: "" }).url
321
- );
322
- },
76
+ exchange_code: "",
77
+ createStatus: false,
78
+ step: 1,
79
+ vipInfo: {},
323
80
 
324
- /**
325
- * @description 扫码绑定
326
- */
327
- handleScan() {
328
- console.log('scanscan');
329
- try {
330
- //#ifdef H5
331
- if (this.jwxSDK !== null) {
332
- this.jwxSDK.scanQRCode({
333
- needResult: 1,
334
- scanType: ["qrCode"],
335
- success: (res) => {
336
- this.card_qrcode = res.resultStr;
337
- this.searchCode();
338
- },
339
- fail: (error) => {
340
- if (typeof error === "string") error = { error: error };
341
- if (window["jwxJfbSDKParams"])
342
- error = Object.assign(error, window["jwxJfbSDKParams"]);
343
- this.$xdLog.setARMSError(error);
344
- },
345
- });
346
- }
347
- //#endif
348
- //#ifdef MP-WEIXIN
349
- uni.scanCode({
350
- scanType: ["qrCode"],
351
- success: (res) => {
352
- this.card_qrcode = res.resultStr;
353
- this.searchCode()
354
- },
355
- fail: (error) => {
356
- this.$xdLog.setARMSError(error);
357
- },
358
- });
359
- //#endif
360
- } catch (err) {
361
- console.log(err,'err');
362
-
363
- this.$xdLog.setARMSError(err);
81
+ description: "",
82
+ vipSuccessPath: "",
83
+ payPath: "",
364
84
  }
365
85
  },
366
-
367
- handlePrivacy(code) {
368
- let params = `page_id=${this.pageAttr["page_id"]}`;
369
- params = `${params}&container_id=${this.containerId}${code}`;
370
- this.$xdUniHelper.navigateTo({
371
- url: `/pages/content/content?${params}`,
372
- });
86
+ computed: {
87
+ bodyStyle(){
88
+ return {
89
+ minHeight: this.layoutInfo.bodyMinHeightRpx + 'rpx',
90
+ '--main-color': this.mainColor,
91
+ }
92
+ },
93
+ fixed_bottom() {
94
+ return this.fixedStyle({ height: 36, zIndex: 111})
95
+ },
373
96
  },
97
+ watch: {
98
+ container(value, oldValue) {
99
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
100
+ if (this.$configProject['isPreview']) this.init(value)
101
+ },
102
+ },
103
+ created() {
104
+ this.init(this.container);
374
105
 
375
- searchCode() {
376
- if (!this.card_number && !this.card_password && !this.card_qrcode) return;
377
- let data = {};
378
- if (this.card_number) data.card_number = this.card_number;
379
- if (this.card_password) data.card_password = this.card_password;
380
- if (this.card_qrcode) data.card_qrcode = this.card_qrcode;
381
- console.log(data,'data');
382
-
383
- this.$xdShowLoading({});
384
- jfbRootExec("getExchangeCode", {
385
- vm: this,
386
- data: data,
387
- })
388
- .then((res) => {
389
- this.$xdHideLoading();
390
- this.openStatus = res.status;
391
- this.message = res.alert_message;
392
- this.showMessage = true;
393
- this.vipInfo = res;
106
+ },
107
+ methods: {
108
+ onJfbLoad(options) {
109
+ if(options['ecode']) {
110
+ this.exchange_code = options['ecode'];
111
+ this.searchCode();
112
+ }
113
+ },
114
+
115
+ /**
116
+ * @description 监听事件变化
117
+ * @param container {object} 业务组件对象自己
118
+ */
119
+ init(container) {
120
+ this.description = getContainerPropsValue(container, 'content.description', "");
121
+ this.vipSuccessPath = getContainerPropsValue(container, 'content.vipSuccessPath', {value: ""}).value;
122
+ this.payPath = getContainerPropsValue(container, 'content.payPath', {value: ""}).value;
123
+ },
124
+
125
+ handlePrivacy(code){
126
+ let params = `page_id=${this.pageAttr["page_id"]}`;
127
+ params = `${params}&container_id=${this.containerId}${code}`;
128
+ this.$xdUniHelper.navigateTo({
129
+ url: `/pages/content/content?${params}`
394
130
  })
395
- .catch((e) => {
131
+ },
132
+
133
+ searchCode(){
134
+ if(!this.exchange_code) return;
135
+ this.$xdShowLoading({});
136
+ jfbRootExec("getExchangeCode", {
137
+ vm: this,
138
+ data: {
139
+ exchange_code: this.exchange_code
140
+ }
141
+ }).then(res => {
396
142
  this.$xdHideLoading();
397
- });
398
-
399
- },
400
-
401
- createVipOrder() {
402
- if (this.createStatus) return;
403
- this.createStatus = true;
404
- this.$xdShowLoading({});
405
- jfbRootExec("createVipOrder", {
406
- vm: this,
407
- data: {
408
- business_code: this.xnamespace,
409
- product_id: this.vipInfo.product_id,
410
- notify_provider_id: this.projectAttr.notify_provider_id,
411
- need_pay_price: 0,
412
- selected_card_list_json: this.vipInfo.selected_card_list_json,
413
- },
414
- })
415
- .then((res) => {
416
- this.createStatus = false;
417
- this.openStatus = res.status;
418
- this.message = res.alert_message;
419
- this.showMessage = true;
420
- this.main_order_id = res.main_order_id
143
+ this.step = 2;
144
+ this.vipInfo = res;
145
+ }).catch(e=>{
421
146
  this.$xdHideLoading();
422
- // if (res.need_pay_price > 0) {
423
- // this.$xdUniHelper.redirectTo({
424
- // url:
425
- // this.payPath +
426
- // `?order_id=${res.pay_order_id}&main_order_id=${res.main_order_id}`,
427
- // });
428
- // } else {
429
- // this.$xdUniHelper.redirectTo({
430
- // url: this.vipSuccessPath + `?order_id=${res.main_order_id}`,
431
- // });
432
- // }
433
147
  })
434
- .catch((err) => {
435
- this.createStatus = false;
436
- this.$xdHideLoading();
437
- });
438
- },
439
- handleCloseMessage() {
440
- this.showMessage = false;
441
- if (!this.openStatus) {
442
- return;
443
- }
444
- this.$xdUniHelper.redirectTo({
445
- url: this.vipSuccessPath + `?order_id=${this.main_order_id}`,
446
- });
148
+ },
149
+
150
+ createVipOrder(){
151
+ if(this.createStatus) return
152
+ this.createStatus = true;
153
+ this.$xdShowLoading({});
154
+ jfbRootExec("createVipOrder", {
155
+ vm: this,
156
+ data: {
157
+ business_code: this.xnamespace,
158
+ product_id: this.vipInfo.product_id,
159
+ notify_provider_id: this.projectAttr.notify_provider_id,
160
+ need_pay_price: 0,
161
+ selected_card_list_json: this.vipInfo.selected_card_list_json
162
+ }
163
+ })
164
+ .then(res => {
165
+ this.createStatus = false;
166
+ this.$xdHideLoading();
167
+ if(res.need_pay_price > 0){
168
+ this.$xdUniHelper.redirectTo({
169
+ url: this.payPath + `?order_id=${res.pay_order_id}&main_order_id=${res.main_order_id}`
170
+ })
171
+ }
172
+ else{
173
+ this.$xdUniHelper.redirectTo({
174
+ url: this.vipSuccessPath + `?order_id=${res.main_order_id}`
175
+ })
176
+ }
177
+ })
178
+ .catch(err=>{
179
+ this.createStatus = false;
180
+ this.$xdHideLoading();
181
+ })
182
+ },
447
183
  }
448
- },
449
- };
184
+ }
185
+
450
186
  </script>
451
187
 
452
188
  <style scoped lang="less">
453
- @import "./JfbBaseCodeOpenVipLess.less";
454
-
455
- .jfb-base-code-open-vip {
456
- &__body {
457
- .u_header {
458
- display: flex;
459
- align-items: center;
460
- padding: 24rpx 40rpx;
461
- margin-bottom: 20rpx;
189
+ @import "./JfbBaseCodeOpenVipLess.less";
462
190
 
463
- .u_avatar {
464
- width: 120rpx;
465
- height: 120rpx;
466
- border-radius: 120rpx;
467
- margin-right: 24rpx;
191
+ .jfb-base-code-open-vip {
192
+ &__body{
193
+ .combo_section{
194
+ border-radius: 24rpx;
468
195
  overflow: hidden;
469
- image {
470
- width: 100%;
471
- height: 100%;
472
- }
473
- }
474
- .u_info {
475
- flex: 1;
476
- &-top {
477
- display: flex;
478
- align-items: center;
479
- .vip_name {
480
- font-size: 28rpx;
481
- color: #333333;
482
- }
483
- .vip_level {
484
- padding: 4rpx 16rpx;
485
- border-radius: 24rpx;
486
- font-size: 24rpx;
487
- background-color: #ffe6c4;
488
- color: #615850;
489
- margin-left: 8rpx;
490
- &.plus {
491
- background: linear-gradient(180deg, #615243 0%, #2d2824 100%);
492
- color: #ffefd7;
493
- }
494
- }
495
- }
496
- .u_sub {
497
- margin-top: 24rpx;
498
- font-size: 24rpx;
499
- }
500
- }
501
- .buy_btn {
502
- width: 146rpx;
503
- height: 60rpx;
504
- background-color: var(--main-color);
505
- color: #fff;
506
- border-radius: 60rpx;
507
- line-height: 60rpx;
508
- text-align: center;
509
- font-size: 24rpx;
510
- }
511
- }
512
- .code {
513
- padding: 24rpx;
514
- background: #fff;
515
- &_input_wrap {
516
- background: linear-gradient(
517
- 180deg,
518
- rgba(251, 233, 208, 1) 0%,
519
- rgba(246, 217, 183, 1) 100%
520
- ),
521
- linear-gradient(
522
- 180deg,
523
- rgba(248, 223, 193, 1) 0%,
524
- rgba(232, 186, 133, 1) 100%
525
- );
526
- border-radius: 32rpx;
527
- padding: 48rpx 64rpx;
528
- }
529
- &_input_item {
530
- margin-bottom: 24rpx;
531
- position: relative;
532
- .icon {
533
- position: absolute;
534
- right: 28rpx;
535
- top: 50%;
536
- transform: translate(0, -50%);
537
- }
538
- & > .input {
539
- background: #fff3e6;
540
- border: 2rpx solid #bfa07c;
541
- border-radius: 12rpx;
542
- padding: 16rpx 24rpx;
196
+ margin: 20rpx;
197
+ background-color: #FFFFFF;
198
+ &-title{
199
+ height: 72rpx;
200
+ line-height: 72rpx;
201
+ text-align: center;
202
+ background: linear-gradient(90deg, #FCD083 0%, #FFDEAD 100%);
543
203
  font-size: 28rpx;
204
+ color: #915714;
205
+ font-weight: 500;
544
206
  }
545
- & > .input ::v-deep .uni-input-placeholder {
546
- color: #bfa07c !important;
547
- }
548
- }
549
- &_info {
550
- background: #fff3e6;
551
- border-radius: 16rpx;
552
- padding: 16rpx;
553
- margin-bottom: 40rpx;
554
- font-size: 28rpx;
555
- &_item {
556
- display: flex;
557
- align-items: center;
558
- justify-content: space-between;
559
- margin-bottom: 16rpx;
560
- &_label {
561
- color: #bfa07c;
562
- }
563
- &_value {
564
- color: #915714;
565
- display: flex;
566
- align-items: center;
567
- }
568
- }
569
- &_item:last-child {
570
- margin-bottom: 0;
571
- }
572
- }
573
- }
574
- .rule_box {
575
- width: 710rpx;
576
- background-size: 100% 100%;
577
- background-repeat: no-repeat;
578
- }
579
- .vip_info {
580
- // padding: 20rpx;
581
- margin-bottom: 20rpx;
582
- background: #fff;
583
- .vip_box {
584
- width: 710rpx;
585
- height: 340rpx;
586
- margin: auto;
587
- border-radius: 32rpx;
588
- background-color: #e8a841;
589
- // background: linear-gradient(90deg, #E8A841 0%, #FAD48E 100%);
590
- background-size: 100% 100%;
591
- background-repeat: no-repeat;
592
- display: flex;
593
- align-items: center;
594
- justify-content: space-between;
595
- padding: 40rpx;
596
- box-sizing: border-box;
597
-
598
- &-left {
599
- font-size: 24rpx;
600
- font-weight: 400;
601
- color: #ffffff;
602
- display: flex;
603
- align-self: stretch;
604
- flex-direction: column;
605
- justify-content: space-between;
606
- }
607
- &-title {
608
- font-size: 32rpx;
609
- font-weight: bold;
207
+ ::v-deep .my-list_value{
208
+ color: #999999;
610
209
  }
611
- .vip_logo {
612
- width: 104rpx;
613
- height: 104rpx;
614
- image {
615
- width: 100%;
616
- height: 100%;
617
- }
210
+ .desc_tit{
211
+ height: 72rpx;
212
+ line-height: 72rpx;
213
+ text-align: center;
618
214
  }
619
- }
620
-
621
- .vip_banner {
622
- display: flex;
623
- padding: 16rpx;
624
- margin: 20rpx 0;
625
- justify-content: space-around;
626
- .banner_item {
627
- display: flex;
628
- align-items: center;
629
- flex-direction: column;
630
- .banner_img {
631
- width: 108rpx;
632
- height: 108rpx;
633
- border-radius: 108rpx;
634
- // background-color: #EBB963;
635
- }
636
- .banner_text {
637
- color: #333333;
638
- font-size: 24rpx;
639
- font-weight: 500;
640
- margin-top: 16rpx;
641
- }
215
+ .desc_cont{
216
+ padding: 24rpx;
642
217
  }
643
- }
644
-
645
- .vip_good {
646
- background-color: #ffffff;
647
- border-radius: 24rpx;
648
- overflow: hidden;
649
- &-title {
650
- height: 110rpx;
651
- line-height: 110rpx;
652
- font-size: 36rpx;
653
- font-weight: 500;
654
- text-align: center;
655
- color: #000000;
656
- border-bottom: 1px solid #fafafa;
657
- position: relative;
658
- .line {
659
- position: absolute;
660
- left: 50%;
661
- top: 50%;
662
- transform: translate(-50%, -50%);
663
- width: 280rpx;
664
- height: 1px;
665
- background-color: #000000;
666
- }
667
- ._text {
668
- position: relative;
669
- z-index: 10;
670
- background-color: #fff;
671
- padding: 0 24rpx;
672
- }
218
+ .code_input_wrap{
219
+ width: 100%;
220
+ padding: 36rpx;
221
+ box-sizing: border-box;
673
222
  }
674
- .good_item {
675
- padding: 32rpx 46rpx;
676
- border-bottom: 1px solid #fafafa;
677
- &:last-child {
678
- border-bottom: none;
679
- }
680
- .good_title {
681
- display: flex;
682
- align-items: center;
683
- font-size: 28rpx;
684
- font-weight: 500;
685
- color: #666666;
686
-
687
- &-tag {
688
- padding: 8rpx 16rpx;
689
- border-radius: 8rpx;
690
- font-size: 22rpx;
691
- line-height: 1;
692
- background: linear-gradient(90deg, #fcd083 0%, #ffdead 100%);
693
- color: #915714;
694
- margin-right: 16rpx;
695
- }
696
- }
697
- .good_cont {
698
- font-size: 28rpx;
699
- color: #bbbbbb;
700
- font-size: 400;
701
- margin-top: 16rpx;
702
- }
223
+ .code_input{
224
+ width: 100%;
225
+ height: 90rpx;
226
+ background-color: #FAFAFA;
227
+ box-sizing: border-box;
228
+ padding: 0 36rpx;
229
+ border-radius: 16rpx;
703
230
  }
704
231
  }
705
- }
706
- .combo_section {
707
- border-radius: 24rpx;
708
- overflow: hidden;
709
- margin: 20rpx;
710
- background-color: #ffffff;
711
- &-title {
712
- height: 72rpx;
713
- line-height: 72rpx;
714
- text-align: center;
715
- background: linear-gradient(90deg, #fcd083 0%, #ffdead 100%);
716
- font-size: 28rpx;
717
- color: #915714;
718
- font-weight: 500;
719
- }
720
- ::v-deep .my-list_value {
721
- color: #999999;
722
- }
723
- .desc_tit {
724
- height: 72rpx;
725
- line-height: 72rpx;
726
- text-align: center;
727
- }
728
- .desc_cont {
729
- padding: 24rpx;
730
- }
731
- .code_input_wrap {
232
+ .fixed_bottom{
233
+ position: fixed;
234
+ bottom: 0;
235
+ left: 0;
732
236
  width: 100%;
733
237
  padding: 36rpx;
734
238
  box-sizing: border-box;
735
- }
736
- .code_input {
737
- width: 100%;
738
- height: 90rpx;
739
- background-color: #fafafa;
740
- box-sizing: border-box;
741
- padding: 0 36rpx;
742
- border-radius: 16rpx;
743
- }
744
- }
745
- .fixed_bottom {
746
- position: fixed;
747
- bottom: 0;
748
- left: 0;
749
- width: 100%;
750
- padding: 36rpx;
751
- box-sizing: border-box;
752
- background-color: #ffffff;
753
- display: flex;
754
- flex-direction: column;
755
- align-items: center;
756
- .plus_privacy {
757
- font-size: 22rpx;
758
- color: #999;
759
- margin-top: 16rpx;
239
+ background-color: #FFFFFF;
240
+ display: flex;
241
+ flex-direction: column;
242
+ align-items: center;
243
+ .plus_privacy{
244
+ font-size: 22rpx;
245
+ color: #999;
246
+ margin-top: 16rpx;
247
+ }
760
248
  }
761
249
  }
762
250
  }
763
- }
764
251
  </style>