1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
  | let mpMixins = {} 
 |  let is_pc = null 
 |  // #ifdef H5 
 |  import { 
 |      isPC 
 |  } from "./isPC" 
 |  is_pc = isPC() 
 |  // #endif 
 |  // #ifdef APP-VUE|| MP-WEIXIN || H5 
 |    
 |  mpMixins = { 
 |      data() { 
 |          return { 
 |              is_show: 'none' 
 |          } 
 |      }, 
 |      watch: { 
 |          show(newVal) { 
 |              this.is_show = this.show 
 |          } 
 |      }, 
 |      created() { 
 |          this.swipeaction = this.getSwipeAction() 
 |          if (this.swipeaction.children !== undefined) { 
 |              this.swipeaction.children.push(this) 
 |          } 
 |      }, 
 |      mounted() { 
 |          this.is_show = this.show 
 |      }, 
 |      methods: { 
 |          // wxs 中调用 
 |          closeSwipe(e) { 
 |              if (!this.autoClose) return 
 |              this.swipeaction.closeOther(this) 
 |          }, 
 |    
 |          change(e) { 
 |              this.$emit('change', e.open) 
 |              if (this.is_show !== e.open) { 
 |                  this.is_show = e.open 
 |              } 
 |          }, 
 |    
 |          appTouchStart(e) { 
 |              if (is_pc) return 
 |              const { 
 |                  clientX 
 |              } = e.changedTouches[0] 
 |              this.clientX = clientX 
 |              this.timestamp = new Date().getTime() 
 |          }, 
 |          appTouchEnd(e, index, item, position) { 
 |              if (is_pc) return 
 |              const { 
 |                  clientX 
 |              } = e.changedTouches[0] 
 |              // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 
 |              let diff = Math.abs(this.clientX - clientX) 
 |              let time = (new Date().getTime()) - this.timestamp 
 |              if (diff < 40 && time < 300) { 
 |                  this.$emit('click', { 
 |                      content: item, 
 |                      index, 
 |                      position 
 |                  }) 
 |              } 
 |          }, 
 |          onClickForPC(index, item, position) { 
 |              if (!is_pc) return 
 |              // #ifdef H5 
 |              this.$emit('click', { 
 |                  content: item, 
 |                  index, 
 |                  position 
 |              }) 
 |              // #endif 
 |          } 
 |      } 
 |  } 
 |    
 |  // #endif 
 |  export default mpMixins 
 |  
  |