From 5f0d79aa92880d30613a8994d43b68d4e7b996a2 Mon Sep 17 00:00:00 2001 From: TQCasey <494294315@qq.com> Date: Wed, 28 Jan 2026 21:43:16 +0800 Subject: [PATCH] fix --- autojs/phonepe.js | 101 ++++ icon.png | Bin 0 -> 13678 bytes log/mobikwik_transactions.json | 739 +++++++++++++++++++++++++ log/paytm_business_transactions.json | 203 +++++++ log/phonepe_business_transactions.json | 585 +++++++++++++++++++ servers/walletman | 2 +- 6 files changed, 1629 insertions(+), 1 deletion(-) create mode 100644 autojs/phonepe.js create mode 100644 icon.png create mode 100644 log/mobikwik_transactions.json create mode 100644 log/paytm_business_transactions.json create mode 100644 log/phonepe_business_transactions.json diff --git a/autojs/phonepe.js b/autojs/phonepe.js new file mode 100644 index 0000000..374ddf8 --- /dev/null +++ b/autojs/phonepe.js @@ -0,0 +1,101 @@ +// 先打开 PhonePe 应用 + +console.log("正在启动 PhonePe 应用..."); +app.launch("com.phonepe.app"); + +// 等待应用加载 +// sleep(3000); +// 简化:直接通过 id 查找并点击,找不到则坐标点击后备 +console.log("开始搜索 tvPay (com.phonepe.app:id/tvPay) 元素..."); +var el = id("com.phonepe.app:id/tvPay").findOne(1000); +if (el) { + console.log("找到 tvPay,尝试 click()..."); + if (!el.click()) { + var b = el.bounds(); + click(Math.floor((b.left + b.right) / 2), Math.floor((b.top + b.bottom) / 2)); + } + console.log("点击完成"); +} else { + console.log("未找到 tvPay,使用默认坐标点击作为后备"); + // 请根据设备分辨率调整坐标 + click(360, 1440); + console.log("后备坐标点击已执行"); +} + +// 等待支付界面加载 +sleep(5000); + +// 填写金额 +var amountEl = id("com.phonepe.app:id/et_amount").findOne(2000); +if (amountEl) { + amountEl.click(); + sleep(300); + amountEl.setText('1'); +} else { + input('1'); +} +sleep(1000); + +// 填写备注 +var notesEl = id("com.phonepe.app:id/et_notes").findOne(2000); +if (notesEl) { + notesEl.click(); + sleep(300); + notesEl.setText('No Body'); +} else { + input('No Body'); +} +sleep(1000); + +// 点击继续 +var proceedEl = id("com.phonepe.app:id/fl_proceed_bar_container").findOne(2000); +if (proceedEl) { + console.log("找到继续按钮,尝试 click()..."); + // proceedEl.click(); + click(360, 950); +} else { + console.log("未找到继续按钮,使用默认坐标点击作为后备"); + click(360, 950); +} +sleep(3000); + +// 最后点击支付 +click(360, 1436); // 点击支付 + +// 定义函数:查找并点击 clickable 的控件,包含指定文本 +function findAndClickByText(text) { + var elements = className('TextView').clickable(true).find(); + console.log("找到 " + elements.length + " 个 clickable TextView 控件"); + + for (var i = 0; i < elements.length; i++) { + var elementText = elements[i].text(); + console.log("控件 " + (i + 1) + ": [" + elementText + "]"); + + if (elementText == text) { + console.log("找到匹配的控件: " + text + ",点击中..."); + elements[i].click(); + sleep(300); + return true; + } + } + + console.log("未找到包含 '" + text + "' 的控件"); + return false; +} + +// 输入 pin +sleep(2000); +console.log("开始使用 clickable 控件输入 PIN 1123..."); +sleep(300); + +// 依次点击: 1, 1, 2, 3 +var sequence = ['1', '1', '2', '3']; +for (var j = 0; j < sequence.length; j++) { + console.log("\\n第 " + (j + 1) + " 步: 查找并点击数字 " + sequence[j]); + findAndClickByText(sequence[j]); +} + +sleep(1000); + +click(600, 1418); +console.log("PIN 输入完成,支付流程结束。"); diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e14f9af5838914227ef3419015ba27115945b831 GIT binary patch literal 13678 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 aaw9EgO83F5^$XA62Pw;I$W=do75;DJl