/** * test-phone.js — 在手机上验证微信发送和跟踪功能 * * 运行方式: * cd /data/data/com.termux/files/home/hermes-wechat * node test-phone.js */ const { sendTextMessage, sendTextMessageBroadcast, queryStatus } = require('./android-wechat-sender'); const { AndroidWechatTracker } = require('./android-wechat-tracker'); const TARGET = process.argv[2] || 'filehelper'; const CONTENT = process.argv[3] || `hermes phone test ${new Date().toLocaleTimeString()}`; async function run() { console.log('=== WeChat Phone Test ==='); console.log(`Target: ${TARGET}`); console.log(`Content: ${CONTENT}`); console.log(''); // 1. 查询状态 console.log('[1] Querying status...'); const status = await queryStatus(); console.log(' Status:', status); console.log(''); // 2. 发送消息(广播方式,更可靠) console.log('[2] Sending via broadcast...'); const result = await sendTextMessageBroadcast(TARGET, CONTENT); console.log(' Result:', result); console.log(''); // 3. 等待并跟踪消息 console.log('[3] Tracking messages for 10 seconds...'); const tracker = new AndroidWechatTracker(); let received = false; tracker.on('message', msg => { if (msg.content.includes(CONTENT.substring(0, 10))) { console.log(' ✓ Captured our message:', msg); received = true; } }); tracker.on('sendResult', r => { console.log(' Send result:', r); }); tracker.startPolling(1000); await new Promise(r => setTimeout(r, 10000)); tracker.stopPolling(); console.log(''); if (received) { console.log('✅ Test PASSED — message sent and tracked successfully'); } else { console.log('⚠️ Test INCONCLUSIVE — message may have sent but not captured in logs'); console.log(' Check: su -c "logcat -s HermesWX:D | grep MSG"'); } } run().catch(e => { console.error('❌ Test FAILED:', e.message); process.exit(1); });