Realtek/doc/testButtonClicks.js

58 lines
2.0 KiB
JavaScript
Raw Normal View History

2025-11-25 10:21:47 +08:00
// 测试短按处理逻辑的示例脚本
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');