编辑代码

function main() {
    // ...(前面原有代码保持不变)

    console.log("点击确认");
    className("android.widget.TextView").text("确认").findOne().click();

    // 修改后的支付处理循环(包含错误重试机制)
    function handlePaymentRetry() {
        let retryCount = 0;
        while (true) {
            // 优先检测错误提示
            if (text("喵~当前人数太多啦,请返回重试").findOne(300)) {
                console.log("⚠️ 检测到人数过多提示");
                // 点击返回按钮
                let backBtn = className("android.widget.TextView").text("返回").findOne(1000);
                if (backBtn) {
                    console.log("点击返回按钮,准备重试");
                    backBtn.click();
                    // 重新确认订单
                    console.log("重新确认订单...");
                    className("android.widget.TextView").text("确认").waitFor();
                    className("android.widget.TextView").text("确认").findOne().click();
                    retryCount++;
                    console.log("第" + retryCount + "次重试");
                }
            }

            // 处理支付按钮
            let payBtn = className("android.widget.Button").findOne(300);
            if (payBtn) {
                console.log((retryCount > 0 ? "重新" : "") + "点击立即支付");
                payBtn.click();
                sleep(100); // 降低点击频率避免阻塞
            } else if (!text("喵~当前人数太多啦").exists()) {
                console.log("✅ 支付流程完成");
                break; // 当支付按钮消失且无错误提示时退出
            }
        }
    }

    // 启动支付重试流程
    handlePaymentRetry();

    // ...(后面原有代码保持不变)
}