26b7d2ed创建于 2025年8月18日历史提交
let mpMixins = {}

let is_pc = null

// #ifdef H5

import {

	isPC

} from "./isPC"

is_pc = isPC()

// #endif

// #ifdef APP-VUE || APP-HARMONY || 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 && Array.isArray(this.swipeaction.children)) {

			this.swipeaction.children.push(this)

		}

	},

	mounted() {

		this.is_show = this.show

	},

	methods: {

		// wxs 中调用

		closeSwipe(e) {
			if (this.autoClose && this.swipeaction) {
				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