<template>
	<view class="version_box">
		<view @click="updateVersion()" class="zx_version"> Copyright © 2021 yckj {{ version }} </view>
		<view class="zx_version" @longpress="longPressEvent" @tap="dblclick">宇宸信息科技</view>
	</view>
</template>

<script>
export default {
	data() {
		return {
			version: "v1.0.01",
			isDoubled: false,
			isLongPressed: false,
			touchStartTime: 0, //点击开始时间
			touchEndTime: 0 //点击结束时间
		};
	},
	mounted() {
		this.getVersion();
	},
	methods: {
		updateVersion() {
			try {
				uni.clearStorageSync();
			} catch (e) {
				// error
			}
		},
		async getVersion() {},
		dblclick: function (e) {
			var that = this;
			// 控制点击事件在350ms内触发，加这层判断是为了防止长按时会触发点击事件
			if (that.touchEndTime - that.touchStartTime < 350) {
				// 当前点击的时间
				var currentTime = e.timeStamp;
				var lastTapTime = that.lastTapTime;
				// 更新最后一次点击时间
				that.lastTapTime = currentTime;
				// 如果两次点击时间在300毫秒内，则认为是双击事件
				if (currentTime - lastTapTime < 300) {
					console.log("double tap", "双击事件已触发");
					// 成功触发双击事件时，取消单击事件的执行
					this.isDoubled = true;
					this.showAdminIdInput();
				}
			}
		},
		longPressEvent() {
			console.log("longPressEvent", "长按事件已触发");
			this.isLongPressed = true;
			this.showAdminIdInput();
		},
		/**
		 *判断是否是数字
		 *
		 **/
		isRealNum(val) {
			// isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除，
			if (val === "" || val == null) {
				return false;
			}
			if (!isNaN(val)) {
				//对于空数组和只有一个数值成员的数组或全是数字组成的字符串，isNaN返回false，例如：'123'、[]、[2]、['123'],isNaN返回false,   //所以如果不需要val包含这些特殊情况，则这个判断改写为if(!isNaN(val) && typeof val === 'number' ),否则if (!isNaN(val))
				return true;
			} else {
				return false;
			}
		},
		showAdminIdInput() {
			let that = this;
			if (this.isDoubled && this.isLongPressed) {
				this.isDoubled = false;
				this.isLongPressed = false;
				uni.showModal({
					title: "调试功能，非专业人士不要使用",
					content: "",
					editable: true,
					placeholderText: "",
					success: function (res) {
						console.log("res", res);
						if (res.confirm) {
							console.log("isRealNum", that.isRealNum(res.content));
							if (that.isRealNum(res.content)) {
								console.log("是数值");
								//如果是数值
								uni.setStorageSync("adminId", parseInt(res.content));
							}
							console.log("用户点击确定");
						}
					}
				});
			}
		}
	}
};
</script>

<style lang="scss">
.version_box {
	padding-bottom: 20rpx;
	.zx_version {
		font-size: 20rpx;
		text-align: center;
		padding: 10rpx 40rpx 10rpx 40rpx;
		color: #999999;
	}
}
</style>
