浏览代码

超级单词选择修改

wangxy 21 小时之前
父节点
当前提交
8ed84e4d7b
共有 1 个文件被更改,包括 57 次插入0 次删除
  1. 57 0
      utils/useSwiper.js

+ 57 - 0
utils/useSwiper.js

@@ -0,0 +1,57 @@
+import {
+	reactive
+} from "vue"
+import {getUserIdentity} from "@/utils/common.js"
+
+export function useSwiper(Da, callBack) {
+	
+	const userCode = getUserIdentity()
+	
+	const swiperData = reactive({
+		startX: 0, // 触摸起点X坐标
+		isAllowed: true // 是否允许切
+	})
+
+	// if (userCode!='VIP') {
+		// swiperData.isAllowed = false;
+	// }
+
+	// 1. 触摸开始:记录起点
+	function handleTouchStart(e) {
+		swiperData.startX = e.touches[0].pageX;
+	}
+
+	// 2. 触摸结束:校验距离与业务条件
+	function handleTouchEnd(e) {
+		const endX = e.changedTouches[0].pageX;
+		const deltaX = endX - swiperData.startX;
+		const absDeltaX = Math.abs(deltaX);
+
+		// 校验条件:滑动距离 > 10px 且业务条件通过
+		if (absDeltaX > 10 && checkBusinessCondition()) {
+			swiperData.isAllowed = true;
+		} else {
+			swiperData.isAllowed = false;
+		}
+		if (absDeltaX > 10) {
+			callBack && callBack(userCode)
+		}
+	}
+
+	// 4. 业务条件校验(示例)
+	function checkBusinessCondition() {
+		// if (userCode != 'VIP') {
+		// 	return false
+		// }
+		return true
+
+	}
+	
+	return {
+		swiperData,
+		userCode,
+		handleTouchStart,
+		handleTouchEnd
+	}
+
+}