jufubao-movie 1.0.39-beta4 → 1.0.39-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.39-beta4",
3
+ "version": "1.0.39-beta5",
4
4
  "private": false,
5
5
  "description": "聚福宝在线选座业务组件插件包",
6
6
  "main": "index.js",
@@ -79,6 +79,7 @@
79
79
  mixins: [componentsMixins,extsMixins,JfbMovieLineLineSeatMixin],
80
80
  data() {
81
81
  return {
82
+ hideMask: true,
82
83
  scheduleId: '',
83
84
  filmId: '',
84
85
  cinemaId: '',
@@ -3055,6 +3055,7 @@ module.exports = {
3055
3055
  film_id: "200",
3056
3056
  cinema_id: "7",
3057
3057
  cinema_name: "聚福宝测试影院聚福宝测试影院聚福宝测试影院聚福宝测试影院",
3058
+ "cinema_address":"燕高路西侧实验小学南侧",
3058
3059
  film_name: "碧血锦衣卫",
3059
3060
  show_date: "2024-04-08(周一) 14:20",
3060
3061
  show_version: "英语 2D",
@@ -1191,7 +1191,12 @@
1191
1191
 
1192
1192
  </script>
1193
1193
  <style lang="less">
1194
-
1194
+ .preloadIcon {
1195
+ position: fixed;
1196
+ top: -9999px;
1197
+ left: -9999px;
1198
+ z-index: 0;
1199
+ }
1195
1200
  .xd-online-seat {
1196
1201
  height: 100%;
1197
1202
  box-sizing: border-box;
@@ -4,7 +4,8 @@
4
4
  class="image"
5
5
  :style="{marginRight: outSpacing + 'rpx',borderRadius:borderRadius+'rpx'}"
6
6
  >
7
- <image :src="item['poster']" :alt="item['show_name']" @error="handleError(item)"></image>
7
+ <image v-if="errorStatus" :src="errorImage" :alt="item['show_name']" ></image>
8
+ <image v-if="!errorStatus" :src="item['poster']" :alt="item['show_name']" @error="handleError()" ></image>
8
9
  </view>
9
10
  <view class="middle">
10
11
  <view class="name">{{item['show_name']}}</view>
@@ -80,12 +81,18 @@
80
81
  }
81
82
 
82
83
  },
84
+ data(){
85
+ return {
86
+ errorImage: 'https://img.jufubao.cn/common/error_movie.png?v20',
87
+ errorStatus: false,
88
+ }
89
+ },
83
90
  created() {
84
91
 
85
92
  },
86
93
  methods:{
87
- handleError(item){
88
- item['poster'] = 'https://img.jufubao.cn/common/error_movie.png?v20'
94
+ handleError(){
95
+ this.errorStatus = true;
89
96
  },
90
97
  handleDetail(item){
91
98
  console.log('handleDetail.item',item,item.id);
@@ -716,8 +716,6 @@
716
716
  }
717
717
  }
718
718
 
719
-
720
-
721
719
  jfbRootExec(fName, {
722
720
  vm: this,
723
721
  data:params
@@ -727,9 +725,12 @@
727
725
 
728
726
  //影片列表处理
729
727
  if(this.type === 'rightnow' || this.type==='hot'){
730
- //this.dataList = (this.dataList||[]).concat(res['list']);
731
- this.virtualList.pushVirtualData(res['list']);
732
- this.pageToken = res.next_page_token;
728
+ //预览模式
729
+ if(this.isPreview) this.dataList = (this.dataList||[]).concat(res['list']);
730
+ else {
731
+ this.virtualList.pushVirtualData(res['list']);
732
+ this.pageToken = res.next_page_token;
733
+ }
733
734
  return;
734
735
  }
735
736
 
@@ -739,7 +740,6 @@
739
740
  this.cinemaOrgDataList = res['list'];
740
741
  this.cinemaAreaList = [{area_code:'all', area_name:'全城'}].concat(res['area_list']);
741
742
 
742
-
743
743
  //小于数量页面显示记录
744
744
  if(res['list'].length <= this.pageSize) {
745
745
  this.dataList = res['list'];
@@ -748,8 +748,14 @@
748
748
  return
749
749
  }
750
750
 
751
- //正常处理
752
- this.getCinemaOrgData();
751
+ if(this.isPreview) {
752
+ this.dataList = (this.dataList||[]).concat(res['list'].slice(0, 20));
753
+ }
754
+ else {
755
+ //正常处理
756
+ this.getCinemaOrgData();
757
+ }
758
+
753
759
  }
754
760
 
755
761
  }).catch(e=>{
@@ -870,6 +876,7 @@
870
876
  },
871
877
 
872
878
  onJfbScroll(options){
879
+ if(!this.pageToken || this.dataList === null) return false;
873
880
  if(this.type === 'hot' || this.type === 'rightnow'){
874
881
  this.virtualList.onScrollEvent(options.e.scrollTop);
875
882
  }
@@ -895,7 +902,7 @@
895
902
  },
896
903
 
897
904
  onJfbReachBottom(options) {
898
- if(!this.pageToken) return false;
905
+ if(!this.pageToken || this.dataList === null) return false;
899
906
  this.getList();
900
907
  },
901
908
 
@@ -261,21 +261,49 @@ export default {
261
261
  groupKey:'style',
262
262
  },
263
263
  {
264
- label: '数量文字颜色:',
264
+ label: '总数量文字颜色:',
265
265
  ele: 'xd-color',
266
266
  valueKey: 'totalColor',
267
267
  value: data['totalColor'] || '',
268
268
  groupKey:'style',
269
- placeholder: '请输入背景颜色',
269
+ placeholder: '请输入总数量文字颜色',
270
+ classNmae: 'input60',
271
+ },
272
+
273
+
274
+ {
275
+ ele: 'title',
276
+ label: '标题显示样式:<span style="color:red">“下划线样式”</span> 设置',
277
+ size: 'small',
278
+ groupKey:'style',
279
+ },
280
+ {
281
+ label: '标题文字颜色:',
282
+ ele: 'xd-color',
283
+ valueKey: 'titleLineTextColor',
284
+ value: data['titleLineTextColor'] || '',
285
+ groupKey:'style',
286
+ placeholder: '请输入标题文字颜色',
287
+ classNmae: 'input60',
288
+ },
289
+ {
290
+ label: '标题选中文字颜色:',
291
+ ele: 'xd-color',
292
+ valueKey: 'titleLineActTextColor',
293
+ value: data['titleLineActTextColor'] || '',
294
+ groupKey:'style',
295
+ placeholder: '请输入选中文字颜色',
270
296
  classNmae: 'input60',
271
297
  },
272
298
 
273
299
  {
274
300
  ele: 'title',
275
- label: '标题切换标签设置<span style="color:red">按钮样式</span>生效',
301
+ label: '标题显示样式:<span style="color:red">“按钮样式”</span> 设置',
276
302
  size: 'small',
277
303
  groupKey:'style',
278
304
  },
305
+
306
+
279
307
  {
280
308
  label: '标题背景颜色:',
281
309
  ele: 'xd-color',
@@ -20,7 +20,8 @@
20
20
  v-if="showTypeListData.length > 0"
21
21
  :style="{
22
22
  padding: outSpacing + 'rpx',
23
- backgroundImage:bgImageComp
23
+ backgroundImage:bgImageComp,
24
+ backgroundColor: bgColor
24
25
  }">
25
26
  <view
26
27
  class="tfk-recommend__tab"
@@ -43,6 +44,7 @@
43
44
  :class="{active: type === item.value}"
44
45
  v-for="(item,index) in showTypeListData"
45
46
  :key="index"
47
+ :style="{color: (type === item.value? titleLineActTextColor: titleLineTextColor)}"
46
48
  >{{item.label}}<text v-if="type === item.value" :style="{backgroundColor:mainColor}"></text></view>
47
49
  </view>
48
50
  <view
@@ -58,7 +60,8 @@
58
60
  :style="{
59
61
  backgroundColor: type === item.value? titleTextActBgColor: titleTextBgColor,
60
62
  color: type === item.value ? titleTextActColor: titleTextColor,
61
- borderRadius:titleTextRradius+'rpx'
63
+ borderRadius:titleTextRradius+'rpx',
64
+ marginRight:outSpacing + 'rpx',
62
65
  }"
63
66
  >{{item.label}}</view>
64
67
  </view>
@@ -88,7 +91,7 @@
88
91
  backgroundColor:contBgColor,
89
92
  borderRadius: contRradius + 'rpx',
90
93
  border:contBorder,
91
- boxShadow:contShadow,
94
+ boxShadow:contShadow
92
95
  }"
93
96
  >
94
97
  <view class="skeleton-wrap" v-if="dataList === null">
@@ -179,6 +182,7 @@
179
182
  ],
180
183
  data() {
181
184
  return {
185
+ hideMask: true,
182
186
  options: {},
183
187
  type:'', //hot rightnow
184
188
  typeList:{hot:{label: '热映影片', value: 'hot'},rightnow:{label: '即将上映', value: 'rightnow'}},
@@ -192,6 +196,7 @@
192
196
  showTypeListData:[],
193
197
 
194
198
  //基础配置
199
+ bgColor:'',
195
200
  outSpacing:'',
196
201
  showMoreBtn: 'Y',
197
202
  showTotal:'Y',
@@ -223,6 +228,10 @@
223
228
  moreRradius: '40',
224
229
  totalColor: '#999',
225
230
 
231
+ //line
232
+ titleLineTextColor:'',
233
+ titleLineActTextColor:'',
234
+
226
235
  //内容
227
236
  contMargin: {},
228
237
  contBgColor:'#fff',
@@ -388,6 +397,7 @@
388
397
  * @param container {object} 业务组件对象自己
389
398
  */
390
399
  init(container) {
400
+ this.bgColor = getContainerPropsValue(container, 'content.bgColor', '');
391
401
  this.outSpacing = getContainerPropsValue(container, 'content.outSpacing', '20');
392
402
  this.titleMargin = getContainerPropsValue(container, 'content.titleMargin', {});
393
403
  this.titleBgColor = getContainerPropsValue(container, 'content.titleBgColor', '#fff');
@@ -409,6 +419,10 @@
409
419
  this.showHotName = getContainerPropsValue(container, 'content.showHotName', '');
410
420
  this.showRightnowName = getContainerPropsValue(container, 'content.showRightnowName', '');
411
421
 
422
+ //line
423
+ this.titleLineTextColor = getContainerPropsValue(container, 'content.titleLineTextColor', '#333');
424
+ this.titleLineActTextColor= getContainerPropsValue(container, 'content.titleLineActTextColor', '#333');
425
+
412
426
  this.isTitleBorder = getContainerPropsValue(container, 'content.isTitleBorder', 'N');
413
427
  this.isTitleBorderColor = getContainerPropsValue(container, 'content.isTitleBorderColor', '#eee');
414
428
  this.isTitleShadow = getContainerPropsValue(container, 'content.isTitleShadow', 'N');
@@ -493,6 +507,10 @@
493
507
  }
494
508
  &.button > view {
495
509
  padding: 0 30rpx;
510
+ &:last-child {
511
+ margin-right: 0!important;
512
+ }
513
+
496
514
  }
497
515
 
498
516
  & > view {