jufubao-base 1.0.157-beta2 → 1.0.157-beta4
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/components/JfbBaseBack/JfbBaseBack.vue +7 -6
- package/src/components/JfbBaseEntry/JfbBaseEntry.vue +0 -1
- package/src/components/JfbBasePoster/JfbBasePoster.vue +117 -18
- package/src/components/JfbBasePoster/MoreScreen.vue +154 -37
- package/src/components/JfbBasePosterBigSmall/Attr.js +1 -4
- package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +183 -42
- package/src/components/JfbBasePosterEntry/JfbBasePosterEntry.vue +89 -20
- package/src/components/JfbBasePosterType/FourScreen.vue +115 -24
- package/src/components/JfbBaseVideo/JfbBaseVideo.vue +8 -4
package/package.json
CHANGED
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
this.init(this.container);
|
|
67
67
|
},
|
|
68
68
|
methods: {
|
|
69
|
-
|
|
69
|
+
|
|
70
70
|
/**
|
|
71
71
|
* @description 监听事件变化
|
|
72
72
|
* @param container {object} 业务组件对象自己
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
this.shadow = (e.scrollTop > this.height ? this.height : e.scrollTop)/100;
|
|
81
81
|
this.opacity = opacity < this.minOpacity ? this.minOpacity : opacity;
|
|
82
82
|
},
|
|
83
|
-
|
|
83
|
+
|
|
84
84
|
onJfbBack() {
|
|
85
85
|
this.$xdUniHelper.navigateBack();
|
|
86
86
|
}
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
height: unit(90, rpx);
|
|
103
103
|
padding: 0 unit(10, rpx);
|
|
104
104
|
position: relative;
|
|
105
|
-
|
|
105
|
+
|
|
106
106
|
&-icon {
|
|
107
107
|
width: 1em;
|
|
108
108
|
height: 1em;
|
|
@@ -112,12 +112,13 @@
|
|
|
112
112
|
display: flex;
|
|
113
113
|
justify-content: center;
|
|
114
114
|
align-content: center;
|
|
115
|
+
align-items: center;
|
|
115
116
|
flex-shrink: 0;
|
|
116
117
|
position: relative;
|
|
117
118
|
z-index: 2;
|
|
118
119
|
background: #fff;
|
|
119
120
|
}
|
|
120
|
-
|
|
121
|
+
|
|
121
122
|
&-text {
|
|
122
123
|
font-size: unit(54, rpx);
|
|
123
124
|
padding-right: 1em;
|
|
@@ -125,7 +126,7 @@
|
|
|
125
126
|
position: relative;
|
|
126
127
|
z-index: 2;
|
|
127
128
|
color: #666;
|
|
128
|
-
|
|
129
|
+
|
|
129
130
|
& > view {
|
|
130
131
|
width: 100%;
|
|
131
132
|
text-align: center;
|
|
@@ -133,7 +134,7 @@
|
|
|
133
134
|
font-size: unit(32, rpx);
|
|
134
135
|
}
|
|
135
136
|
}
|
|
136
|
-
|
|
137
|
+
|
|
137
138
|
&-bg {
|
|
138
139
|
background: #fff;
|
|
139
140
|
position: absolute;
|
|
@@ -208,7 +208,6 @@
|
|
|
208
208
|
const {cardPath, cardSelf} =cardPathObject
|
|
209
209
|
if(cardPath) cardPathStr = `&card-login=${encodeURIComponent(cardPath)}&cardSelf=${cardSelf}`
|
|
210
210
|
}
|
|
211
|
-
|
|
212
211
|
}
|
|
213
212
|
//#endif
|
|
214
213
|
item['redirect_data']['path'] = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
<!-- #endif -->
|
|
16
16
|
<view class="jfb-base-poster__body" v-if="noData">
|
|
17
17
|
<view class="x-line"></view>
|
|
18
|
-
|
|
19
18
|
<view class="jfb-base-poster-cont" :style="getBodyStyle">
|
|
20
19
|
<!--一分屏-->
|
|
21
20
|
<template v-if="posterType === '1'">
|
|
@@ -50,6 +49,7 @@
|
|
|
50
49
|
}"
|
|
51
50
|
>
|
|
52
51
|
<xd-swiper-dot
|
|
52
|
+
:style="{width: getOneWidth + 'rpx', height: getOneHeight + 'rpx'}"
|
|
53
53
|
v-if="pageSwiperShow"
|
|
54
54
|
:current="current"
|
|
55
55
|
:info="info"
|
|
@@ -57,6 +57,24 @@
|
|
|
57
57
|
:mode="mode"
|
|
58
58
|
:dots-styles="dotStyleData"
|
|
59
59
|
>
|
|
60
|
+
<!--#ifdef MP-WEIXIN-->
|
|
61
|
+
<swiper
|
|
62
|
+
class="swiper xd-swiper-content"
|
|
63
|
+
:style="{width: getOneWidth + 'rpx', height: getOneHeight + 'rpx'}"
|
|
64
|
+
:indicator-dots="false"
|
|
65
|
+
:autoplay="carouselTime>0"
|
|
66
|
+
:interval="carouselTime"
|
|
67
|
+
:duration="500"
|
|
68
|
+
:current="current"
|
|
69
|
+
circular
|
|
70
|
+
@animationfinish="handleAnimationfinish"
|
|
71
|
+
>
|
|
72
|
+
<swiper-item v-for="(item,index) in info" :key="index" @click.stop="handleClick(item,index)">
|
|
73
|
+
<image :style="{width: getOneWidth + 'rpx', height: getOneHeight + 'rpx'}" :src="item['image_url']" mode="aspectFill"></image>
|
|
74
|
+
</swiper-item>
|
|
75
|
+
</swiper>
|
|
76
|
+
<!--#endif-->
|
|
77
|
+
<!--#ifdef H5-->
|
|
60
78
|
<xd-swiper
|
|
61
79
|
:indicator-dots="false"
|
|
62
80
|
:list="info"
|
|
@@ -71,6 +89,7 @@
|
|
|
71
89
|
<image :src="item['image_url']" mode="aspectFill"></image>
|
|
72
90
|
</template>
|
|
73
91
|
</xd-swiper>
|
|
92
|
+
<!--#endif-->
|
|
74
93
|
</xd-swiper-dot>
|
|
75
94
|
<view v-if="isPreview" class="carousel-mask"></view>
|
|
76
95
|
</view>
|
|
@@ -78,6 +97,7 @@
|
|
|
78
97
|
<!--一分屏-->
|
|
79
98
|
<!--多分屏-->
|
|
80
99
|
<more-screen
|
|
100
|
+
style="width: 100%; height: 100%"
|
|
81
101
|
v-if="posterType !== '1'"
|
|
82
102
|
:config="getConfig"
|
|
83
103
|
:content="info"
|
|
@@ -158,11 +178,11 @@
|
|
|
158
178
|
backgroundSize: '100%',
|
|
159
179
|
backgroundRepeat: 'no-repeat',
|
|
160
180
|
}
|
|
161
|
-
|
|
162
|
-
...image,
|
|
181
|
+
image = Object.assign({},image,{
|
|
163
182
|
margin: this.margin,
|
|
164
183
|
padding: this.outPadding
|
|
165
|
-
}
|
|
184
|
+
})
|
|
185
|
+
return this.styleObjectToString(image)
|
|
166
186
|
},
|
|
167
187
|
getOneWidth(){
|
|
168
188
|
let margin = this.checkValue(this.mS.left, 0) + this.checkValue(this.mS.right, 0);
|
|
@@ -332,9 +352,9 @@
|
|
|
332
352
|
},
|
|
333
353
|
},
|
|
334
354
|
created() {
|
|
335
|
-
this.init(this.container);
|
|
336
355
|
this.isPreview = this.$configProject.isPreview;
|
|
337
356
|
this.pageSwiperShow = this.$root.$isShow;
|
|
357
|
+
this.init(this.container);
|
|
338
358
|
},
|
|
339
359
|
|
|
340
360
|
destroyed() {
|
|
@@ -345,6 +365,63 @@
|
|
|
345
365
|
},
|
|
346
366
|
|
|
347
367
|
methods: {
|
|
368
|
+
/**
|
|
369
|
+
* @description 过滤不可以用
|
|
370
|
+
* 当前项目未H5时,过滤所有小程序应用
|
|
371
|
+
* 当前项目未小程序时,过滤所有非当前小程序应用
|
|
372
|
+
* 站外地址直接返回
|
|
373
|
+
* 站内地址未选值直接返回
|
|
374
|
+
* 预览模式全过
|
|
375
|
+
*/
|
|
376
|
+
filterItem(list){
|
|
377
|
+
let content = list.filter(item=>{
|
|
378
|
+
//预览模式
|
|
379
|
+
if( this.$configProject.isPreview) return true;
|
|
380
|
+
|
|
381
|
+
//非内部应用
|
|
382
|
+
if(item.redirect_type !== 'INN') return true
|
|
383
|
+
|
|
384
|
+
//没有配置链接
|
|
385
|
+
if(!item.redirect_data) return true;
|
|
386
|
+
|
|
387
|
+
//内部应用
|
|
388
|
+
else {
|
|
389
|
+
let redirect_data;
|
|
390
|
+
try {
|
|
391
|
+
redirect_data = JSON.parse(item.redirect_data);
|
|
392
|
+
if(!item['app_type']) item['app_type']= 'h5';
|
|
393
|
+
|
|
394
|
+
//#ifdef H5
|
|
395
|
+
return item['app_type'] !== 'wxmp';
|
|
396
|
+
//#endif
|
|
397
|
+
|
|
398
|
+
//#ifdef MP-WEIXIN
|
|
399
|
+
let actDir = this.$parent.projectAttr.deploy_dir;
|
|
400
|
+
let dir = this.getPathDir(redirect_data.page);
|
|
401
|
+
if(item['app_type'] === 'wxmp'){
|
|
402
|
+
return actDir === dir;
|
|
403
|
+
}
|
|
404
|
+
else if(item['app_type'] === 'h5') return true;
|
|
405
|
+
else return true
|
|
406
|
+
//#endif
|
|
407
|
+
}
|
|
408
|
+
catch (e) {
|
|
409
|
+
return true
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
console.warn(`PostersList:${JSON.stringify(content.map(item=>`${item.app_type}:${item.content_name}:${item.redirect_data}`), null,2)}`)
|
|
414
|
+
return content;
|
|
415
|
+
|
|
416
|
+
},
|
|
417
|
+
|
|
418
|
+
getPathDir(pathDir){
|
|
419
|
+
if(pathDir.indexOf('@site_domain@/') === 0) {
|
|
420
|
+
return pathDir.replace('@site_domain@/','').split('/')[0]
|
|
421
|
+
}
|
|
422
|
+
return ''
|
|
423
|
+
},
|
|
424
|
+
|
|
348
425
|
getTestData(){
|
|
349
426
|
let temp = [];
|
|
350
427
|
for (let i = 0; i< this.useNumber; i++) {
|
|
@@ -382,18 +459,28 @@
|
|
|
382
459
|
this.current = e.detail.current;
|
|
383
460
|
}
|
|
384
461
|
},
|
|
462
|
+
|
|
385
463
|
handleClick(item) {
|
|
464
|
+
if(!item.redirect_data) {
|
|
465
|
+
console.warn(`未配置链接地址: ${item.redirect_data}`);
|
|
466
|
+
console.error(`未配置链接地址: ${item.redirect_data}`);
|
|
467
|
+
return
|
|
468
|
+
}
|
|
469
|
+
|
|
386
470
|
//内部链接跳转地址
|
|
387
471
|
if (item.redirect_type === 'INN') {
|
|
388
472
|
try {
|
|
389
473
|
let url = JSON.parse(item.redirect_data);
|
|
390
474
|
let params = '';
|
|
391
|
-
if
|
|
392
|
-
|
|
393
|
-
url: url.page + params
|
|
394
|
-
}
|
|
475
|
+
if(url.page) {
|
|
476
|
+
if (item['redirect_params']) params = `?${item['redirect_params']}`;
|
|
477
|
+
this.$xdUniHelper.navigateTo({url: url.page + params})
|
|
478
|
+
}
|
|
479
|
+
else {
|
|
480
|
+
console.error(`应用链接配置错误: ${url.page}`)
|
|
481
|
+
}
|
|
395
482
|
} catch (e) {
|
|
396
|
-
console.error(
|
|
483
|
+
console.error(`应用链接配置错误: ${item.redirect_data}`)
|
|
397
484
|
}
|
|
398
485
|
}
|
|
399
486
|
|
|
@@ -403,31 +490,38 @@
|
|
|
403
490
|
//#ifdef MP-WEIXIN
|
|
404
491
|
try {
|
|
405
492
|
let url = JSON.parse(item.redirect_data);
|
|
406
|
-
if (reg.test(url.url)
|
|
493
|
+
if (reg.test(url.url)) {
|
|
407
494
|
console.warn(`广告跳转外站: ${url.url}`)
|
|
408
|
-
this.$xdUniHelper.navigateTo(
|
|
409
|
-
url: `${this.$configProject.extras.webview}?seatUrl=${Base64.encodeURI(url.url)}`
|
|
410
|
-
});
|
|
495
|
+
this.$xdUniHelper.navigateTo(url);
|
|
411
496
|
} else {
|
|
412
|
-
|
|
497
|
+
console.error(`广告跳转外站配置错误: ${url.url}`)
|
|
413
498
|
}
|
|
414
499
|
} catch (e) {
|
|
415
|
-
console.error(
|
|
500
|
+
console.error(`广告跳转外站配置错误: ${item.redirect_data}`)
|
|
416
501
|
}
|
|
417
502
|
//#endif
|
|
418
503
|
//#ifdef H5
|
|
419
504
|
try {
|
|
420
505
|
let url = JSON.parse(item.redirect_data);
|
|
421
506
|
console.warn(`广告跳转外站: ${url.url}`);
|
|
422
|
-
this.$xdUniHelper.
|
|
507
|
+
this.$xdUniHelper.redirectTo(url, false)
|
|
423
508
|
} catch (e) {
|
|
424
|
-
console.error(
|
|
509
|
+
console.error(`广告跳转外站配置错误: ${item.redirect_data}`)
|
|
425
510
|
}
|
|
426
511
|
//#endif
|
|
427
512
|
|
|
428
513
|
}
|
|
514
|
+
|
|
515
|
+
//无跳转地址
|
|
516
|
+
if(item.redirect_type === 'EMP') {
|
|
517
|
+
console.warn(`无跳转地址`);
|
|
518
|
+
}
|
|
429
519
|
},
|
|
520
|
+
|
|
521
|
+
|
|
430
522
|
handleImage(list){
|
|
523
|
+
list = this.filterItem(list);
|
|
524
|
+
|
|
431
525
|
return list.map((item,index) => {
|
|
432
526
|
return {
|
|
433
527
|
...item,
|
|
@@ -463,6 +557,11 @@
|
|
|
463
557
|
this.isCarousel = getContainerPropsValue(container, 'content.isCarousel', 1);
|
|
464
558
|
this.radius = getContainerPropsValue(container, 'content.radius', 0);
|
|
465
559
|
this.padding = getContainerPropsValue(container, 'content.padding', 0);
|
|
560
|
+
|
|
561
|
+
//静态图,一分屏并且间距为0设置
|
|
562
|
+
if(this.isCarousel === 1 && this.posterType === '1' && this.padding === 0) {
|
|
563
|
+
this.padding = 20;
|
|
564
|
+
}
|
|
466
565
|
this.rows = getContainerPropsValue(container, 'content.rows', 1);
|
|
467
566
|
if(this.posterType === '1' && this.isCarousel === 2) this.isSupport = getContainerPropsValue(container, 'content.isSupport', 'Y');
|
|
468
567
|
this.mS = getContainerPropsValue(container, 'content.margin', {});
|
|
@@ -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,18 +255,28 @@
|
|
|
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
|
|
|
@@ -177,29 +286,32 @@
|
|
|
177
286
|
//#ifdef MP-WEIXIN
|
|
178
287
|
try {
|
|
179
288
|
let url = JSON.parse(item.redirect_data);
|
|
180
|
-
if (reg.test(url.url)
|
|
289
|
+
if (reg.test(url.url)) {
|
|
181
290
|
console.warn(`广告跳转外站: ${url.url}`)
|
|
182
|
-
this.$xdUniHelper.navigateTo(
|
|
183
|
-
url: `${this.$configProject.extras.webview}?seatUrl=${Base64.encodeURI(url.url)}`
|
|
184
|
-
});
|
|
291
|
+
this.$xdUniHelper.navigateTo(url);
|
|
185
292
|
} else {
|
|
186
|
-
|
|
293
|
+
console.error(`广告跳转外站配置错误: ${url.url}`)
|
|
187
294
|
}
|
|
188
295
|
} catch (e) {
|
|
189
|
-
console.error(
|
|
296
|
+
console.error(`广告跳转外站配置错误: ${item.redirect_data}`)
|
|
190
297
|
}
|
|
191
298
|
//#endif
|
|
192
299
|
//#ifdef H5
|
|
193
300
|
try {
|
|
194
301
|
let url = JSON.parse(item.redirect_data);
|
|
195
302
|
console.warn(`广告跳转外站: ${url.url}`);
|
|
196
|
-
this.$xdUniHelper.
|
|
303
|
+
this.$xdUniHelper.redirectTo(url, false)
|
|
197
304
|
} catch (e) {
|
|
198
|
-
console.error(
|
|
305
|
+
console.error(`广告跳转外站配置错误: ${item.redirect_data}`)
|
|
199
306
|
}
|
|
200
307
|
//#endif
|
|
201
308
|
|
|
202
309
|
}
|
|
310
|
+
|
|
311
|
+
//无跳转地址
|
|
312
|
+
if(item.redirect_type === 'EMP') {
|
|
313
|
+
console.warn(`无跳转地址`);
|
|
314
|
+
}
|
|
203
315
|
},
|
|
204
316
|
}
|
|
205
317
|
}
|
|
@@ -209,6 +321,7 @@
|
|
|
209
321
|
.sreen {
|
|
210
322
|
width: calc(100% + 4px); /**防止宽度不够问**/
|
|
211
323
|
position: relative;
|
|
324
|
+
height: 100%;
|
|
212
325
|
|
|
213
326
|
& .carousel-mask {
|
|
214
327
|
position: absolute;
|
|
@@ -226,6 +339,7 @@
|
|
|
226
339
|
flex-wrap: wrap;
|
|
227
340
|
overflow: hidden;
|
|
228
341
|
width: calc(100% + 20px); /**防止宽度不够问**/
|
|
342
|
+
height: 100%;
|
|
229
343
|
|
|
230
344
|
& > view {
|
|
231
345
|
display: flex;
|
|
@@ -238,6 +352,8 @@
|
|
|
238
352
|
}
|
|
239
353
|
|
|
240
354
|
&__box.carousel {
|
|
355
|
+
width: 100%;
|
|
356
|
+
height: 100%;
|
|
241
357
|
display: flex;
|
|
242
358
|
justify-content: flex-start;
|
|
243
359
|
align-items: flex-start;
|
|
@@ -247,6 +363,7 @@
|
|
|
247
363
|
|
|
248
364
|
& .sreen__box-list {
|
|
249
365
|
width: calc(100% + 20px); /**防止宽度不够问**/
|
|
366
|
+
height: 100%;
|
|
250
367
|
display: flex;
|
|
251
368
|
justify-content: flex-start;
|
|
252
369
|
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
|
},
|