58 lines
2.0 KiB
JavaScript
58 lines
2.0 KiB
JavaScript
// 测试短按处理逻辑的示例脚本
|
||
const buttonHandler = require('./buttonClickHandler');
|
||
|
||
console.log('开始测试短按处理逻辑...\n');
|
||
|
||
// 测试场景1: 短按1下
|
||
testSingleClick();
|
||
|
||
// 测试场景2: 短按2下 (双击)
|
||
setTimeout(testDoubleClick, 1000);
|
||
|
||
// 测试场景3: 短按10下 (十连击)
|
||
setTimeout(testTenClicks, 3000);
|
||
|
||
// 测试场景4: 混合点击模式(单击后双击)
|
||
setTimeout(testMixedClicks, 6000);
|
||
|
||
function testSingleClick() {
|
||
console.log('===== 测试场景1: 短按1下 =====');
|
||
buttonHandler.simulateSingleClick();
|
||
}
|
||
|
||
function testDoubleClick() {
|
||
console.log('\n===== 测试场景2: 短按2下 (双击) =====');
|
||
buttonHandler.simulateDoubleClick();
|
||
}
|
||
|
||
function testTenClicks() {
|
||
console.log('\n===== 测试场景3: 短按10下 (十连击) =====');
|
||
buttonHandler.simulateTenClicks();
|
||
}
|
||
|
||
function testMixedClicks() {
|
||
console.log('\n===== 测试场景4: 混合点击模式 =====');
|
||
console.log('先单击一次:');
|
||
buttonHandler.simulateSingleClick();
|
||
|
||
setTimeout(() => {
|
||
console.log('\n然后双击:');
|
||
buttonHandler.simulateDoubleClick();
|
||
|
||
// 程序结束提示
|
||
setTimeout(() => {
|
||
console.log('\n\n所有测试完成!');
|
||
console.log('\n总结:');
|
||
console.log('1. 短按1下: 通过单击事件触发,会执行handleSingleClick()');
|
||
console.log('2. 短按2下: 通过双击事件触发,会执行handleDoubleClick()');
|
||
console.log('3. 短按10下: 通过连续快速点击10次触发,会执行handleTenClicks()');
|
||
console.log('\n实现原理:');
|
||
console.log('- 使用定时器和时间阈值区分不同的点击序列');
|
||
console.log('- 记录点击次数,超时后根据次数执行相应逻辑');
|
||
console.log('- 可以轻松扩展支持更多次数的点击模式');
|
||
}, 1000);
|
||
}, 1000);
|
||
}
|
||
|
||
console.log('\n测试将按顺序自动执行,请查看输出结果...');
|
||
console.log('注意: 各个测试场景之间有时间间隔,以便清晰观察输出\n'); |