jufubao-movie 1.0.36-beta4 → 1.0.36-beta5
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
CHANGED
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
circular
|
|
74
74
|
@animationfinish="handleAnimationfinish"
|
|
75
75
|
>
|
|
76
|
-
<swiper-item v-for="(item,index) in posterList" :key="index" @click.stop="
|
|
76
|
+
<swiper-item v-for="(item,index) in posterList" :key="index" @click.stop="handlePosterClick(item,index)">
|
|
77
77
|
<image :style="{width: posterSize.width + 'rpx', height: posterSize.height + 'rpx' }" :src="item['image_url']" mode="aspectFill"></image>
|
|
78
78
|
</swiper-item>
|
|
79
79
|
</swiper>
|
|
@@ -253,6 +253,7 @@
|
|
|
253
253
|
import getServiceUrl from '@/common/getServiceUrl'
|
|
254
254
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
255
255
|
import extsMixins from "@/mixins/extsMixins";
|
|
256
|
+
import posterMixins from "@/mixins/posterMixins";
|
|
256
257
|
import ContentItem from './ContentItem.vue'
|
|
257
258
|
import ContentCinema from "./ContentCinema.vue";
|
|
258
259
|
import XdQuerySort from "./XdQuerySort.vue";
|
|
@@ -271,7 +272,7 @@
|
|
|
271
272
|
XdQueryFilter
|
|
272
273
|
},
|
|
273
274
|
mixins: [
|
|
274
|
-
componentsMixins, extsMixins, JfbMovieTfkFilmListMixin
|
|
275
|
+
componentsMixins, extsMixins, JfbMovieTfkFilmListMixin,posterMixins
|
|
275
276
|
],
|
|
276
277
|
data() {
|
|
277
278
|
return {
|
|
@@ -468,7 +469,6 @@
|
|
|
468
469
|
data:{}
|
|
469
470
|
}).then(res => {
|
|
470
471
|
this.sortUserList = res['cinema_customer_sort'];
|
|
471
|
-
debugger
|
|
472
472
|
}).catch(err=>{
|
|
473
473
|
console.error(err);
|
|
474
474
|
})
|
|
@@ -526,14 +526,12 @@
|
|
|
526
526
|
handleCashierDetail(item){
|
|
527
527
|
//todo
|
|
528
528
|
},
|
|
529
|
-
|
|
530
529
|
handleFilterTab(tab){
|
|
531
530
|
if(tab === this.curQueryTab ) {
|
|
532
531
|
this.curQueryTab = ''
|
|
533
532
|
}
|
|
534
533
|
else this.curQueryTab = tab
|
|
535
534
|
},
|
|
536
|
-
|
|
537
535
|
handleQuerySort(sortData){
|
|
538
536
|
this.sortCode = sortData.value;
|
|
539
537
|
this.sortName = sortData.label;
|
|
@@ -548,7 +546,6 @@
|
|
|
548
546
|
},200)
|
|
549
547
|
|
|
550
548
|
},
|
|
551
|
-
|
|
552
549
|
handleQueryFilter(sortData){
|
|
553
550
|
this.areaCode = sortData.area_code;
|
|
554
551
|
this.areaName = sortData.area_name;
|
|
@@ -565,12 +562,6 @@
|
|
|
565
562
|
},
|
|
566
563
|
//影院列表
|
|
567
564
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
handleClick(){
|
|
571
|
-
//todo
|
|
572
|
-
},
|
|
573
|
-
|
|
574
565
|
handleAnimationfinish(e){
|
|
575
566
|
this.current = e.detail.current;
|
|
576
567
|
},
|
|
@@ -719,13 +710,14 @@
|
|
|
719
710
|
},
|
|
720
711
|
})
|
|
721
712
|
.then(res => {
|
|
722
|
-
|
|
713
|
+
let posterList = res.list.map((item,index) => {
|
|
723
714
|
return {
|
|
724
715
|
...item,
|
|
725
716
|
image_background_url: item.image_background_url?getServiceUrl(item.image_background_url):'',
|
|
726
717
|
image_url: item.image_url?getServiceUrl(item.image_url):''
|
|
727
718
|
}
|
|
728
719
|
});
|
|
720
|
+
this.posterList = this.posterFilterNoUseData(posterList);
|
|
729
721
|
})
|
|
730
722
|
.catch(err=>{
|
|
731
723
|
console.error(err);
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
data(){
|
|
5
|
+
|
|
6
|
+
},
|
|
7
|
+
methods:{
|
|
8
|
+
/**
|
|
9
|
+
* @description 过滤不可以用
|
|
10
|
+
* 当前项目未H5时,过滤所有小程序应用
|
|
11
|
+
* 当前项目未小程序时,过滤所有非当前小程序应用
|
|
12
|
+
* 站外地址直接返回
|
|
13
|
+
* 站内地址未选值直接返回
|
|
14
|
+
* 预览模式全过
|
|
15
|
+
*/
|
|
16
|
+
posterFilterNoUseData(list = []){
|
|
17
|
+
let content = this.$xdUniHelper.cloneDeep(list).filter(item=>{
|
|
18
|
+
//预览模式
|
|
19
|
+
if( this.$configProject.isPreview) return true;
|
|
20
|
+
|
|
21
|
+
//非内部应用
|
|
22
|
+
if(item.redirect_type !== 'INN') return true
|
|
23
|
+
|
|
24
|
+
//没有配置链接
|
|
25
|
+
if(!item.redirect_data) return true;
|
|
26
|
+
|
|
27
|
+
//内部应用
|
|
28
|
+
else {
|
|
29
|
+
let redirect_data;
|
|
30
|
+
try {
|
|
31
|
+
redirect_data = JSON.parse(item.redirect_data);
|
|
32
|
+
if(!item['app_type']) item['app_type']= 'h5';
|
|
33
|
+
|
|
34
|
+
//#ifdef H5
|
|
35
|
+
return item['app_type'] !== 'wxmp';
|
|
36
|
+
//#endif
|
|
37
|
+
|
|
38
|
+
//#ifdef MP-WEIXIN
|
|
39
|
+
let actDir = this.$parent['projectAttr']['deploy_dir'];
|
|
40
|
+
let dir = this.getPosterPathDir(redirect_data.page);
|
|
41
|
+
if(item['app_type'] === 'wxmp'){
|
|
42
|
+
return actDir === dir;
|
|
43
|
+
}
|
|
44
|
+
else if(item['app_type'] === 'h5') return true;
|
|
45
|
+
else return true
|
|
46
|
+
//#endif
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
return true
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
console.warn(`PostersList:${JSON.stringify(content.map(item=>`${item.app_type}:${item.content_name}:${item.redirect_data}`), null,2)}`)
|
|
54
|
+
return content;
|
|
55
|
+
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
getPosterPathDir(pathDir){
|
|
59
|
+
if(pathDir.indexOf('@site_domain@/') === 0) {
|
|
60
|
+
return pathDir.replace('@site_domain@/','').split('/')[0]
|
|
61
|
+
}
|
|
62
|
+
return ''
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
handlePosterClick(item) {
|
|
66
|
+
if(!item.redirect_data) {
|
|
67
|
+
console.warn(`未配置链接地址: ${item.redirect_data}`);
|
|
68
|
+
console.error(`未配置链接地址: ${item.redirect_data}`);
|
|
69
|
+
return
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
//内部链接跳转地址
|
|
73
|
+
if (item.redirect_type === 'INN') {
|
|
74
|
+
try {
|
|
75
|
+
let url = JSON.parse(item.redirect_data);
|
|
76
|
+
let params = '';
|
|
77
|
+
if(url.page) {
|
|
78
|
+
if (item['redirect_params']) params = `?${item['redirect_params']}`;
|
|
79
|
+
this.$xdUniHelper.navigateTo({url: url.page + params})
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
console.error(`应用链接配置错误: ${url.page}`)
|
|
83
|
+
}
|
|
84
|
+
} catch (e) {
|
|
85
|
+
console.error(`应用链接配置错误: ${item.redirect_data}`)
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//外部链接
|
|
90
|
+
if (item.redirect_type === 'URL') {
|
|
91
|
+
let reg = /^(http:\/\/|https:\/\/|\/\/)+.+$/;
|
|
92
|
+
let spReg = /(-apiuri\/v)/;
|
|
93
|
+
//#ifdef MP-WEIXIN
|
|
94
|
+
try {
|
|
95
|
+
let url = JSON.parse(item.redirect_data);
|
|
96
|
+
if (reg.test(url.url) || spReg.test(url.url)) {
|
|
97
|
+
console.warn(`广告跳转外站: ${url.url}`)
|
|
98
|
+
this.$xdUniHelper.navigateTo(url);
|
|
99
|
+
} else {
|
|
100
|
+
console.error(`广告跳转外站配置错误: ${url.url}`)
|
|
101
|
+
}
|
|
102
|
+
} catch (e) {
|
|
103
|
+
console.error(`广告跳转外站配置错误: ${item.redirect_data}`)
|
|
104
|
+
}
|
|
105
|
+
//#endif
|
|
106
|
+
//#ifdef H5
|
|
107
|
+
try {
|
|
108
|
+
let url = JSON.parse(item.redirect_data);
|
|
109
|
+
console.warn(`广告跳转外站: ${url.url}`);
|
|
110
|
+
this.$xdUniHelper.redirectTo(url, false)
|
|
111
|
+
} catch (e) {
|
|
112
|
+
console.error(`广告跳转外站配置错误: ${item.redirect_data}`)
|
|
113
|
+
}
|
|
114
|
+
//#endif
|
|
115
|
+
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
//无跳转地址
|
|
119
|
+
if(item.redirect_type === 'EMP') {
|
|
120
|
+
console.warn(`无跳转地址`);
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
}
|
|
125
|
+
|