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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
| const app = getApp()
Page({
data: { showTopBtn: false, total: 0, hasMore: true, page: 1, size: 20, patents: [], startX: 0, startY: 0 },
onLoad: function (options) {
},
touchStart(e) { this.data.patents.forEach(function (v, i) { if (v.isTouchMove) v.isTouchMove = false; }) this.setData({ startX: e.changedTouches[0].clientX, startY: e.changedTouches[0].clientY, patents: this.data.patents }) },
touchMove(e) { var that = this, index = e.currentTarget.dataset.index, startX = that.data.startX, startY = that.data.startY, touchMoveX = e.changedTouches[0].clientX, touchMoveY = e.changedTouches[0].clientY; var angle = that.getAngle({ X: startX, Y: startY }, { X: touchMoveX, Y: touchMoveY });
that.data.patents.forEach(function (v, i) { v.isTouchMove = false; if (Math.abs(angle) > 30) return; if (i == index && touchMoveX < startX) { v.isTouchMove = true; } else { v.isTouchMove = false; } }) that.setData({ patents: that.data.patents }) },
delItem(e) { var that = this; var index = e.currentTarget.dataset.index; this.data.patents[index].isTouchMove = true; this.setData({ patents: that.data.patents })
wx.showModal({ title: '提示', content: '确认是否删除?', success: function (res) { if (res.confirm) { var list = that.data.patents; list.splice(index, 1); that.setData({ patents: list, total: list.length }); wx.setStorageSync('FAVORITE', list) app.wechat.writeFile('favorite.json', list)
wx.showToast({ title: '删除成功', duration: 1500 }) } else { that.data.patents[index].isTouchMove = false; that.setData({ patents: that.data.patents }) } } }) },
getAngle(start, end) { var _X = end.X - start.X; var _Y = end.Y - start.Y; return 360 * Math.atan(_Y / _X) / (2 * Math.PI); } })
|