jufubao-base 1.0.159 → 1.0.161

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 (85) 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 +10 -6
  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 +393 -424
  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 +91 -36
  18. package/src/components/JfbBaseCardInfo/JfbBaseCardInfo.vue +38 -22
  19. package/src/components/JfbBaseCardInfoEntry/Attr.js +22 -0
  20. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +285 -260
  21. package/src/components/JfbBaseCardMerge/JfbBaseCardMerge.vue +4 -3
  22. package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntry.vue +23 -18
  23. package/src/components/JfbBaseCardShift/JfbBaseCardShift.vue +4 -11
  24. package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntry.vue +16 -19
  25. package/src/components/JfbBaseCardSweepInfo/JfbBaseCardSweepInfo.vue +3 -2
  26. package/src/components/JfbBaseCardV2/JfbBaseCardV2.vue +34 -18
  27. package/src/components/JfbBaseCardV3/JfbBaseCardV3.vue +14 -14
  28. package/src/components/JfbBaseCity/JfbBaseCity.vue +3 -2
  29. package/src/components/JfbBaseClear/JfbBaseClear.vue +3 -2
  30. package/src/components/JfbBaseConList/JfbBaseConList.vue +4 -4
  31. package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +3 -2
  32. package/src/components/JfbBaseEntry/Attr.js +22 -0
  33. package/src/components/JfbBaseEntry/JfbBaseEntry.vue +84 -20
  34. package/src/components/JfbBaseExpressDetail/JfbBaseExpressDetail.vue +3 -4
  35. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +33 -22
  36. package/src/components/JfbBaseFastLink/XdFastNav.vue +2 -2
  37. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +0 -1
  38. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +3 -2
  39. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +28 -11
  40. package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwd.vue +7 -9
  41. package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwd.vue +9 -6
  42. package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlay.vue +19 -5
  43. package/src/components/JfbBaseMapOverlay/XdMapOverlay.vue +52 -37
  44. package/src/components/JfbBaseMapSearch/JfbBaseMapSearch.vue +3 -2
  45. package/src/components/JfbBaseMergeUserCard/JfbBaseMergeUserCard.vue +28 -27
  46. package/src/components/JfbBaseMultipleExpress/JfbBaseMultipleExpress.vue +5 -5
  47. package/src/components/JfbBaseMy/JfbBaseMy.vue +3 -3
  48. package/src/components/JfbBaseMySetting/JfbBaseMySetting.vue +6 -4
  49. package/src/components/JfbBaseNotice/Attr.js +0 -2
  50. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +36 -14
  51. package/src/components/JfbBaseNotice/XdNoticeBar.vue +17 -1
  52. package/src/components/JfbBaseNoticeBottom/JfbBaseNoticeBottom.vue +3 -2
  53. package/src/components/JfbBaseNoticeTop/JfbBaseNoticeTop.vue +3 -2
  54. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +20 -31
  55. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +9 -4
  56. package/src/components/JfbBasePay/JfbBasePay.vue +3 -2
  57. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +22 -7
  58. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +23 -7
  59. package/src/components/JfbBasePoster/JfbBasePoster.vue +118 -18
  60. package/src/components/JfbBasePoster/MoreScreen.vue +155 -37
  61. package/src/components/JfbBasePosterBigSmall/Attr.js +2 -5
  62. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +191 -67
  63. package/src/components/JfbBasePosterEntry/JfbBasePosterEntry.vue +90 -20
  64. package/src/components/JfbBasePosterType/FourScreen.vue +162 -18
  65. package/src/components/JfbBasePosterType/JfbBasePosterType.vue +0 -35
  66. package/src/components/JfbBaseRecharge/JfbBaseRecharge.vue +4 -4
  67. package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrder.vue +3 -4
  68. package/src/components/JfbBaseRechargeOrderDetail/JfbBaseRechargeOrderDetail.vue +4 -7
  69. package/src/components/JfbBaseRechargeSuccess/JfbBaseRechargeSuccess.vue +6 -9
  70. package/src/components/JfbBaseSearch/JfbBaseSearch.vue +3 -2
  71. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +5 -4
  72. package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +3 -2
  73. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +5 -3
  74. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +4 -3
  75. package/src/components/JfbBaseVideo/JfbBaseVideo.vue +14 -11
  76. package/src/components/JfbBaseVideo/XdVideo.vue +0 -4
  77. package/src/components/JfbBaseWallet/JfbBaseWallet.vue +3 -2
  78. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetail.vue +5 -8
  79. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffective.vue +5 -8
  80. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndex.vue +7 -17
  81. package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +13 -21
  82. package/src/components/JfbBaseWebview/JfbBaseWebview.vue +4 -3
  83. package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorize.vue +5 -4
  84. package/src/components/JfbBaseWxAuthorizeError/JfbBaseWxAuthorizeError.vue +3 -4
  85. package/src/mixins/colorCardMixins.js +1 -1
@@ -33,8 +33,45 @@
33
33
  field="content_name"
34
34
  :mode="config.mode"
35
35
  :dots-styles="config.dotStyleData"
36
- :style="{height:(getHeight + 46 * $rpxNum) + 'px'}"
36
+ :style="{height:(getHeight + 46 * $rpxNum) + 'px', width:'100%'}"
37
37
  >
38
+ <!--#ifdef MP-WEIXIN-->
39
+ <swiper
40
+ class="swiper xd-swiper-content"
41
+ :style="{width: '100%', height: getHeight + 'px'}"
42
+ :indicator-dots="false"
43
+ :autoplay="config.carouselTime>0"
44
+ :interval="config.carouselTime"
45
+ :duration="500"
46
+ :current="current"
47
+ circular
48
+ @animationfinish="handleAnimationfinish"
49
+ >
50
+ <swiper-item v-for="(item,index) in list" :key="index">
51
+ <view
52
+ class="sreen__box-list"
53
+ :class="{s3:config.cell === 3,s4:config.cell === 4}"
54
+ :style="{ height: getHeight + 'px' }"
55
+ >
56
+ <view
57
+ v-for="(it, indext) in item"
58
+ :key="it['content_id']"
59
+ @click="handleClick(it)"
60
+ :style="{
61
+ borderRadius: config.radius + 'rpx',
62
+ width: config.width + 'px',
63
+ height: config.height + 'px',
64
+ marginRight: (indext+1) % config.cell === 0 ? 0: config.padding + 'rpx',
65
+ marginTop: indext < config.cell ? 0 : config.padding + 'rpx',
66
+ }"
67
+ >
68
+ <image :style="{ width: width + 'px', height: height + 'px'}" :src="it.image_url" mode="widthFix"></image>
69
+ </view>
70
+ </view>
71
+ </swiper-item>
72
+ </swiper>
73
+ <!--#endif-->
74
+ <!--#ifdef H5-->
38
75
  <xd-swiper
39
76
  :indicator-dots="false"
40
77
  :interval="config.carouselTime"
@@ -45,31 +82,32 @@
45
82
  @onClickItem="handleClick"
46
83
  @animationfinish="handleAnimationfinish"
47
84
  >
48
- <template slot-scope="{ item, index}">
49
- <view
50
- class="sreen__box-list"
85
+ <template slot-scope="{ item, index}">
86
+ <view
87
+ class="sreen__box-list"
51
88
  :class="{s3:config.cell === 3,s4:config.cell === 4}"
52
- :style="{
53
- height: getHeight + 'px'
54
- }"
55
- >
56
- <view
57
- v-for="(it, indext) in item"
58
- :key="it['content_id']"
59
- :style="{
60
- borderRadius: config.radius + 'rpx',
61
- width: config.width + 'px',
62
- height: config.height + 'px',
63
- marginRight: (indext+1) % config.cell === 0 ? 0: config.padding + 'rpx',
64
- marginTop: indext < config.cell ? 0 : config.padding + 'rpx',
65
- }"
66
- @click="handleClick(it)"
67
- >
68
- <image :style="{ width: width + 'px', height: height + 'px'}" :src="it.image_url" mode="widthFix"></image>
69
- </view>
70
- </view>
71
- </template>
89
+ :style="{
90
+ height: getHeight + 'px'
91
+ }"
92
+ >
93
+ <view
94
+ v-for="(it, indext) in item"
95
+ :key="it['content_id']"
96
+ :style="{
97
+ borderRadius: config.radius + 'rpx',
98
+ width: config.width + 'px',
99
+ height: config.height + 'px',
100
+ marginRight: (indext+1) % config.cell === 0 ? 0: config.padding + 'rpx',
101
+ marginTop: indext < config.cell ? 0 : config.padding + 'rpx',
102
+ }"
103
+ @click="handleClick(it)"
104
+ >
105
+ <image :style="{ width: width + 'px', height: height + 'px'}" :src="it.image_url" mode="widthFix"></image>
106
+ </view>
107
+ </view>
108
+ </template>
72
109
  </xd-swiper>
110
+ <!--#endif-->
73
111
  </xd-swiper-dot>
74
112
  </view>
75
113
  <view v-if="isPreview" class="carousel-mask"></view>
@@ -133,6 +171,64 @@
133
171
  handleAnimationfinish(e) {
134
172
  this.current = e.detail.current;
135
173
  },
174
+
175
+ /**
176
+ * @description 过滤不可以用
177
+ * 当前项目未H5时,过滤所有小程序应用
178
+ * 当前项目未小程序时,过滤所有非当前小程序应用
179
+ * 站外地址直接返回
180
+ * 站内地址未选值直接返回
181
+ * 预览模式全过
182
+ */
183
+ filterItem(){
184
+ let content = this.content.filter(item=>{
185
+ //预览模式
186
+ if( this.$configProject.isPreview) return true;
187
+
188
+ //非内部应用
189
+ if(item.redirect_type !== 'INN') return true
190
+
191
+ //没有配置链接
192
+ if(!item.redirect_data) return true;
193
+
194
+ //内部应用
195
+ else {
196
+ let redirect_data;
197
+ try {
198
+ redirect_data = JSON.parse(item.redirect_data);
199
+ if(!item['app_type']) item['app_type']= 'h5';
200
+
201
+ //#ifdef H5
202
+ return item['app_type'] !== 'wxmp';
203
+ //#endif
204
+
205
+ //#ifdef MP-WEIXIN
206
+ let actDir = this.$parent.projectAttr.deploy_dir;
207
+ let dir = this.getPathDir(redirect_data.page);
208
+ if(item['app_type'] === 'wxmp'){
209
+ return actDir === dir;
210
+ }
211
+ else if(item['app_type'] === 'h5') return true;
212
+ else return true
213
+ //#endif
214
+ }
215
+ catch (e) {
216
+ return true
217
+ }
218
+ }
219
+ });
220
+ console.warn(`PostersList:${JSON.stringify(content.map(item=>`${item.app_type}:${item.content_name}:${item.redirect_data}`), null,2)}`)
221
+ return content;
222
+
223
+ },
224
+
225
+ getPathDir(pathDir){
226
+ if(pathDir.indexOf('@site_domain@/') === 0) {
227
+ return pathDir.replace('@site_domain@/','').split('/')[0]
228
+ }
229
+ return ''
230
+ },
231
+
136
232
  init() {
137
233
  if (this.timer) clearTimeout(this.timer);
138
234
  this.timer = setTimeout(() => {
@@ -140,6 +236,9 @@
140
236
  this.height = Number(this.config.height);
141
237
  this.padding = Number(this.config.padding);
142
238
 
239
+ //过滤不可以用
240
+ const content = this.filterItem();
241
+
143
242
  //静态图显示
144
243
  if(this.config.isCarousel === 1) {
145
244
  this.list = this.content
@@ -156,50 +255,64 @@
156
255
  }
157
256
  }, 100)
158
257
  },
258
+
159
259
  handleClick(item) {
260
+ if(!item.redirect_data) {
261
+ console.warn(`未配置链接地址: ${item.redirect_data}`);
262
+ console.error(`未配置链接地址: ${item.redirect_data}`);
263
+ return
264
+ }
265
+
160
266
  //内部链接跳转地址
161
267
  if (item.redirect_type === 'INN') {
162
268
  try {
163
269
  let url = JSON.parse(item.redirect_data);
164
270
  let params = '';
165
- if (item['redirect_params']) params = `?${item['redirect_params']}`;
166
- this.$xdUniHelper.navigateTo({
167
- url: url.page + params
168
- })
271
+ if(url.page) {
272
+ if (item['redirect_params']) params = `?${item['redirect_params']}`;
273
+ this.$xdUniHelper.navigateTo({url: url.page + params})
274
+ }
275
+ else {
276
+ console.error(`应用链接配置错误: ${url.page}`)
277
+ }
169
278
  } catch (e) {
170
- console.error(e)
279
+ console.error(`应用链接配置错误: ${item.redirect_data}`)
171
280
  }
172
281
  }
173
282
 
174
283
  //外部链接
175
284
  if (item.redirect_type === 'URL') {
176
285
  let reg = /^(http:\/\/|https:\/\/|\/\/)+.+$/;
286
+ let spReg = /(-apiuri\/v)/;
177
287
  //#ifdef MP-WEIXIN
178
288
  try {
179
289
  let url = JSON.parse(item.redirect_data);
180
- if (reg.test(url.url) && this.$configProject.extras.webview) {
290
+ if (reg.test(url.url) || spReg.test(url.url)) {
181
291
  console.warn(`广告跳转外站: ${url.url}`)
182
- this.$xdUniHelper.navigateTo({
183
- url: `${this.$configProject.extras.webview}?seatUrl=${Base64.encodeURI(url.url)}`
184
- });
292
+ this.$xdUniHelper.navigateTo(url);
185
293
  } else {
186
- throw Error('地址错误')
294
+ console.error(`广告跳转外站配置错误: ${url.url}`)
187
295
  }
188
296
  } catch (e) {
189
- console.error(e)
297
+ console.error(`广告跳转外站配置错误: ${item.redirect_data}`)
190
298
  }
191
299
  //#endif
192
300
  //#ifdef H5
193
301
  try {
194
302
  let url = JSON.parse(item.redirect_data);
195
303
  console.warn(`广告跳转外站: ${url.url}`);
196
- this.$xdUniHelper.navigateTo(url)
304
+ this.$xdUniHelper.redirectTo(url, false)
197
305
  } catch (e) {
198
- console.error(e)
306
+ console.error(`广告跳转外站配置错误: ${item.redirect_data}`)
199
307
  }
200
308
  //#endif
201
309
 
202
310
  }
311
+
312
+ //无跳转地址
313
+ if(item.redirect_type === 'EMP') {
314
+ console.warn(`无跳转地址`);
315
+ }
203
316
  },
204
317
  }
205
318
  }
@@ -209,6 +322,7 @@
209
322
  .sreen {
210
323
  width: calc(100% + 4px); /**防止宽度不够问**/
211
324
  position: relative;
325
+ height: 100%;
212
326
 
213
327
  & .carousel-mask {
214
328
  position: absolute;
@@ -226,6 +340,7 @@
226
340
  flex-wrap: wrap;
227
341
  overflow: hidden;
228
342
  width: calc(100% + 20px); /**防止宽度不够问**/
343
+ height: 100%;
229
344
 
230
345
  & > view {
231
346
  display: flex;
@@ -238,6 +353,8 @@
238
353
  }
239
354
 
240
355
  &__box.carousel {
356
+ width: 100%;
357
+ height: 100%;
241
358
  display: flex;
242
359
  justify-content: flex-start;
243
360
  align-items: flex-start;
@@ -247,6 +364,7 @@
247
364
 
248
365
  & .sreen__box-list {
249
366
  width: calc(100% + 20px); /**防止宽度不够问**/
367
+ height: 100%;
250
368
  display: flex;
251
369
  justify-content: flex-start;
252
370
  align-items: flex-start;
@@ -50,7 +50,6 @@ export default {
50
50
  value: params.height || 500,
51
51
  className: 'input40',
52
52
  placeholder: '请广告位内容间距设置',
53
- disabled:xiugai,
54
53
  notice: '广告位选取内容后,将无法修改,单位:像素,默认: <span style="color:red">500</span>像素',
55
54
  inline: false,
56
55
  },
@@ -60,7 +59,6 @@ export default {
60
59
  groupKey:'style',
61
60
  valueKey: 'margin',
62
61
  value: params.margin || null,
63
- disabled: xiugai,
64
62
  setting: { type: 'margin'},
65
63
  placeholder: '请设置广告位边距设置',
66
64
  notice: '广告位选取内容后,将无法修改,单位:像素',
@@ -72,10 +70,9 @@ export default {
72
70
  type: 'number',
73
71
  valueKey: 'msMargin',
74
72
  groupKey:'style',
75
- value: params.msMargin || 10,
73
+ value: params.msMargin,
76
74
  className: 'input40',
77
75
  placeholder: '请广告位内容间距设置',
78
- disabled: xiugai,
79
76
  notice: '广告位选取内容后,将无法修改,单位:像素,默认: <span style="color:red">10</span>像素',
80
77
  inline: false,
81
78
  },
@@ -121,7 +118,7 @@ export default {
121
118
  //当一个插件中出现多个内容分类时候需要设置code值,在页面引用时候(容器id + code)进行拼接获取数据列表
122
119
  data.params = Object.assign({}, data.params, {code: 'big'});
123
120
  }
124
- console.log(data.params,'data.paramsdata.paramsdata.params');
121
+
125
122
  //设置场景参数
126
123
  if(data) {
127
124
  data.params = Object.assign({}, {scene: 'normal'}, data.params || {})