jufubao-base 1.0.159-beta1 → 1.0.159-beta11

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.
Files changed (70) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseAddress/JfbBaseAddress.vue +3 -2
  3. package/src/components/JfbBaseAfterOrderDetail/JfbBaseAfterOrderDetail.vue +3 -2
  4. package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +3 -2
  5. package/src/components/JfbBaseBack/JfbBaseBack.vue +3 -2
  6. package/src/components/JfbBaseBackground/JfbBaseBackground.vue +3 -2
  7. package/src/components/JfbBaseBlock/JfbBaseBlock.vue +3 -2
  8. package/src/components/JfbBaseCard/JfbBaseCard.vue +6 -5
  9. package/src/components/JfbBaseCardBindV2/JfbBaseCardBindV2.vue +3 -2
  10. package/src/components/JfbBaseCardDetail/JfbBaseCardDetail.vue +0 -1
  11. package/src/components/JfbBaseCardDetailEntry/Attr.js +22 -0
  12. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +85 -35
  13. package/src/components/JfbBaseCardDisabled/JfbBaseCardDisabled.vue +3 -3
  14. package/src/components/JfbBaseCardDisabledEntry/JfbBaseCardDisabledEntry.vue +3 -4
  15. package/src/components/JfbBaseCardEntry/Attr.js +22 -1
  16. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +90 -36
  17. package/src/components/JfbBaseCardInfo/JfbBaseCardInfo.vue +25 -4
  18. package/src/components/JfbBaseCardInfoEntry/Attr.js +22 -0
  19. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +283 -262
  20. package/src/components/JfbBaseCardMerge/JfbBaseCardMerge.vue +3 -2
  21. package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntry.vue +3 -2
  22. package/src/components/JfbBaseCardShift/JfbBaseCardShift.vue +3 -10
  23. package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntry.vue +15 -18
  24. package/src/components/JfbBaseCardSweepInfo/JfbBaseCardSweepInfo.vue +3 -2
  25. package/src/components/JfbBaseCardV3/JfbBaseCardV3.vue +14 -14
  26. package/src/components/JfbBaseCity/JfbBaseCity.vue +3 -2
  27. package/src/components/JfbBaseClear/JfbBaseClear.vue +3 -2
  28. package/src/components/JfbBaseConList/JfbBaseConList.vue +4 -5
  29. package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +3 -2
  30. package/src/components/JfbBaseEntry/JfbBaseEntry.vue +4 -3
  31. package/src/components/JfbBaseExpressDetail/JfbBaseExpressDetail.vue +3 -4
  32. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +17 -15
  33. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +0 -1
  34. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +3 -2
  35. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +26 -9
  36. package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwd.vue +6 -8
  37. package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwd.vue +6 -3
  38. package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlay.vue +6 -5
  39. package/src/components/JfbBaseMapSearch/JfbBaseMapSearch.vue +3 -2
  40. package/src/components/JfbBaseMergeUserCard/JfbBaseMergeUserCard.vue +28 -27
  41. package/src/components/JfbBaseMultipleExpress/JfbBaseMultipleExpress.vue +3 -4
  42. package/src/components/JfbBaseMy/JfbBaseMy.vue +3 -3
  43. package/src/components/JfbBaseMySetting/JfbBaseMySetting.vue +6 -4
  44. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +6 -4
  45. package/src/components/JfbBaseNoticeBottom/JfbBaseNoticeBottom.vue +3 -2
  46. package/src/components/JfbBaseNoticeTop/JfbBaseNoticeTop.vue +3 -2
  47. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +18 -29
  48. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +8 -3
  49. package/src/components/JfbBasePay/JfbBasePay.vue +3 -2
  50. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +22 -7
  51. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +23 -7
  52. package/src/components/JfbBasePosterType/FourScreen.vue +12 -6
  53. package/src/components/JfbBaseRecharge/JfbBaseRecharge.vue +4 -4
  54. package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrder.vue +3 -4
  55. package/src/components/JfbBaseRechargeOrderDetail/JfbBaseRechargeOrderDetail.vue +4 -7
  56. package/src/components/JfbBaseRechargeSuccess/JfbBaseRechargeSuccess.vue +6 -9
  57. package/src/components/JfbBaseSearch/JfbBaseSearch.vue +3 -2
  58. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +3 -3
  59. package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +3 -2
  60. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +3 -2
  61. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +4 -3
  62. package/src/components/JfbBaseVideo/JfbBaseVideo.vue +6 -4
  63. package/src/components/JfbBaseWallet/JfbBaseWallet.vue +3 -2
  64. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetail.vue +5 -8
  65. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffective.vue +5 -8
  66. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndex.vue +3 -4
  67. package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +8 -17
  68. package/src/components/JfbBaseWebview/JfbBaseWebview.vue +4 -3
  69. package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorize.vue +3 -2
  70. package/src/components/JfbBaseWxAuthorizeError/JfbBaseWxAuthorizeError.vue +3 -4
@@ -387,6 +387,8 @@ import { mapState, mapActions } from "vuex";
387
387
  import { getContainerPropsValue, isWechat,isQrCode } from "@/utils/xd.base";
388
388
  import XdNoticeBar from "@/components/XdNoticeBar/XdNoticeBar";
389
389
  import { Base64 } from "js-base64";
390
+ import getServiceUrl from "@/common/getServiceUrl";
391
+ import {parsePath} from "@/utils/linkUrl";
390
392
  const Color = require("color");
391
393
 
392
394
  export default {
@@ -414,8 +416,9 @@ export default {
414
416
  }
415
417
  },
416
418
  watch: {
417
- container(value) {
418
- this.init(value)
419
+ container(value,oldValue) {
420
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
421
+ if (this.$configProject['isPreview']) this.init(value)
419
422
  },
420
423
  tabIndex(){
421
424
  this.clearDefault();
@@ -434,6 +437,7 @@ export default {
434
437
  isPreview: false,
435
438
  noticeStatus: false,
436
439
  loadingCardList: true,
440
+ entryGroupId: '',//加载入口数据组别
437
441
 
438
442
  cutIndex: 1,
439
443
  tabIndex: 1,
@@ -466,9 +470,9 @@ export default {
466
470
  this.init(this.container);
467
471
  this.noticeBackgroundColor = Color(this.warningColor).alpha(0.2).toString();
468
472
  this.isPreview = this.$configProject.isPreview;
473
+ this.isQrCode = isQrCode(this);
469
474
 
470
475
  //#ifdef H5
471
- this.isQrCode = isQrCode(this);
472
476
  if (!this.$configProject.isPreview) {
473
477
  jfbRootExec("getH5WxAuthorize", {
474
478
  vm: this,
@@ -487,7 +491,6 @@ export default {
487
491
  methods: {
488
492
 
489
493
  init(container){
490
- //设置
491
494
  this.cardLayout = getContainerPropsValue(container,"content.cardLayout","1");
492
495
  this.changeUrl = getContainerPropsValue(container,"content.change_url",{value: ""}).value;
493
496
  this.disabledUrl = getContainerPropsValue(container,"content.disabled_url",{value: ""}).value;
@@ -497,6 +500,8 @@ export default {
497
500
  this.login_name = getContainerPropsValue(container, "content.login_name", "登录");
498
501
  this.isShowCode = getContainerPropsValue(container, "content.isShowCode", "Y");
499
502
  this.bindCard = getContainerPropsValue(container,"content.bindCard","1");
503
+ //'wechat_mini_program|default'
504
+ this.entryGroupId = getContainerPropsValue(container,"content.entryGroupId","default");
500
505
  },
501
506
 
502
507
  handleToLink(path) {
@@ -554,7 +559,7 @@ export default {
554
559
  uni.scanCode({
555
560
  scanType: ["qrCode"],
556
561
  success: (res) => {
557
- let path = this.getUrlCallback(`${this.confirmUrl}?qrcode=${encodeURIComponent(res.resultStr)}`)
562
+ let path = this.getUrlCallback(`${this.confirmUrl}?qrcode=${encodeURIComponent(res.result)}`)
558
563
  this.$xdUniHelper.navigateTo({
559
564
  url:path,
560
565
  });
@@ -578,6 +583,7 @@ export default {
578
583
  /**
579
584
  * @description 已绑定卡登录
580
585
  * @param item
586
+ * @param entry
581
587
  */
582
588
  handleBindLogin(item , entry) {
583
589
  //卡券登录
@@ -593,10 +599,12 @@ export default {
593
599
  })
594
600
  .then((res) => {
595
601
  this.$xdHideLoading();
602
+
596
603
  //#ifdef MP-WEIXIN
597
604
  if (this.jfbAuthorize !== null) {
598
605
  this.jfbAuthorize.setCardToken(res);
599
- this.handleToApp(entry);
606
+ this.handleClick(entry);
607
+ return
600
608
  }
601
609
  //#endif
602
610
  if (this.$configProject.isPreview) {
@@ -604,7 +612,7 @@ export default {
604
612
  }
605
613
 
606
614
  else {
607
- this.handleToApp(entry);
615
+ this.handleClick(entry);
608
616
  }
609
617
  })
610
618
  .catch((res) => {
@@ -619,43 +627,84 @@ export default {
619
627
  }, false);
620
628
  }
621
629
  },
622
- toApp(url){
623
- this.$xdUniHelper.redirectTo({
624
- url
625
- })
626
- },
627
- handleToApp(entry){
628
- let item, redirectUrl;
629
- try{
630
- item = JSON.parse(entry['redirect_data']);
631
- }catch (e) {
632
- return;
630
+
631
+
632
+ getCardPath(custom_redirect_data = {}){
633
+ //#ifdef H5
634
+ return null;
635
+ //#endif
636
+ //#ifdef MP-WEIXIN
637
+ const dir = custom_redirect_data.dir;
638
+ const actDir = this.projectAttr['deploy_dir'];
639
+ if(custom_redirect_data.appType === 'wxmp') {
640
+ if(dir === actDir) {
641
+ return {
642
+ cardPath: custom_redirect_data.path,
643
+ cardSelf: 'wxmp',
644
+ };
645
+ }
646
+ else return null;
633
647
  }
634
- const {dir, path, host} = item;
648
+ else if(custom_redirect_data.appType === 'h5'){
649
+ return {
650
+ cardPath: custom_redirect_data.site_url,
651
+ cardSelf: 'h5',
652
+ };
653
+ }
654
+ else return null;
655
+ //#endif
656
+ },
657
+
658
+ handleClick(entry){
659
+ const {dir, path, host, appType} = entry['redirect_data'];
660
+ let regHttp = /^(\/\/|http:\/\/|https:\/\/).+$/;
661
+ let regSp = /(-apiuri\/v)/;
662
+
663
+ if(!appType) entry.redirect_data.appType = 'h5';
635
664
  let nsp = Base64.encodeURI(JSON.stringify({business_code: entry['business_code']}));
636
665
 
637
666
  //外站配置地址
638
- if (entry.redirect_type === 'URL') {
639
- if (item['path'].indexOf('?') === -1) {
640
- redirectUrl = `${item['path']}?x-common=${nsp}&vs=${new Date().getTime()}`
641
- } else redirectUrl = `${item['path']}&x-common=${nsp}&vs=${new Date().getTime()}`;
642
- this.toApp(redirectUrl);
643
- return;
667
+ if(entry.redirect_type === 'URL') {
668
+ if(regHttp.test(entry.redirect_data['path']) || regSp.test(entry.redirect_data['path'])) {
669
+ this.$xdUniHelper.redirectTo({
670
+ url:`${entry.redirect_data['path']}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`
671
+ }, false)
672
+ }
673
+ else {
674
+ console.error(`配置错误:${entry.redirect_data['path']}`);
675
+ throw new Error(`配置错误:${entry.redirect_data['path']}`)
676
+ }
677
+ return
644
678
  }
645
679
 
646
- //站内转换
647
- let jumpUrl = item.path;
648
- //#ifdef H5
649
- jumpUrl = `//${host}/${dir}${path}`;
650
- //#endif
651
-
652
- if (item['fixed_business_code'] === '') {
653
- redirectUrl = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}`
680
+ //站内应用处理
681
+ let jumpUrl = path;
682
+ let cardPathStr = '';
683
+ const {deploy_dir} = this.projectAttr;
684
+ if(host === this.projectAttr.host && deploy_dir !== dir){
685
+ jumpUrl = `//${host}/${dir}${path}`;
686
+ //#ifdef MP-WEIXIN
687
+ jumpUrl = `https:${jumpUrl}`;
688
+ //#endif
654
689
  }
655
- else {
656
- redirectUrl = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}`
690
+
691
+
692
+ //#ifdef MP-WEIXIN
693
+ //获取自定义卡券登录地址(微信小程序跳转到H5平台起作用)
694
+ if(entry.redirect_data.appType === 'h5') {
695
+ const custom_redirect_data = this.$xdUniHelper.checkVarType(entry['custom_redirect_data']) === 'object'?entry['custom_redirect_data']:{};
696
+ const cardPathObject = this.getCardPath(custom_redirect_data);
697
+ if(cardPathObject !== null) {
698
+ const {cardPath, cardSelf} =cardPathObject
699
+ if(cardPath) cardPathStr = `&card-login=${encodeURIComponent(cardPath)}&cardSelf=${cardSelf}`
700
+ }
657
701
  }
658
- this.toApp(redirectUrl);
702
+ //#endif
703
+
704
+ jumpUrl = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`;
705
+ console.warn(`entry.path:${jumpUrl}`);
706
+ if(regHttp.test(jumpUrl)) this.$xdUniHelper.redirectTo({url:jumpUrl}, false)
707
+ else this.$xdUniHelper.navigateTo({url:jumpUrl}, false)
659
708
  },
660
709
 
661
710
  toDetail(item, out=true) {
@@ -693,6 +742,7 @@ export default {
693
742
  if(options['jfb_business_code']) {
694
743
  params['card_business_code'] = options['jfb_business_code'];
695
744
  }
745
+ if(this.entryGroupId) params['group_id'] = this.entryGroupId;
696
746
  this.$xdShowLoading({});
697
747
  jfbRootExec("getListEntryCardBind", {
698
748
  vm: this,
@@ -714,6 +764,10 @@ export default {
714
764
  ),
715
765
  };
716
766
  });
767
+
768
+ //过滤入口配置
769
+ res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
770
+
717
771
  this.ajaxCardList = res;
718
772
  this.hasChangeStatus = this.getCardGroupItem(this.ajaxCardList.list.filter((item) => {
719
773
  return item["is_exchange"] === "Y";
@@ -31,15 +31,26 @@
31
31
  <view class="jfb-base-card-info__body-form">
32
32
  <view class="jfb-base-card-info__body-form-label">票券密码</view>
33
33
  <input
34
+ class="mp"
34
35
  max="18"
35
36
  :password="isPassword"
36
37
  v-model="card_password"
37
38
  :placeholder="card_pwd_placeholder"
38
39
  />
40
+ <!--#ifdef H5-->
39
41
  <xd-font-icon
40
42
  @click="handleIcon()"
41
43
  :icon="isPassword ? 'iconbiyan' : 'iconchakan'"
42
44
  ></xd-font-icon>
45
+ <!--#endif-->
46
+ <!--#ifdef MP-WEIXIN-->
47
+ <xd-font-icon
48
+ :width="72"
49
+ :height="72"
50
+ @click="handleIcon()"
51
+ :icon="isPassword ? 'iconbiyan' : 'iconchakan'"
52
+ ></xd-font-icon>
53
+ <!--#endif-->
43
54
  </view>
44
55
  </view>
45
56
  <view class="jfb-base-card-info__body-footer" :style="prod_bottom">
@@ -60,9 +71,7 @@
60
71
  <view v-if="isShowBalance" class="jfb-base-card-info__body-residue">
61
72
  <view class="jfb-base-card-info__body-residue-wrap">
62
73
  <view class="jfb-base-card-info__body-residue-label">
63
- <view :style="{ color: '#242424', fontSize: '28rpx' }"
64
- >剩余元宝</view
65
- >
74
+ <view :style="{ color: '#242424', fontSize: '28rpx' }">剩余元宝</view>
66
75
  </view>
67
76
  <view class="jfb-base-card-info__body-residue-value">
68
77
  <xd-unit
@@ -282,13 +291,15 @@ export default {
282
291
  },
283
292
  onJfbLoad(options) {
284
293
  this.init();
294
+
285
295
  this.qrcode = options.qrcode;
296
+
286
297
  //#ifdef MP-WEIXIN
287
298
  if(options.qrcode) {
288
299
  this.qrcode = decodeURIComponent(options.qrcode);
289
300
  }
290
-
291
301
  //#endif
302
+
292
303
  if(options.inCallback) {
293
304
  this.inCallbackUrlOrg = options.inCallback;
294
305
  }
@@ -403,6 +414,16 @@ export default {
403
414
  color: #a6a6a6;
404
415
  margin-right: unit(70, rpx);
405
416
  text-align: center;
417
+
418
+
419
+ }
420
+
421
+ & .mp {
422
+ display: flex;
423
+ justify-content: center;
424
+ align-items: center;
425
+ width: 72rpx;
426
+ height: 72rpx
406
427
  }
407
428
 
408
429
  input {
@@ -4,6 +4,28 @@ export default {
4
4
  style: [],
5
5
  advanced: [],
6
6
  content: [
7
+ {
8
+ label: '选择综合入口类型:',
9
+ ele: 'xd-site-select-list',
10
+ valueKey: 'entryGroupId',
11
+ value: 'default',
12
+ placeholder: '请选择综合入口类型',
13
+ multiple: false,
14
+ groupKey:'content',
15
+ className: 'input50',
16
+ rules: [
17
+ {required: true, message: '请选择综合入口类型', trigger: ['blur', 'change']}
18
+ ],
19
+ handleCustom({action, data}) {
20
+ XdBus.getParentApi('getEntryGroupOption')({key: Date.now()})
21
+ .then(res => {
22
+ data.cb(res.list)
23
+ })
24
+ .catch(error => {
25
+ console.error(error);
26
+ });
27
+ },
28
+ },
7
29
  {
8
30
  label: '票券绑定成功回跳地址:',
9
31
  ele: 'xd-select-pages-path',