jufubao-base 1.0.158 → 1.0.159-beta2

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 (84) hide show
  1. package/package.json +1 -1
  2. package/src/common/authorize.js +201 -70
  3. package/src/components/JfbBaseAddress/JfbBaseAddress.vue +7 -6
  4. package/src/components/JfbBaseAfterOrderDetail/JfbBaseAfterOrderDetail.vue +5 -3
  5. package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +3 -2
  6. package/src/components/JfbBaseBack/JfbBaseBack.vue +10 -8
  7. package/src/components/JfbBaseBackground/JfbBaseBackground.vue +3 -2
  8. package/src/components/JfbBaseBlock/JfbBaseBlock.vue +3 -2
  9. package/src/components/JfbBaseCard/JfbBaseCard.vue +8 -4
  10. package/src/components/JfbBaseCardBindV2/JfbBaseCardBindV2.vue +57 -26
  11. package/src/components/JfbBaseCardDetail/JfbBaseCardDetail.vue +14 -15
  12. package/src/components/JfbBaseCardDetailEntry/Attr.js +22 -0
  13. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +361 -425
  14. package/src/components/JfbBaseCardDisabled/JfbBaseCardDisabled.vue +4 -4
  15. package/src/components/JfbBaseCardDisabledEntry/JfbBaseCardDisabledEntry.vue +7 -9
  16. package/src/components/JfbBaseCardEntry/Attr.js +22 -1
  17. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +81 -34
  18. package/src/components/JfbBaseCardInfo/JfbBaseCardInfo.vue +35 -19
  19. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +8 -4
  20. package/src/components/JfbBaseCardMerge/JfbBaseCardMerge.vue +4 -3
  21. package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntry.vue +23 -18
  22. package/src/components/JfbBaseCardShift/JfbBaseCardShift.vue +4 -11
  23. package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntry.vue +16 -19
  24. package/src/components/JfbBaseCardSweepInfo/JfbBaseCardSweepInfo.vue +3 -2
  25. package/src/components/JfbBaseCardV2/JfbBaseCardV2.vue +34 -18
  26. package/src/components/JfbBaseCardV3/JfbBaseCardV3.vue +14 -14
  27. package/src/components/JfbBaseCity/JfbBaseCity.vue +3 -2
  28. package/src/components/JfbBaseClear/JfbBaseClear.vue +3 -2
  29. package/src/components/JfbBaseConList/JfbBaseConList.vue +3 -2
  30. package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +3 -2
  31. package/src/components/JfbBaseEntry/Attr.js +22 -0
  32. package/src/components/JfbBaseEntry/JfbBaseEntry.vue +80 -16
  33. package/src/components/JfbBaseExpressDetail/JfbBaseExpressDetail.vue +3 -4
  34. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +31 -20
  35. package/src/components/JfbBaseFastLink/XdFastNav.vue +2 -2
  36. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +0 -1
  37. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +3 -2
  38. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +16 -6
  39. package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwd.vue +7 -9
  40. package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwd.vue +6 -6
  41. package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlay.vue +19 -5
  42. package/src/components/JfbBaseMapOverlay/XdMapOverlay.vue +52 -37
  43. package/src/components/JfbBaseMapSearch/JfbBaseMapSearch.vue +3 -2
  44. package/src/components/JfbBaseMergeUserCard/JfbBaseMergeUserCard.vue +28 -27
  45. package/src/components/JfbBaseMultipleExpress/JfbBaseMultipleExpress.vue +5 -5
  46. package/src/components/JfbBaseMy/JfbBaseMy.vue +3 -3
  47. package/src/components/JfbBaseMySetting/JfbBaseMySetting.vue +6 -4
  48. package/src/components/JfbBaseNotice/Attr.js +0 -2
  49. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +36 -14
  50. package/src/components/JfbBaseNotice/XdNoticeBar.vue +17 -1
  51. package/src/components/JfbBaseNoticeBottom/JfbBaseNoticeBottom.vue +3 -2
  52. package/src/components/JfbBaseNoticeTop/JfbBaseNoticeTop.vue +3 -2
  53. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +5 -4
  54. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +4 -3
  55. package/src/components/JfbBasePay/JfbBasePay.vue +3 -2
  56. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +12 -7
  57. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +13 -7
  58. package/src/components/JfbBasePoster/JfbBasePoster.vue +118 -18
  59. package/src/components/JfbBasePoster/MoreScreen.vue +155 -37
  60. package/src/components/JfbBasePosterBigSmall/Attr.js +1 -4
  61. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +191 -67
  62. package/src/components/JfbBasePosterEntry/JfbBasePosterEntry.vue +90 -20
  63. package/src/components/JfbBasePosterType/FourScreen.vue +162 -18
  64. package/src/components/JfbBasePosterType/JfbBasePosterType.vue +0 -35
  65. package/src/components/JfbBaseRecharge/JfbBaseRecharge.vue +4 -4
  66. package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrder.vue +3 -4
  67. package/src/components/JfbBaseRechargeOrderDetail/JfbBaseRechargeOrderDetail.vue +4 -7
  68. package/src/components/JfbBaseRechargeSuccess/JfbBaseRechargeSuccess.vue +6 -9
  69. package/src/components/JfbBaseSearch/JfbBaseSearch.vue +3 -2
  70. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +2 -1
  71. package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +3 -2
  72. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +5 -3
  73. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +4 -3
  74. package/src/components/JfbBaseVideo/JfbBaseVideo.vue +14 -11
  75. package/src/components/JfbBaseVideo/XdVideo.vue +0 -4
  76. package/src/components/JfbBaseWallet/JfbBaseWallet.vue +3 -2
  77. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetail.vue +5 -8
  78. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffective.vue +5 -8
  79. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndex.vue +7 -17
  80. package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +13 -21
  81. package/src/components/JfbBaseWebview/JfbBaseWebview.vue +4 -3
  82. package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorize.vue +5 -4
  83. package/src/components/JfbBaseWxAuthorizeError/JfbBaseWxAuthorizeError.vue +3 -4
  84. package/src/mixins/colorCardMixins.js +1 -1
@@ -24,7 +24,7 @@
24
24
  <view
25
25
  class="card-list"
26
26
  :style="{
27
- background: headerBg['color'],
27
+ background: headerBg['color'],
28
28
  backgroundSize: '100%'
29
29
  }">
30
30
  <view class="card-list-warp" :style="{backgroundImage: `url(${headerBg['image']})`}">
@@ -74,21 +74,17 @@
74
74
  <view>转换后预估票券额度</view>
75
75
  </view>
76
76
  <view
77
- :class="
78
- item.key === 'other_card_point'
79
- ? 'jfb-base-card-shift-entry__body-content-special'
80
- : 'jfb-base-card-shift-entry__body-content-item'
81
- "
77
+ :class=" item.key === 'other_card_point'? 'jfb-base-card-shift-entry__body-content-special': 'jfb-base-card-shift-entry__body-content-item'"
82
78
  v-for="(item, index) in changeValueKey"
83
79
  :key="index"
84
80
  >
85
81
  <view> {{ item.label }}: </view>
86
82
  <view :style="{color:mainColor,fontWeight:500}" v-if="item.type === 'price'">
87
- {{ info[item.key] }}
83
+ <text>{{ info[item.key] }}</text>
88
84
  <text>点</text>
89
85
  </view>
90
86
  <view style="color: #333; font-weight: 500" v-else>
91
- {{ info[item.key] }}
87
+ <text>{{ info[item.key] }}</text>
92
88
  <text v-if="item.type === 'type'">券</text>
93
89
  </view>
94
90
  </view>
@@ -109,9 +105,8 @@
109
105
  <xd-button
110
106
  @click="handleChange"
111
107
  width="500rpx"
112
- type="primary">
113
- 转换
114
- </xd-button>
108
+ type="primary"
109
+ >立即转换</xd-button>
115
110
  </view>
116
111
  <xd-dailog
117
112
  class="dialog"
@@ -132,12 +127,13 @@
132
127
  <text :style="{color:mainColor,marginLeft:'20rpx'}">转换成功</text>
133
128
  </view>
134
129
  <view class="jfb-base-card-shift-entry__body-success-content">
135
- 已成功将 <text style="color:#333;padding: 0 16rpx">{{ card_number }}</text> 转换成为
136
- <text style="color:#333;padding: 0 16rpx">{{ changeNumber }}</text>可在券包中查看
130
+ <text>已成功将</text>
131
+ <text style="color:#333;padding: 0 16rpx">{{ card_number }}</text>
132
+ <text>转换成为</text>
133
+ <text style="color:#333;padding: 0 16rpx">{{ changeNumber }}</text>
134
+ <text>可在券包中查看</text>
137
135
  </view>
138
- <xd-button type="primarys" width="360rpx" @click="handleToLink"
139
- >返回列表</xd-button
140
- >
136
+ <xd-button type="primarys" width="360rpx" @click="handleToLink">返回列表</xd-button>
141
137
  </view>
142
138
  </xd-dailog>
143
139
  </view>
@@ -196,7 +192,8 @@ export default {
196
192
  //页面跳转地址
197
193
  backUrl: "",
198
194
  bottomHeight: 120,
199
- changeBg: ''
195
+ changeBg: '',
196
+ headerBg:'',
200
197
  };
201
198
  },
202
199
  computed: {
@@ -219,7 +216,7 @@ export default {
219
216
  this.$xdConfirm({
220
217
  title: "是否确认转换",
221
218
  isHtml: true,
222
- $vm: this,
219
+ styles: this.styles,
223
220
  content:content,
224
221
  success:(action)=>{
225
222
  if(action.confirm) {
@@ -591,7 +588,7 @@ export default {
591
588
  .fixe_bottom{
592
589
  display: flex;
593
590
  align-items: center;
594
- justify-content: space-between;
591
+ justify-content: center;
595
592
  height: unit(100, rpx);
596
593
  padding: 0 unit(40, rpx);
597
594
  background: #FFF;
@@ -114,8 +114,9 @@ export default {
114
114
  };
115
115
  },
116
116
  watch: {
117
- container(value) {
118
- this.init(value);
117
+ container(value,oldValue) {
118
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
119
+ if (this.$configProject['isPreview']) this.init(value)
119
120
  },
120
121
  },
121
122
  computed: {
@@ -82,22 +82,13 @@
82
82
  </view>
83
83
  <view class="jfb-base-card__body-card-item-right-bottom">
84
84
  <view class="jfb-base-card__body-card-item-right-bottom-info">
85
- <view
86
- class="jfb-base-card__body-card-item-right-bottom-info-residue"
87
- >
88
- 剩余{{ item.unit }}数:{{ item.card_point }}{{ item.unit }}
89
- </view>
90
- <view
91
- class="jfb-base-card__body-card-item-right-bottom-info-deduction"
92
- >
93
- 购买其他物品可抵:{{ item.other_card_point }}
94
- </view>
85
+ <view class="jfb-base-card__body-card-item-right-bottom-info-residue">剩余{{ item.unit }}数:{{ item.card_point }}{{ item.unit }}</view>
86
+ <view class="jfb-base-card__body-card-item-right-bottom-info-deduction">购买其他物品可抵:{{ item.other_card_point }}</view>
95
87
  </view>
96
88
  <view
97
89
  @click.stop="toDetail(item)"
98
90
  :style="{ background: mainColor }"
99
- >查看</view
100
- >
91
+ >查看</view>
101
92
  </view>
102
93
  </view>
103
94
  </view>
@@ -106,8 +97,14 @@
106
97
  <view :style="{height:'128rpx'}"></view>
107
98
  <view class="bottom_fix" :style="button_bottom">
108
99
  <view>
100
+ <!-- #ifdef MP-WEIXIN-->
101
+ <view><xd-button type="primary" @click="toBindCard">绑定新卡</xd-button></view>
102
+ <view><xd-button type="primary" @click="toOrderList">我的订单</xd-button></view>
103
+ <!-- #endif-->
104
+ <!-- #ifdef H5-->
109
105
  <xd-button type="primary" @click="toBindCard">绑定新卡</xd-button>
110
106
  <xd-button type="primary" @click="toOrderList">我的订单</xd-button>
107
+ <!-- #endif-->
111
108
  </view>
112
109
  </view>
113
110
  </view>
@@ -123,6 +120,7 @@
123
120
  import componentsMixins from "@/mixins/componentsMixins";
124
121
  import extsMixins from "@/mixins/extsMixins";
125
122
  import {Base64} from "js-base64";
123
+ import {mapState} from "vuex";
126
124
 
127
125
  export default {
128
126
  name: "JfbBaseCardV2",
@@ -137,6 +135,7 @@
137
135
  return {
138
136
  cardList: [],
139
137
  inCallback: "",
138
+
140
139
  //面板
141
140
  cardInfoPath: "", //卡券详情
142
141
  cardBindPath: "",
@@ -154,11 +153,14 @@
154
153
  }
155
154
  },
156
155
  watch: {
157
- container(value) {
158
- this.init(value)
159
- }
156
+ container(value,oldValue) {
157
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
158
+ if (this.$configProject['isPreview']) this.init(value)
159
+ },
160
160
  },
161
161
  computed: {
162
+ ...mapState(['jfbAuthorize']),
163
+
162
164
  button_bottom() {
163
165
  return this.fixedStyle({paddingBottom: 0, zIndex: 111})
164
166
  },
@@ -204,6 +206,7 @@
204
206
  }).filter((item) => item["is_valid"] === "Y");
205
207
  })
206
208
  },
209
+
207
210
  /**
208
211
  * @description 监听事件变化
209
212
  * @param container {object} 业务组件对象自己
@@ -215,6 +218,7 @@
215
218
  this.login_name = getContainerPropsValue(container, "content.login_name", "登录");
216
219
  this.margin = getContainerPropsValue(container, 'content.margin', {top: 0, left: 0, bottom: 0, right: 0});
217
220
  },
221
+
218
222
  handleBindLogin(item){
219
223
  this.$xdShowLoading({});
220
224
  jfbRootExec("loginCardBind", {
@@ -222,8 +226,8 @@
222
226
  data: { card_number: item["card_number"] },
223
227
  })
224
228
  .then((res) => {
225
- console.log(res);
226
229
  this.$xdHideLoading();
230
+
227
231
  //#ifdef MP-WEIXIN
228
232
  if (this.jfbAuthorize !== null) {
229
233
  this.jfbAuthorize.setCardToken(res);
@@ -232,13 +236,16 @@
232
236
 
233
237
  if (this.$configProject.isPreview) {
234
238
  console.log("handleBindLogin", "预览模式不跳转", this.inCallback);
235
- } else {
239
+ }
240
+ else {
241
+ console.warn(`handleBindLogin: ${this.inCallback}`);
236
242
  this.$xdUniHelper.redirectTo({
237
243
  url: this.inCallback,
238
244
  });
239
245
  }
240
246
  })
241
247
  .catch((res) => {
248
+ console.error(res);
242
249
  this.$xdHideLoading();
243
250
  });
244
251
  },
@@ -284,13 +291,22 @@
284
291
  box-shadow: 0px 0px 8rpx 0px rgba(179, 193, 196, 0.5);
285
292
  z-index: 111;
286
293
 
287
- &>view {
294
+ & > view {
288
295
  width: 100%;
289
296
  display: flex;
290
297
  justify-content: center;
291
298
  align-items: center;
292
299
  padding: unit(24, rpx);
293
300
  box-sizing: border-box;
301
+
302
+ /* #ifdef MP-WEIXIN */
303
+ & > view {
304
+ flex: 1;
305
+ display: flex;
306
+ justify-content: center;
307
+ align-items: center;
308
+ }
309
+ /* #endif */
294
310
  }
295
311
  }
296
312
  }
@@ -51,6 +51,8 @@
51
51
  import componentsMixins from "@/mixins/componentsMixins";
52
52
  import extsMixins from "@/mixins/extsMixins";
53
53
  import {Base64} from "js-base64";
54
+ import {mapState} from "vuex";
55
+
54
56
  export default {
55
57
  name: "JfbBaseCardV3",
56
58
  components: {
@@ -77,11 +79,13 @@
77
79
  }
78
80
  },
79
81
  watch: {
80
- container(value) {
81
- this.init(value)
82
- }
82
+ container(value,oldValue) {
83
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
84
+ if (this.$configProject['isPreview']) this.init(value)
85
+ },
83
86
  },
84
87
  computed: {
88
+ ...mapState(['jfbAuthorize']),
85
89
  button_bottom() {
86
90
  return this.fixedStyle({paddingBottom: 24, zIndex: 111})
87
91
  },
@@ -140,12 +144,7 @@
140
144
  })
141
145
  },
142
146
  toDetail(item) {
143
- this.$xdUniHelper.navigateTo(
144
- {
145
- url: `${this.detailUrl}?card_number=${item["card_number"]}`,
146
- },
147
- false
148
- );
147
+ this.$xdUniHelper.navigateTo({url: `${this.detailUrl}?card_number=${item["card_number"]}`,}, false);
149
148
  },
150
149
  /**
151
150
  * @description 已绑定卡登录
@@ -175,10 +174,11 @@
175
174
  this.$xdHideLoading();
176
175
  //#ifdef MP-WEIXIN
177
176
  if (this.jfbAuthorize !== null) {
178
- this.jfbAuthorize.setCardToken(res);
177
+ this.jfbAuthorize.setCardToken(res, null);
179
178
  }
180
179
  //#endif
181
-
180
+ console.log(this.inCallback);
181
+ debugger
182
182
  if (this.$configProject.isPreview) {
183
183
  console.log("handleBindLogin", "预览模式不跳转", this.inCallback);
184
184
  } else {
@@ -190,9 +190,9 @@
190
190
  .catch((res) => {
191
191
  this.$xdHideLoading();
192
192
  });
193
- } else {
194
- this.$xdUniHelper.navigateTo(
195
- {
193
+ }
194
+ else {
195
+ this.$xdUniHelper.navigateTo({
196
196
  url: `${this.changeUrl}?card_number=${item["card_number"]}`,
197
197
  },
198
198
  false
@@ -44,8 +44,9 @@ export default {
44
44
  }
45
45
  },
46
46
  watch: {
47
- container(value) {
48
- this.init(value)
47
+ container(value,oldValue) {
48
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
49
+ if (this.$configProject['isPreview']) this.init(value)
49
50
  }
50
51
  },
51
52
  created() {
@@ -54,8 +54,9 @@
54
54
  ...mapState(['jfbAuthorize']),
55
55
  },
56
56
  watch: {
57
- container(value) {
58
- this.init(value)
57
+ container(value,oldValue) {
58
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
59
+ if (this.$configProject['isPreview']) this.init(value)
59
60
  }
60
61
  },
61
62
  created() {
@@ -203,8 +203,9 @@ export default {
203
203
  },
204
204
  },
205
205
  watch: {
206
- container(value) {
207
- this.init(value);
206
+ container(value,oldValue) {
207
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
208
+ if (this.$configProject['isPreview']) this.init(value)
208
209
  },
209
210
  },
210
211
  created() {
@@ -194,8 +194,9 @@ export default {
194
194
  };
195
195
  },
196
196
  watch: {
197
- container(value) {
198
- this.init(value);
197
+ container(value,oldValue) {
198
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
199
+ if (this.$configProject['isPreview']) this.init(value)
199
200
  },
200
201
  },
201
202
  created() {
@@ -7,6 +7,28 @@ export default {
7
7
  style: [],
8
8
  content: (data) => {
9
9
  return [
10
+ {
11
+ label: '选择综合入口类型:',
12
+ ele: 'xd-site-select-list',
13
+ valueKey: 'entryType',
14
+ value: data['entryType'],
15
+ placeholder: '请选择综合入口类型',
16
+ multiple: false,
17
+ groupKey:'content',
18
+ className: 'input50',
19
+ rules: [
20
+ {required: true, message: '请选择综合入口类型', trigger: ['blur', 'change']}
21
+ ],
22
+ handleCustom({action, data}) {
23
+ XdBus.getParentApi('getEntryGroupOption')({key: Date.now()})
24
+ .then(res => {
25
+ data.cb(res.list)
26
+ })
27
+ .catch(error => {
28
+ console.error(error);
29
+ });
30
+ },
31
+ },
10
32
  {
11
33
  label: '每行显示数量',
12
34
  ele: 'xd-radio',
@@ -49,7 +49,7 @@
49
49
  import componentsMixins from "@/mixins/componentsMixins";
50
50
  import extsMixins from "@/mixins/extsMixins";
51
51
  import getServiceUrl from "@/common/getServiceUrl";
52
- import {base64} from 'js-base64';
52
+ import {mapState} from "vuex";
53
53
  export default {
54
54
  name: "JfbBaseEntry",
55
55
  components: {
@@ -66,9 +66,11 @@
66
66
  paddingInput: 20,
67
67
  loadingList: true,
68
68
  margin: {},
69
+ entryType: '',
69
70
  }
70
71
  },
71
72
  computed: {
73
+ ...mapState(['brandInfo']),
72
74
  bodyStyle(){
73
75
  return {
74
76
  backgroundColor: this.bgcolor,
@@ -91,9 +93,10 @@
91
93
  }
92
94
  },
93
95
  watch: {
94
- container(value) {
95
- this.init(value)
96
- }
96
+ container(value,oldValue) {
97
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
98
+ if (this.$configProject['isPreview']) this.init(value)
99
+ },
97
100
  },
98
101
  created() {
99
102
  this.init(this.container);
@@ -111,17 +114,67 @@
111
114
  this.rowNum = getContainerPropsValue(container, 'content.rowNum', 1);
112
115
  this.paddingInput = getContainerPropsValue(container, 'content.paddingInput', 20);
113
116
  this.margin = getContainerPropsValue(container, 'content.margin', {});
117
+ this.entryType = getContainerPropsValue(container, 'content.entryType', 'default');
118
+ },
119
+
120
+ getCardPath(custom_redirect_data = {}){
121
+ //#ifdef H5
122
+ return null;
123
+ //#endif
124
+ //#ifdef MP-WEIXIN
125
+ const dir = custom_redirect_data.dir;
126
+ const actDir = this.projectAttr['deploy_dir'];
127
+ if(custom_redirect_data.appType === 'wxmp') {
128
+ if(dir === actDir) {
129
+ return {
130
+ cardPath: custom_redirect_data.path,
131
+ cardSelf: 'wxmp',
132
+ };
133
+ }
134
+ else return null;
135
+ }
136
+ else if(custom_redirect_data.appType === 'h5'){
137
+ return {
138
+ cardPath: custom_redirect_data.site_url,
139
+ cardSelf: 'h5',
140
+ };
141
+ }
142
+ else return null;
143
+ //#endif
114
144
  },
115
145
  getEntrySetting(){
116
146
  this.$xdShowLoading({});
117
147
  jfbRootExec("getEntrySetting", {
118
148
  vm: this,
119
- data: {}
149
+ data: {
150
+ group_id:this.entryType || 'default'
151
+ }
120
152
  }).then(res => {
121
153
  this.loadingList = false;
122
154
  this.$xdHideLoading();
123
- this.entryList = res.list.map(item => {
124
- const {dir, path, host} = item['redirect_data'];
155
+ let isH5FilterEntryList = [];
156
+ let isMpFilterEntryList = [];
157
+ this.entryList = res.list.filter(item=>{
158
+ //#ifdef H5
159
+ //在H5平台应用中不可跳转到微信小程序应用
160
+ if(item.redirect_data.appType === 'wxmp'){
161
+ isH5FilterEntryList.push(item)
162
+ }
163
+ return item.redirect_data.appType !== 'wxmp';
164
+ //#endif
165
+
166
+ //#ifdef MP-WEIXIN
167
+ const dir = item['redirect_data'].dir;
168
+ const actDir = this.projectAttr['deploy_dir'];
169
+ if(item.redirect_data.appType === 'wxmp') {
170
+ if(dir !== actDir) isMpFilterEntryList.push(item)
171
+ return dir === actDir;
172
+ }
173
+ return true
174
+ //#endif
175
+ }).map(item => {
176
+ const {dir, path, host,appType} = item['redirect_data'];
177
+ if(appType === undefined) item.redirect_data.appType = 'h5';
125
178
  item['image_url'] = getServiceUrl(item.image_url);
126
179
  item['image_url2'] = item.image_url2 ? getServiceUrl(item.image_url2) : "";
127
180
  item['image_url3'] = item.image_url3 ? getServiceUrl(item.image_url3) : "";
@@ -139,24 +192,35 @@
139
192
  let jumpUrl = path;
140
193
 
141
194
  //域名相同并且应用路径不相同时候处理
142
- if(host === this.projectAttr.host
143
- && this.projectAttr['deploy_dir'] !== dir
144
- ){
195
+ if(host === this.projectAttr.host && this.projectAttr['deploy_dir'] !== dir){
145
196
  jumpUrl = `//${host}/${dir}${path}`;
146
197
  //#ifdef MP-WEIXIN
147
198
  jumpUrl = `https:${jumpUrl}`;
148
199
  //#endif
149
200
  }
150
201
 
151
- if(item['redirect_data']['fixed_business_code'] === '') {
152
- item['redirect_data']['path'] = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}`
153
- }
154
- else{
155
- item['redirect_data']['path'] = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}`
202
+ //获取自定义卡券登录地址(微信小程序跳转到H5平台起作用)
203
+ let cardPathStr = '';
204
+ //#ifdef MP-WEIXIN
205
+ if(item.redirect_data.appType === 'h5') {
206
+ const custom_redirect_data = this.$xdUniHelper.checkVarType(item['custom_redirect_data']) === 'object'?item['custom_redirect_data']:{};
207
+ const cardPathObject = this.getCardPath(custom_redirect_data);
208
+ if(cardPathObject !== null) {
209
+ const {cardPath, cardSelf} =cardPathObject
210
+ if(cardPath) cardPathStr = `&card-login=${encodeURIComponent(cardPath)}&cardSelf=${cardSelf}`
211
+ }
156
212
  }
213
+ //#endif
214
+ item['redirect_data']['path'] = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`
157
215
  return item;
158
216
  });
159
- console.log( this.entryList)
217
+ //#ifdef MP-WEIXIN
218
+ console.warn(`微信小程序端被过滤的入口列表:${JSON.stringify(isMpFilterEntryList.map(item=> `${item.redirect_data.appType}:${item.entry_name}:${item.redirect_data['frontPath']}`),null,2)}`)
219
+ //#endif
220
+ //#ifdef H5
221
+ console.warn(`H5端被过滤的入口列表:${JSON.stringify(isH5FilterEntryList.map(item=> `${item.redirect_data.appType}:${item.entry_name}:${item.redirect_data['frontPath']}`),null,2)}`)
222
+ //#endif
223
+ console.warn(`福利入口链接列表:${JSON.stringify(this.entryList.map(item=> `${item.redirect_data.appType}:${item.redirect_data['path']}`),null,2)}`);
160
224
  if(res.list.length === 1) this.toLink(this.entryList[0]);
161
225
  if(res.list.length === 0) {
162
226
  this.$xdAlert({content: '当前票券暂无支持服务'})
@@ -50,14 +50,13 @@ export default {
50
50
  };
51
51
  },
52
52
  watch: {
53
- container(value) {
54
- this.init(value);
53
+ container(value,oldValue) {
54
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
55
+ if (this.$configProject['isPreview']) this.init(value)
55
56
  },
56
57
  },
57
58
  created() {
58
59
  this.init(this.container);
59
-
60
- //todo
61
60
  },
62
61
  methods: {
63
62
  onJfbLoad(options) {
@@ -67,6 +67,7 @@
67
67
  import componentsMixins from "@/mixins/componentsMixins";
68
68
  import extsMixins from "@/mixins/extsMixins"
69
69
  import { getContainerPropsValue } from "@/utils/xd.base";
70
+ import {parsePath} from '@/utils/linkUrl'
70
71
  import XdFastNav from "./XdFastNav.vue";
71
72
  import Color from "color";
72
73
  const color = require('color');
@@ -113,8 +114,9 @@
113
114
  }
114
115
  },
115
116
  watch: {
116
- container(value) {
117
- this.init(value)
117
+ container(value,oldValue) {
118
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
119
+ if (this.$configProject['isPreview']) this.init(value)
118
120
  }
119
121
  },
120
122
 
@@ -185,24 +187,33 @@
185
187
  this.margin = getContainerPropsValue(container, 'content.margin', {top: 0, left: 0, right: 0, bottom: 0});
186
188
  this.subColor = getContainerPropsValue(container, 'content.textSubColor', '#000');
187
189
  this.fontSubSize = getContainerPropsValue(container, 'content.fontSubSize', 24);
188
- this.listNave = this.list.map(item=>{
189
- const {appValue,path} = item.path
190
- if(appValue === undefined && path === undefined) {
191
- return { name: item.name, path: item.path.value, icon: item.icon, size: item.size}
192
- }
193
- else{
194
- const {dir,fixed_business_code} = item.path;
195
- let bus = fixed_business_code? Base64.encodeURI(JSON.stringify({business_code: fixed_business_code})):'';
196
- if(bus) bus = `?x-common=${bus}`;
197
- let jumpUrl = '';
198
- //#ifdef H5
199
- if(dir) jumpUrl = `//${window.location.host}/${dir}${path}`;
200
- else jumpUrl = path;
201
- //#endif
202
- jumpUrl = `${jumpUrl}${bus}`;
203
- return { name: item.name, path: jumpUrl, icon: item.icon, size: item.size }
204
- }
205
- })
190
+ if(this.is_layout === 'fixed') {
191
+ this.listNave = this.list.map(item=>{
192
+ let {appValue,path} = item.path
193
+ if(appValue === '0') {
194
+ return { name: item.name, path: item.path.value, icon: item.icon, size: item.size}
195
+ }
196
+ else{
197
+ const {dir,fixed_business_code} = item.path;
198
+ let bus = fixed_business_code? Base64.encodeURI(JSON.stringify({business_code: fixed_business_code})):'';
199
+ if(bus) bus = `?x-common=${bus}`;
200
+ let jumpUrl = '';
201
+ //#ifdef H5
202
+ if(dir) jumpUrl = `//${window.location.host}/${dir}${path}`;
203
+ else jumpUrl = path;
204
+ //#endif
205
+
206
+ //#ifdef MP-WEIXIN
207
+ const pathObj = parsePath(path);
208
+ if(pathObj.isSameApp) jumpUrl = pathObj.url;
209
+ else jumpUrl = `https://${this.projectAttr.host}/${pathObj.dir}${pathObj.url}`;
210
+ //#endif
211
+
212
+ jumpUrl = `${jumpUrl}${bus}`;
213
+ return { name: item.name, path: jumpUrl, icon: item.icon, size: item.size }
214
+ }
215
+ });
216
+ }
206
217
 
207
218
  },
208
219
  }
@@ -10,7 +10,7 @@
10
10
  <view class="xd-fast-nave__body">
11
11
  <view class="xd-fast-nave__body-close" v-if="close" @click="close=false">
12
12
  <xd-font-icon icon="iconjiantou_zuo" color="#fff" size="30"></xd-font-icon>
13
- <view>{{fastName}}</view>
13
+ <view v-if="0">{{fastName}}</view>
14
14
  </view>
15
15
  <view class="xd-fast-nave__body-open" v-else @click="close=true">
16
16
  <xd-font-icon icon="iconjiantou_you" color="#fff" size="30"></xd-font-icon>
@@ -23,7 +23,7 @@
23
23
  :key="index"
24
24
  @click="handleClick(item)"
25
25
  >
26
- <view>
26
+ <view v-if="item.icon">
27
27
  <xd-font-icon v-if="item.icon" :icon="item.icon" size="34" :color="color"></xd-font-icon>
28
28
  </view>
29
29
  <view :style="{color: color}">{{item.name}}</view>
@@ -64,7 +64,6 @@
64
64
  container(value,oloValue) {
65
65
  if(JSON.stringify(value) === JSON.stringify(oloValue)) return;
66
66
  if (this.$configProject['isPreview']){
67
- debugger
68
67
  this.init(value);
69
68
  this.getNumber();
70
69
  this.footerBarKey = this.$xdUniHelper.randomChar(20);