jufubao-base 1.0.237-beta5 → 1.0.237-beta7

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-base",
3
- "version": "1.0.237-beta5",
3
+ "version": "1.0.237-beta7",
4
4
  "private": false,
5
5
  "description": "聚福宝业务组件基础插件包",
6
6
  "main": "index.js",
@@ -7,7 +7,7 @@
7
7
  <!-- #endif -->
8
8
  <view class="jfb-base-balance__body">
9
9
  <view class="jfb-base-balance__body-tab">
10
- <view v-for="(item,index) in wallet_list" :key="index" @click="handleSwitchTab(item)"
10
+ <view :style="{color:wallet_type===item.wallet_type?mainColor:'#333333'}" v-for="(item,index) in wallet_list" :key="index" @click="handleSwitchTab(item)"
11
11
  class="jfb-base-balance__body-tab-item">
12
12
  {{item.show_name}}
13
13
  <view v-if="wallet_type===item.wallet_type" class="check" :style="{background: mainColor
@@ -219,6 +219,9 @@
219
219
  },
220
220
  onJfbShow(options) {
221
221
  console.log('event.onJfbShow', options)
222
+ this.method = options.method
223
+ this.getContent()
224
+ this.getDetail()
222
225
  },
223
226
  onJfbHide(options) {
224
227
  console.log('event.onJfbHide', options)
@@ -26,9 +26,9 @@
26
26
  <xd-content-xss :html="description"></xd-content-xss>
27
27
  </view>
28
28
  </view>
29
- <view class="fixed_bottom" :style="[fixed_bottom]">
29
+ <view class="fixed_bottom" :style="fixed_bottom">
30
30
  <xd-button type="primary" width="600rpx" @click="searchCode">查询</xd-button>
31
- <view class="plus_privacy">开通视为同意 <text @click.stop="handlePrivacy('privacy_service')"></text>《共享PLUS会员用户协议》</view>
31
+ <view class="plus_privacy">开通视为同意 <text @click.stop="handlePrivacy('privacy_service')">《共享PLUS会员用户协议》</text></view>
32
32
  </view>
33
33
  </view>
34
34
  <view v-else class="vip_panel">
@@ -38,9 +38,9 @@
38
38
  <xd-list-item label="套餐期限" paddingLR="40rpx">{{ vipInfo.life_cycle_label }}</xd-list-item>
39
39
  <xd-list-item label="套餐金额" paddingLR="40rpx">¥{{ $xdUniHelper.divisionFloatNumber(vipInfo.sale_price, 100) }}</xd-list-item>
40
40
  </view>
41
- <view class="fixed_bottom" :style="[fixed_bottom]">
41
+ <view class="fixed_bottom" :style="fixed_bottom">
42
42
  <xd-button type="primary" width="600rpx" @click="p_createVipOrder">立即兑换</xd-button>
43
- <view class="plus_privacy">开通视为同意 <text @click.stop="handlePrivacy('privacy_service')"></text>《共享PLUS会员用户协议》</view>
43
+ <view class="plus_privacy">开通视为同意 <text @click.stop="handlePrivacy('privacy_service')">《共享PLUS会员用户协议》</text></view>
44
44
  </view>
45
45
  </view>
46
46
  </view>
@@ -90,7 +90,7 @@
90
90
  }
91
91
  },
92
92
  fixed_bottom() {
93
- return this.fixedStyle({paddingBottom: 36, zIndex: 111})
93
+ return this.fixedStyle({ height: 36, zIndex: 111})
94
94
  },
95
95
  },
96
96
  watch: {
@@ -895,7 +895,6 @@
895
895
  color: #999999;
896
896
  font-size: 30rpx;
897
897
  margin-right: 64rpx;
898
- width: 117rpx;
899
898
  flex-shrink: 0;
900
899
  }
901
900
 
@@ -331,6 +331,7 @@
331
331
  &__horizontal {
332
332
  display: flex;
333
333
  justify-content: space-around;
334
+ flex-wrap: wrap;
334
335
  &-title {
335
336
  color: #000000;
336
337
  font-size: 26rpx;
@@ -343,6 +344,8 @@
343
344
  flex-direction: column;
344
345
  justify-content: center;
345
346
  align-items: center;
347
+ box-sizing: border-box;
348
+ width: 25%;
346
349
  &-icon {
347
350
  margin-bottom: 22rpx;
348
351
  }
@@ -312,6 +312,28 @@ export default {
312
312
  groupKey:'style',
313
313
  hidden: true,
314
314
  },
315
+ {
316
+ label: "是否展示二维码",
317
+ ele: "xd-radio",
318
+ valueKey: "showQrcode",
319
+ value: data.showQrcode || "N",
320
+ list: [
321
+ {label: "不显示", value: "N"},
322
+ {label: "显示", value: "Y"}
323
+ ],
324
+ groupKey:'content',
325
+ },
326
+ {
327
+ label: "是否展示扫一扫",
328
+ ele: "xd-radio",
329
+ valueKey: "showScan",
330
+ value: data.showScan || "N",
331
+ list: [
332
+ {label: "不显示", value: "N"},
333
+ {label: "显示", value: "Y"}
334
+ ],
335
+ groupKey:'content',
336
+ },
315
337
  {
316
338
  label: "是否展示快捷入口",
317
339
  ele: "xd-radio",
@@ -368,6 +390,40 @@ export default {
368
390
  placeholder: '请选择快捷入口背景颜色',
369
391
  classNmae: 'input80',
370
392
  },
393
+ data.showQrcode === 'Y' && {
394
+ ele: 'title',
395
+ label: '二维码样式设置',
396
+ size: 'small',
397
+ groupKey:'style',
398
+ },
399
+ data.showQrcode === 'Y' && {
400
+ label: "二维码大小:",
401
+ ele: "el-input",
402
+ valueKey: "qrcodeSize",
403
+ value: data.qrcodeSize || 32,
404
+ type: "number",
405
+ groupKey: "style",
406
+ },
407
+ data.showQrcode === 'Y' && {
408
+ label: "二维码图标颜色:",
409
+ ele: 'xd-color',
410
+ valueKey: "qrCodeColor",
411
+ groupKey:'style',
412
+ value: data.qrCodeColor || '',
413
+ },
414
+ data.showScan === 'Y' && {
415
+ ele: "title",
416
+ label: "扫一扫样式设置",
417
+ size: "small",
418
+ groupKey: "style",
419
+ },
420
+ data.showScan === 'Y' && {
421
+ label: "扫一扫图标颜色:",
422
+ ele: 'xd-color',
423
+ valueKey: "scanIconColor",
424
+ value: data.scanIconColor || '',
425
+ groupKey:'style',
426
+ },
371
427
  {
372
428
  label: '是否有边框:',
373
429
  ele: 'xd-radio',
@@ -441,6 +497,32 @@ export default {
441
497
  notice:'<div><span style="color:red">客服类型</span>不需要配置</div>',
442
498
  inline: false,
443
499
  },
500
+ {
501
+ label: '二维码跳转链接:',
502
+ ele: 'xd-select-pages-path',
503
+ valueKey: 'qrcodePath',
504
+ groupKey:'advanced',
505
+ placeholder: '选择二维码跳转链接',
506
+ value: data['qrcodePath'] || null,
507
+ setting: {
508
+ router: XdBus.getParentApi('getPagesTree'),
509
+ },
510
+ inline: false,
511
+ hidden: data.showQrcode === 'N'
512
+ },
513
+ {
514
+ label: "扫一扫跳转链接:",
515
+ ele: 'xd-select-pages-path',
516
+ valueKey: "scanPath",
517
+ groupKey:'advanced',
518
+ placeholder: '选择扫一扫跳转链接',
519
+ value: data['scanPath'] || null,
520
+ setting: {
521
+ router: XdBus.getParentApi('getPagesTree'),
522
+ },
523
+ inline: false,
524
+ hidden: data.showScan === 'N'
525
+ },
444
526
  {
445
527
  label: '',
446
528
  ele: 'slot',
@@ -66,6 +66,9 @@
66
66
  :key="showLocationKey"
67
67
  ></xd-city-show-api>
68
68
  </view>
69
+ <view v-if="showScan==='Y'" class="scan_in" @click="handleScanClick">
70
+ <xd-font-icon :size="32" :color="scanIconColor" icon="iconsaoma1"></xd-font-icon>
71
+ </view>
69
72
  <xd-font-icon v-if="searchIconPosition==='left'" :icon="icon" :color="iconColor" size="32"/>
70
73
  <input
71
74
  v-if="useSearch==='Y'"
@@ -84,6 +87,9 @@
84
87
  @click.stop="doSearch"
85
88
  >{{searchBtnText || '搜索'}}</view>
86
89
  </view>
90
+ <view v-if="showQrcode==='Y'" class="qr_code" @click="handleQrCodeClick">
91
+ <xd-font-icon :size="qrcodeSize" icon="iconerweima" :color="qrCodeColor"></xd-font-icon>
92
+ </view>
87
93
  <view v-if="showSearchBtn==='Y' && searchBtnPosition==='out'"
88
94
  class="search_btn_out"
89
95
  :style="[searchBtnStyle]"
@@ -212,6 +218,13 @@
212
218
  searchBoxRadius: 30,
213
219
  bottomBorder: "",
214
220
  inputBorder: "",
221
+ showQrcode: "",
222
+ qrcodeSize: 32,
223
+ qrcodePath: "",
224
+ qrCodeColor: "",
225
+ showScan: "",
226
+ scanIconColor: "",
227
+ scanPath: "",
215
228
  }
216
229
  },
217
230
  watch: {
@@ -243,8 +256,11 @@
243
256
  this.useSearch = getContainerPropsValue(container, "content.useSearch", "Y");
244
257
  this.searchPagePath = getContainerPropsValue(container, "content.searchPagePath", {value:""}).value;
245
258
  this.choseCityPath = getContainerPropsValue(container, "content.choseCityPath", {value:""}).value;
246
-
247
-
259
+ this.showQrcode = getContainerPropsValue(container, "content.showQrcode", "");
260
+ this.qrcodeSize = getContainerPropsValue(container, "content.qrcodeSize", 32);
261
+ this.qrCodeColor = getContainerPropsValue(container, "content.qrCodeColor", "#333");
262
+ this.showScan = getContainerPropsValue(container, "content.showScan", "");
263
+ this.scanIconColor = getContainerPropsValue(container, "content.scanIconColor", "#333");
248
264
  //基础
249
265
  this.backgroundColor = getContainerPropsValue(container, "content.backgroundColor", '#fff');
250
266
  this.icon = getContainerPropsValue(container, "content.icon", 'iconsousuo_mian');
@@ -282,6 +298,8 @@
282
298
  this.showQuickEntry = getContainerPropsValue(container, 'content.showQuickEntry', "N");
283
299
  this.quickEntryType = getContainerPropsValue(container, 'content.quickEntryType', "");
284
300
  this.quickEntryPath = getContainerPropsValue(container, 'content.quickEntryPath', {value:""}).value;
301
+ this.qrcodePath = getContainerPropsValue(container, 'content.qrcodePath', {value:""}).value;
302
+ this.scanPath = getContainerPropsValue(container, 'content.scanPath', {value:""}).value;
285
303
 
286
304
  let name , logo, platform_logo;
287
305
  if (this.projectAttr['site_name']) name = this.projectAttr['site_name'];
@@ -320,6 +338,16 @@
320
338
  })
321
339
  }
322
340
  },
341
+ handleQrCodeClick(){
342
+ this.$xdUniHelper.navigateTo({
343
+ url: this.qrcodePath
344
+ })
345
+ },
346
+ handleScanClick(){
347
+ this.$xdUniHelper.navigateTo({
348
+ url: this.scanPath
349
+ })
350
+ },
323
351
 
324
352
  /***
325
353
  * @description 定位完成事件
@@ -477,6 +505,20 @@
477
505
  padding: 0;
478
506
  }
479
507
  }
508
+ .scan_in{
509
+ position: relative;
510
+ padding-right: 28rpx;
511
+ margin-right: 20rpx;
512
+ &::before{
513
+ content: " ";
514
+ position: absolute;
515
+ width: 2rpx;
516
+ height: 100%;
517
+ background-color: #CCCCCC;
518
+ right: -0rpx;
519
+ top: 0rpx;
520
+ }
521
+ }
480
522
  .search_input{
481
523
  flex: 1;
482
524
  text-align: left;
@@ -510,6 +552,10 @@
510
552
  align-items: center;
511
553
  justify-content: center;
512
554
  }
555
+
556
+ .qr_code{
557
+ margin-left: 16rpx;
558
+ }
513
559
  }
514
560
  }
515
561
  }
@@ -313,6 +313,18 @@ export default {
313
313
  },
314
314
  inline: false,
315
315
  },
316
+ {
317
+ label: '省钱明细页面路径:',
318
+ ele: 'xd-select-pages-path',
319
+ valueKey: 'moneyDetailPath',
320
+ groupKey:'advanced',
321
+ placeholder: '请选择省钱明细页面路径',
322
+ value: data['moneyDetailPath'] || null,
323
+ setting: {
324
+ router: XdBus.getParentApi('getPagesTree'),
325
+ },
326
+ inline: false,
327
+ },
316
328
  ].filter(i=>i)
317
329
  },
318
330
  advanced: [],
@@ -26,7 +26,7 @@
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;">已省{{ $xdUniHelper.divisionFloatNumber(save_amount, 100) }}</view>
29
+ <view v-if="isVip" style="color:#999999;" @click="handleToDetail">已省{{ $xdUniHelper.divisionFloatNumber(save_amount, 100) }}</view>
30
30
  <view v-else style="color:#333333;">{{ uInfo.phone_number }}</view>
31
31
  </view>
32
32
  </view>
@@ -137,6 +137,7 @@
137
137
  specialImage: "",
138
138
  showExchangeCode: "",
139
139
  exchangeCodePath: "",
140
+ moneyDetailPath: "",
140
141
  }
141
142
  },
142
143
  computed: {
@@ -180,6 +181,7 @@
180
181
  this.specialImage = getServiceUrl(getContainerPropsValue(container, 'content.specialImage', {url: ""}).url);
181
182
  this.exchangeCodePath = getContainerPropsValue(container, 'content.exchangeCodePath', {value: ""}).value;
182
183
  this.showExchangeCode = getContainerPropsValue(container, 'content.showExchangeCode', '');
184
+ this.moneyDetailPath = getContainerPropsValue(container, 'content.moneyDetailPath', {value: ""}).value;
183
185
  },
184
186
  p_getBaseUserInfo(){
185
187
  jfbRootExec("getOpenBaseUserInfo", {
@@ -206,6 +208,11 @@
206
208
  this.vipCardList = res.list;
207
209
  })
208
210
  },
211
+ handleToDetail(){
212
+ this.$xdUniHelper.navigateTo({
213
+ url: this.moneyDetailPath
214
+ })
215
+ },
209
216
  handlePrivacy(code){
210
217
  let params = `page_id=${this.pageAttr["page_id"]}`;
211
218
  params = `${params}&container_id=${this.containerId}${code}`;
@@ -231,7 +238,8 @@
231
238
  console.log('event.onJfbReachBottom', options)
232
239
  },
233
240
  onJfbShow(options) {
234
- console.log('event.onJfbShow', options)
241
+ // console.log('event.onJfbShow', options)
242
+ this.onJfbLoad(options)
235
243
  },
236
244
  onJfbHide(options) {
237
245
  console.log('event.onJfbHide', options)
@@ -12,7 +12,10 @@
12
12
  <view class="vip_pay">
13
13
  <view class="pay_btn" @click="toVipDetail">
14
14
  <template v-if="vip_card_id===-1">0元开通</template>
15
- <template v-else>立即支付 ¥{{ $xdUniHelper.divisionFloatNumber(curVipCard.sale_price, 100) }}</template>
15
+ <template v-else>
16
+ 立即支付 ¥{{ $xdUniHelper.divisionFloatNumber(curVipCard.sale_price, 100) }}
17
+ {{ curVipCard.vip_card_life_cycle_unit ? '/'+curVipCard.vip_card_life_cycle_unit:'' }}
18
+ </template>
16
19
  </view>
17
20
  <view class="vip_tip">开通视为同意<text @click.stop="handlePrivacy('privacy_service')">《共享PLUS会员用户协议》</text></view>
18
21
  </view>
@@ -26,14 +26,16 @@
26
26
  <xd-list-item label="平台优惠" paddingLR="40rpx">-¥{{ $xdUniHelper.divisionFloatNumber(vipInfo.platform_discount_amount, 100) }}</xd-list-item>
27
27
  </view>
28
28
 
29
- <view class="fixed_bottom" :style="[fixed_bottom]">
29
+ <view class="fixed_bottom" :style="fixed_bottom">
30
30
  <view class="pay_btn" @click="p_createVipOrder">
31
31
  立即支付
32
- <xd-unit style="margin-left: 16rpx;"
32
+ ¥{{ $xdUniHelper.divisionFloatNumber(vipInfo.sale_price, 100) }}
33
+ {{ vipInfo.vip_card_life_cycle_unit ? '/'+vipInfo.vip_card_life_cycle_unit:'' }}
34
+ <!-- <xd-unit style="margin-left: 16rpx;"
33
35
  :price="vipInfo.sale_price"
34
36
  :isOld="false"
35
37
  colorNew="#FFFFFF"
36
- ></xd-unit>
38
+ ></xd-unit> -->
37
39
  </view>
38
40
  <view class="plus_privacy">开通视为同意 <text @click.stop="handlePrivacy('privacy_service')"></text>《共享PLUS会员用户协议》</view>
39
41
  </view>
@@ -67,6 +69,7 @@
67
69
  closeMask: true,
68
70
  xnamespace: "",
69
71
  notify_provider_id: "",
72
+ hasClick: false,
70
73
 
71
74
  vip_card_id: "",
72
75
  vipInfo: {},
@@ -83,7 +86,7 @@
83
86
  }
84
87
  },
85
88
  fixed_bottom() {
86
- return this.fixedStyle({paddingBottom: 36, zIndex: 111})
89
+ return this.fixedStyle({height: 36, zIndex: 111})
87
90
  },
88
91
  },
89
92
  watch: {
@@ -121,6 +124,9 @@
121
124
  })
122
125
  },
123
126
  p_createVipOrder(){
127
+ if(this.hasClick) return;
128
+ this.hasClick = true;
129
+ this.$xdShowLoading({});
124
130
  jfbRootExec("createVipOrder", {
125
131
  vm: this,
126
132
  data: {
@@ -130,6 +136,8 @@
130
136
  need_pay_price: this.vipInfo.user_pay_amount
131
137
  }
132
138
  }).then(res => {
139
+ this.hasClick = false;
140
+ this.$xdHideLoading();
133
141
  if(res.need_pay_price > 0){
134
142
  this.$xdUniHelper.redirectTo({
135
143
  url: this.payPath + `?order_id=${res.pay_order_id}&main_order_id=${res.main_order_id}`
@@ -139,7 +147,9 @@
139
147
  url: this.paySuccessPath + '?order_id=' + res.main_order_id
140
148
  })
141
149
  }
142
-
150
+ }).catch(err => {
151
+ this.hasClick = false;
152
+ this.$xdHideLoading();
143
153
  })
144
154
  },
145
155
  onJfbScroll(options) {
@@ -18,10 +18,22 @@ export default {
18
18
  className: "input80",
19
19
  },
20
20
  {
21
+ label: "【(可使用多张票券点数)】是否展示",
22
+ ele: 'xd-radio',
23
+ valueKey: "showText2",
24
+ value: data.showText2 || 'Y',
25
+ groupKey: "content",
26
+ inline: true,
27
+ list: [
28
+ { label: "展示", value: "Y" },
29
+ { label: "不展示", value: "N" },
30
+ ],
31
+ },
32
+ data.showText2 === 'Y' && {
21
33
  label: "【(可使用多张票券点数)】文案:",
22
34
  ele: "el-input",
23
35
  valueKey: "text2",
24
- value: data.text2 || '',
36
+ value: data.text2 || '(可使用多张票券点数)',
25
37
  placeholder: '(可使用多张票券点数)',
26
38
  groupKey: "content",
27
39
  inline: false,
@@ -100,7 +100,7 @@
100
100
  <view class="remain_pay" v-if="payInfo.channel_amount > 0">
101
101
  <view style="border-bottom: 2rpx solid #eee;" class="column-group">
102
102
  <view class="column-item" style="padding: 30rpx 60rpx">
103
- <view class="column_label">{{text1}}<text class="label_sub">{{ text2 }}</text></view>
103
+ <view class="column_label">{{text1}}<text v-if="showText2==='Y'" class="label_sub">{{ text2 }}</text></view>
104
104
  <view class="column_value text-primary">
105
105
  <xd-unit
106
106
  :price="payInfo.channel_amount"
@@ -216,6 +216,7 @@ export default {
216
216
  text1: "",
217
217
  text2: "",
218
218
  text3: "",
219
+ showText2: "Y",
219
220
  showContinuePay: "",
220
221
  };
221
222
  },
@@ -266,9 +267,10 @@ export default {
266
267
  * @param container {object} 业务组件对象自己
267
268
  */
268
269
  init(container) {
269
- this.text1 = getContainerPropsValue(container, 'content.text1', "");
270
- this.text2 = getContainerPropsValue(container, 'content.text2', "");
271
- this.text3 = getContainerPropsValue(container, 'content.text3', "");
270
+ this.text1 = getContainerPropsValue(container, 'content.text1', "仍需扣点");
271
+ this.text2 = getContainerPropsValue(container, 'content.text2', "(可使用多张票券点数)");
272
+ this.text3 = getContainerPropsValue(container, 'content.text3', "选择以下补差方式");
273
+ this.showText2 = getContainerPropsValue(container, 'content.showText2', "Y");
272
274
  this.showContinuePay = getContainerPropsValue(container, 'content.showContinuePay', 'Y');
273
275
  this.paySuccessPath = getContainerPropsValue(
274
276
  container,
@@ -207,6 +207,7 @@ export default {
207
207
  callback_url: "",
208
208
  isCollectUsername: false,
209
209
  showDialog: false,
210
+ share_code: "",
210
211
 
211
212
  inputStyle: "linear", //输入框样式 linear:线性 face: 面性
212
213
  formBorderColor: "#F9F9F9", //
@@ -367,6 +368,7 @@ export default {
367
368
  this.auth_code = options.auth_code;
368
369
  this.provider_id = options.provider_id;
369
370
  this.callback_url = options.callback_url;
371
+ this.share_code = options.share_code;
370
372
  },
371
373
  /**
372
374
  * @description 监听事件变化
@@ -562,6 +564,7 @@ export default {
562
564
  auth_code,
563
565
  provider_id,
564
566
  phone_number,
567
+ share_code,
565
568
  }
566
569
  }).then(res => {
567
570
  this.$xdHideLoading();
@@ -87,14 +87,7 @@
87
87
  },
88
88
  methods: {
89
89
  onJfbLoad(options) {
90
- jfbRootExec("getPointsPropertyList", {
91
- vm: this,
92
- data: {},
93
- }).then(res => {
94
- this.typeList = res.list
95
- }).catch(err => {
96
- console.log(err, "err");
97
- })
90
+ this.getList()
98
91
  },
99
92
  /**
100
93
  * @description 监听事件变化
@@ -114,6 +107,16 @@
114
107
  this.withdrawPath = getContainerPropsValue(container, 'content.withdrawPath', { value: "" }).value;
115
108
  this.couponPath = getContainerPropsValue(container, 'content.couponPath', { value: "" }).value;
116
109
  },
110
+ getList(){
111
+ jfbRootExec("getPointsPropertyList", {
112
+ vm: this,
113
+ data: {},
114
+ }).then(res => {
115
+ this.typeList = res.list
116
+ }).catch(err => {
117
+ console.log(err, "err");
118
+ })
119
+ },
117
120
  getAmout(amount) {
118
121
  return this.$xdUniHelper.divisionFloatNumber(amount, 100)
119
122
  },
@@ -136,6 +139,7 @@
136
139
  },
137
140
  onJfbShow(options) {
138
141
  console.log('event.onJfbShow', options)
142
+ this.getList()
139
143
  },
140
144
  onJfbHide(options) {
141
145
  console.log('event.onJfbHide', options)
@@ -56,6 +56,13 @@ export default {
56
56
  });
57
57
  },
58
58
  },
59
+ {
60
+ label: "背景颜色:",
61
+ ele: "xd-color",
62
+ valueKey: "bgColor",
63
+ value: data.bgColor || null,
64
+ groupKey: "style",
65
+ },
59
66
  {
60
67
  label: '背景图:',
61
68
  ele: 'xd-upload',
@@ -82,6 +89,7 @@ export default {
82
89
  valueKey: "title",
83
90
  value: data.title || '',
84
91
  groupKey: 'content',
92
+ height:200,
85
93
  imageConfig: {
86
94
  sort: true,
87
95
  maxlen: 100,
@@ -68,6 +68,7 @@
68
68
  radius: 0,
69
69
  margin: {},
70
70
  padding: {},
71
+ bgColor: ''
71
72
  }
72
73
  },
73
74
  watch: {
@@ -79,6 +80,7 @@
79
80
  computed: {
80
81
  bodyStyleComp() {
81
82
  return {
83
+ backgroundColor: this.bgColor,
82
84
  backgroundImage: `url(${this.backgroundImage})`,
83
85
  backgroundSize: '100% 100%',
84
86
  backgroundPosition: 'center',
@@ -123,7 +125,6 @@
123
125
  },
124
126
  getPosterGroup(item) {
125
127
  this.tab = item.random;
126
- this.imageGroup = [];
127
128
  jfbRootExec('getListPosterGroupContent', {
128
129
  vm: this,
129
130
  data: {
@@ -149,6 +150,7 @@
149
150
  this.morePath = getContainerPropsValue(container, 'content.morePath', { value: "" }).value;
150
151
  this.is_show_more = getContainerPropsValue(container, 'content.is_show_more', 'Y');
151
152
  this.backgroundImage = getServiceUrl(getContainerPropsValue(container, 'content.backgroundImage', { url: "" }).url);
153
+ this.bgColor = getContainerPropsValue(value, "content.bgColor", "#FFFFFF");
152
154
  this.title = getContainerPropsValue(container, 'content.title', '<p style="font-weight:bold;font-size:16px"><span style="color: #FFF">全球大牌,会员低至</span><span style="color: #F2D894">8折</span></p>');
153
155
  this.subtitle = getContainerPropsValue(container, 'content.subtitle', '超300+品牌商品');
154
156
  this.radius = getContainerPropsValue(container, 'content.radius', 20);
@@ -244,7 +244,55 @@ export default {
244
244
  selected:defContBorder.type
245
245
  },
246
246
  },
247
- {
247
+ data['is_plus_site']==='Y'&&{
248
+ label: "plus用户昵称字体样式设置",
249
+ ele: "xd-text-and-bgc",
250
+ groupKey:'style',
251
+ valueKey: 'plusNickStyle',
252
+ value: data['plusNickStyle'] || null,
253
+ setting: {
254
+ fontSize: true,
255
+ color: true,
256
+ bgColor: false,
257
+ weight: true,
258
+ selected:false
259
+ },
260
+ handleCustom({action, data}) {
261
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_font_size'})
262
+ .then(res => {
263
+ data.cb(res.list)
264
+ })
265
+ .catch(error => {
266
+ console.error(error);
267
+ data.cb([])
268
+ });
269
+ },
270
+ },
271
+ data['is_plus_site']==='Y'&&{
272
+ label: "普通用户昵称字体样式设置",
273
+ ele: "xd-text-and-bgc",
274
+ groupKey:'style',
275
+ valueKey: 'normalNickStyle',
276
+ value: data['normalNickStyle'] || null,
277
+ setting: {
278
+ fontSize: true,
279
+ color: true,
280
+ bgColor: false,
281
+ weight: true,
282
+ selected:false
283
+ },
284
+ handleCustom({action, data}) {
285
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_font_size'})
286
+ .then(res => {
287
+ data.cb(res.list)
288
+ })
289
+ .catch(error => {
290
+ console.error(error);
291
+ data.cb([])
292
+ });
293
+ },
294
+ },
295
+ data['is_plus_site']==='N'&&{
248
296
  label: "昵称字体样式设置",
249
297
  ele: "xd-text-and-bgc",
250
298
  groupKey:'style',
@@ -556,6 +604,18 @@ export default {
556
604
  },
557
605
  inline: false,
558
606
  },
607
+ data['is_plus_site']==='Y'&&{
608
+ label: '个人资料路径:',
609
+ ele: 'xd-select-pages-path',
610
+ valueKey: 'profilePath',
611
+ groupKey:'advanced',
612
+ placeholder: '请选择二维码路径',
613
+ value: data['profilePath'] || null,
614
+ setting: {
615
+ router: XdBus.getParentApi('getPagesTree'),
616
+ },
617
+ inline: false,
618
+ },
559
619
  {
560
620
  label: '',
561
621
  ele: 'slot',
@@ -13,18 +13,18 @@
13
13
  class="jfb-base-user-info__body-plus-header-top">
14
14
  <view class="jfb-base-user-info__body-plus-header-top-left">
15
15
  <template v-if="logined">
16
- <image :style="{border: `1px solid ${imageColor}`, borderRadius:imageRadius}"
16
+ <image @click="handleToPersonal" :style="{border: `1px solid ${imageColor}`, borderRadius:imageRadius}"
17
17
  v-if="userInfo['head_url']" :src="userInfo['head_url']"></image>
18
18
  <view :style="{borderColor: imageColor, borderRadius:imageRadius}" class="no-image" v-else>
19
19
  <xd-font-icon :color="imageColor" icon="iconwode_mian" size="100"></xd-font-icon>
20
20
  </view>
21
21
  </template>
22
- <view :style="{borderColor: imageColor, borderRadius:imageRadius}" v-else class="no-image">
22
+ <view @click="handleToPersonal" :style="{borderColor: imageColor, borderRadius:imageRadius}" v-else class="no-image">
23
23
  <xd-font-icon :color="imageColor" icon="iconwode_mian" size="90"></xd-font-icon>
24
24
  </view>
25
25
  <view class="jfb-base-user-info__body-plus-header-top-left-info">
26
26
  <view class="jfb-base-user-info__body-plus-header-top-left-info-name" v-if="logined">
27
- <view :style="[nickNameStyle]">{{userInfo|getName}} </view>
27
+ <view :style="is_vip==='Y'?[plusNickNameStyle]:[normalNickNameStyle]">{{userInfo|getName}} </view>
28
28
  <view v-if="is_vip==='Y'"><text>PLUS</text>会员</view>
29
29
  <view v-else>普通用户</view>
30
30
  </view>
@@ -190,7 +190,20 @@
190
190
  if (this.is_border === 'Y') return `${this.is_border_w}rpx ${this.is_border_s} ${this.is_border_c}`;
191
191
  else return '0';
192
192
  },
193
-
193
+ plusNickNameStyle() {
194
+ return {
195
+ fontSize: this.plusNickStyle.fontSize || '32rpx',
196
+ color: `${this.plusNickStyle.color ||'#333'}`,
197
+ fontWeight: `${this.plusNickStyle.fontWeight || 'normal'}`,
198
+ }
199
+ },
200
+ normalNickNameStyle() {
201
+ return {
202
+ fontSize: this.normalNickStyle.fontSize || '32rpx',
203
+ color: `${this.normalNickStyle.color ||'#333'}`,
204
+ fontWeight: `${this.normalNickStyle.fontWeight || 'normal'}`,
205
+ }
206
+ },
194
207
  nickNameStyle() {
195
208
  return {
196
209
  fontSize: this.nickStyle.fontSize || '32rpx',
@@ -253,6 +266,8 @@
253
266
  margin: {},
254
267
  padding: {},
255
268
  nickStyle: {},
269
+ normalNickStyle: {},
270
+ plusNickStyle: {},
256
271
  logoutStyle: {},
257
272
  rightContent: null,
258
273
  addressUrl: '',
@@ -270,7 +285,8 @@
270
285
  plusBottomBackgroundColor: '',
271
286
  normalTopBackgroundColor: '',
272
287
  normalBottomBackgroundColor: '',
273
- codePath: ''
288
+ codePath: '',
289
+ profilePath: ''
274
290
  }
275
291
  },
276
292
  watch: {
@@ -399,6 +415,14 @@
399
415
  this.openVipPath = getContainerPropsValue(container, 'content.openVipPath', { value: "" }).value;
400
416
  this.viewPath = getContainerPropsValue(container, 'content.viewPath', { value: "" }).value;
401
417
  this.codePath = getContainerPropsValue(container, 'content.codePath', { value: "" }).value;
418
+ this.profilePath = getContainerPropsValue(container, 'content.profilePath', { value: "" }).value;
419
+ this.plusNickStyle = getContainerPropsValue(container, 'content.plusNickStyle', {});
420
+ this.normalNickStyle = getContainerPropsValue(container, 'content.normalNickStyle', {});
421
+ },
422
+ handleToPersonal(){
423
+ this.$xdUniHelper.navigateTo({
424
+ url: this.profilePath
425
+ })
402
426
  },
403
427
  handleAddress() {
404
428
  this.$xdUniHelper.navigateTo({
@@ -185,6 +185,10 @@
185
185
  },
186
186
  onJfbShow(options) {
187
187
  console.log('event.onJfbShow', options)
188
+ this.method = options.method
189
+ this.wallet_type = options.wallet_type
190
+ this.getContent()
191
+ this.getDetail()
188
192
  },
189
193
  onJfbHide(options) {
190
194
  console.log('event.onJfbHide', options)