jufubao-base 1.0.159 → 1.0.160-beta1
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 +1 -1
- package/src/common/authorize.js +201 -70
- package/src/components/JfbBaseAddress/JfbBaseAddress.vue +7 -6
- package/src/components/JfbBaseAfterOrderDetail/JfbBaseAfterOrderDetail.vue +5 -3
- package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +3 -2
- package/src/components/JfbBaseBack/JfbBaseBack.vue +10 -8
- package/src/components/JfbBaseBackground/JfbBaseBackground.vue +3 -2
- package/src/components/JfbBaseBlock/JfbBaseBlock.vue +3 -2
- package/src/components/JfbBaseCard/JfbBaseCard.vue +10 -6
- package/src/components/JfbBaseCardBindV2/JfbBaseCardBindV2.vue +57 -26
- package/src/components/JfbBaseCardDetail/JfbBaseCardDetail.vue +14 -15
- package/src/components/JfbBaseCardDetailEntry/Attr.js +22 -0
- package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +393 -424
- package/src/components/JfbBaseCardDisabled/JfbBaseCardDisabled.vue +4 -4
- package/src/components/JfbBaseCardDisabledEntry/JfbBaseCardDisabledEntry.vue +7 -9
- package/src/components/JfbBaseCardEntry/Attr.js +22 -1
- package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +91 -36
- package/src/components/JfbBaseCardInfo/JfbBaseCardInfo.vue +38 -22
- package/src/components/JfbBaseCardInfoEntry/Attr.js +22 -0
- package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +285 -260
- package/src/components/JfbBaseCardMerge/JfbBaseCardMerge.vue +4 -3
- package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntry.vue +23 -18
- package/src/components/JfbBaseCardShift/JfbBaseCardShift.vue +4 -11
- package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntry.vue +16 -19
- package/src/components/JfbBaseCardSweepInfo/JfbBaseCardSweepInfo.vue +3 -2
- package/src/components/JfbBaseCardV2/JfbBaseCardV2.vue +34 -18
- package/src/components/JfbBaseCardV3/JfbBaseCardV3.vue +14 -14
- package/src/components/JfbBaseCity/JfbBaseCity.vue +3 -2
- package/src/components/JfbBaseClear/JfbBaseClear.vue +3 -2
- package/src/components/JfbBaseConList/JfbBaseConList.vue +4 -4
- package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +3 -2
- package/src/components/JfbBaseEntry/Attr.js +22 -0
- package/src/components/JfbBaseEntry/JfbBaseEntry.vue +84 -20
- package/src/components/JfbBaseExpressDetail/JfbBaseExpressDetail.vue +3 -4
- package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +33 -22
- package/src/components/JfbBaseFastLink/XdFastNav.vue +2 -2
- package/src/components/JfbBaseFooter/JfbBaseFooter.vue +0 -1
- package/src/components/JfbBaseHeader/JfbBaseHeader.vue +3 -2
- package/src/components/JfbBaseLogin/JfbBaseLogin.vue +28 -11
- package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwd.vue +7 -9
- package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwd.vue +9 -6
- package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlay.vue +19 -5
- package/src/components/JfbBaseMapOverlay/XdMapOverlay.vue +52 -37
- package/src/components/JfbBaseMapSearch/JfbBaseMapSearch.vue +3 -2
- package/src/components/JfbBaseMergeUserCard/JfbBaseMergeUserCard.vue +28 -27
- package/src/components/JfbBaseMultipleExpress/JfbBaseMultipleExpress.vue +5 -5
- package/src/components/JfbBaseMy/JfbBaseMy.vue +3 -3
- package/src/components/JfbBaseMySetting/JfbBaseMySetting.vue +6 -4
- package/src/components/JfbBaseNotice/Attr.js +0 -2
- package/src/components/JfbBaseNotice/JfbBaseNotice.vue +36 -14
- package/src/components/JfbBaseNotice/XdNoticeBar.vue +17 -1
- package/src/components/JfbBaseNoticeBottom/JfbBaseNoticeBottom.vue +3 -2
- package/src/components/JfbBaseNoticeTop/JfbBaseNoticeTop.vue +3 -2
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +20 -31
- package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +9 -4
- package/src/components/JfbBasePay/JfbBasePay.vue +3 -2
- package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +22 -7
- package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +23 -7
- package/src/components/JfbBasePoster/JfbBasePoster.vue +118 -18
- package/src/components/JfbBasePoster/MoreScreen.vue +155 -37
- package/src/components/JfbBasePosterBigSmall/Attr.js +2 -5
- package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +191 -67
- package/src/components/JfbBasePosterEntry/JfbBasePosterEntry.vue +90 -20
- package/src/components/JfbBasePosterType/FourScreen.vue +162 -18
- package/src/components/JfbBasePosterType/JfbBasePosterType.vue +0 -35
- package/src/components/JfbBaseRecharge/JfbBaseRecharge.vue +4 -4
- package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrder.vue +3 -4
- package/src/components/JfbBaseRechargeOrderDetail/JfbBaseRechargeOrderDetail.vue +4 -7
- package/src/components/JfbBaseRechargeSuccess/JfbBaseRechargeSuccess.vue +6 -9
- package/src/components/JfbBaseSearch/JfbBaseSearch.vue +3 -2
- package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +5 -4
- package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +3 -2
- package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +5 -3
- package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +4 -3
- package/src/components/JfbBaseVideo/JfbBaseVideo.vue +14 -11
- package/src/components/JfbBaseVideo/XdVideo.vue +0 -4
- package/src/components/JfbBaseWallet/JfbBaseWallet.vue +3 -2
- package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetail.vue +5 -8
- package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffective.vue +5 -8
- package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndex.vue +7 -17
- package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +13 -21
- package/src/components/JfbBaseWebview/JfbBaseWebview.vue +4 -3
- package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorize.vue +5 -4
- package/src/components/JfbBaseWxAuthorizeError/JfbBaseWxAuthorizeError.vue +3 -4
- 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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
|
166
|
-
|
|
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(
|
|
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)
|
|
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
|
-
|
|
294
|
+
console.error(`广告跳转外站配置错误: ${url.url}`)
|
|
187
295
|
}
|
|
188
296
|
} catch (e) {
|
|
189
|
-
console.error(
|
|
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.
|
|
304
|
+
this.$xdUniHelper.redirectTo(url, false)
|
|
197
305
|
} catch (e) {
|
|
198
|
-
console.error(
|
|
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
|
|
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
|
-
|
|
121
|
+
|
|
125
122
|
//设置场景参数
|
|
126
123
|
if(data) {
|
|
127
124
|
data.params = Object.assign({}, {scene: 'normal'}, data.params || {})
|