jufubao-movie 1.0.38 → 1.0.39-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.
- package/package.json +1 -1
- package/src/components/JfbMovieLineFilmInfo/Attr.js +2 -2
- package/src/components/JfbMovieLineFilmInfo/JfbMovieLineFilmInfo.vue +1 -3
- package/src/components/JfbMovieLineLineSeat/XdOnlineSeat.vue +17 -14
- package/src/components/JfbMovieLineLineSeat/XdOnlineSeatMove.vue +424 -100
- package/src/components/JfbMovieLineSchedule/JfbMovieLineSchedule.vue +65 -14
- package/src/components/JfbMovieTfkFilmList/Api.js +41 -22
- package/src/components/JfbMovieTfkFilmList/Attr.js +622 -30
- package/src/components/JfbMovieTfkFilmList/ContentCinema.vue +147 -0
- package/src/components/JfbMovieTfkFilmList/ContentItem.vue +167 -0
- package/src/components/JfbMovieTfkFilmList/JfbMovieTfkFilmList.vue +1047 -28
- package/src/components/JfbMovieTfkFilmList/Mock.js +4 -9
- package/src/components/JfbMovieTfkFilmList/XdQueryFilter.vue +87 -0
- package/src/components/JfbMovieTfkFilmList/XdQuerySort.vue +149 -0
- package/src/components/JfbMovieTfkFilmList/XdSwiperDot.vue +234 -0
- package/src/components/JfbMovieTfkFilmRecommend/Api.js +16 -36
- package/src/components/JfbMovieTfkFilmRecommend/Attr.js +527 -29
- package/src/components/JfbMovieTfkFilmRecommend/JfbMovieTfkFilmRecommend.vue +537 -34
- package/src/components/JfbMovieTfkFilmRecommend/Mock.js +2 -9
- package/src/lib/VirtualList.js +184 -0
- package/src/mixins/componentsMixins.js +275 -24
- package/src/mixins/posterMixins.js +125 -0
|
@@ -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
|
+
|