沈阳K11 横板
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

50 lines
1.3 KiB

import { ref, nextTick, watch } from 'vue'
export const useLogout = () => {
const logout = ref(false)
const clickedNumberTotal = ref(0)
const timer = ref()
const MAX_NUMBER = 10
const DELAY_TIME = 10000
const SAFE_COORDINATES = 200
function resetClickNumber() {
clickedNumberTotal.value = 0
}
function setLogout(flag: boolean) {
logout.value = flag
}
//点击商场logo 达到最大次数显示退出框
function addTotalClick(e: TouchEvent) {
try {
const { clientX, clientY } = e.changedTouches[0]
const _clientX = parseInt(String(clientX), 10)
const _clientY = parseInt(String(clientY), 10)
if (_clientX >= 0 && _clientX <= SAFE_COORDINATES && _clientY >= 0 && _clientY <= SAFE_COORDINATES) {
clickedNumberTotal.value++
}
nextTick(() => {
if (clickedNumberTotal.value >= MAX_NUMBER) {
logout.value = true
resetClickNumber()
}
})
} catch (error) {
console.log(error)
}
}
watch(clickedNumberTotal, newVal => {
clearTimeout(timer.value)
timer.value = setTimeout(() => {
if (newVal !== 0) {
clearTimeout(timer.value)
resetClickNumber()
}
}, DELAY_TIME)
})
return { resetClickNumber, addTotalClick, setLogout, logout }
}