// 先打开 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 输入完成，支付流程结束。");
