/** * wechat/index.js — 统一入口,自动检测环境(Mac adb vs Android su) */ const os = require('os'); function isAndroid() { // 检测是否在 Android/Termux 环境 if (process.platform === 'android') return true; if (process.env.TERMUX_VERSION) return true; if (process.env.PREFIX && process.env.PREFIX.includes('termux')) return true; // Debian chroot 在 Android 上通常也能检测到特定路径 try { const fs = require('fs'); if (fs.existsSync('/system/build.prop')) return true; if (fs.existsSync('/data/adb')) return true; } catch {} return false; } const onAndroid = isAndroid(); let sender, tracker; if (onAndroid) { sender = require('./android-wechat-sender'); tracker = require('./android-wechat-tracker'); } else { sender = require('./wechat-sender'); tracker = require('./wechat-tracker'); } module.exports = { // 环境信息 platform: onAndroid ? 'android' : 'mac', isAndroid: onAndroid, // 发送 sendTextMessage: sender.sendTextMessage, sendTextMessageBroadcast: sender.sendTextMessageBroadcast, queryStatus: sender.queryStatus, sendBatch: sender.sendBatch, // 跟踪(兼容命名:Android 端 WechatTracker 也指向 AndroidWechatTracker) WechatTracker: tracker.WechatTracker || tracker.AndroidWechatTracker, AndroidWechatTracker: tracker.AndroidWechatTracker || tracker.WechatTracker, // 读取(已有,仅 Mac 端可用,手机端通过 decrypted DB 访问) reader: onAndroid ? null : require('./wechat-reader'), importer: onAndroid ? null : require('./wechat-importer'), };