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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-movie",
3
- "version": "1.0.36-beta4",
3
+ "version": "1.0.36-beta5",
4
4
  "private": false,
5
5
  "description": "聚福宝在线选座业务组件插件包",
6
6
  "main": "index.js",
@@ -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="handleClick(item,index)">
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
- this.posterList = res.list.map((item,index) => {
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
+