| 123456789101112131415161718192021222324 |
- /**
- * adb method: input — 输入文本(支持 clear 清空)
- */
- async function run(action, ctx) {
- const { device, folderPath, variableContext, api, extractVarName, resolveValue } = ctx
- const inVars = action.inVars || []
- let inputValue = inVars.length > 0 ? variableContext[extractVarName(inVars[0])] : null
- if (!inputValue && action.value) inputValue = resolveValue(action.value, variableContext)
- if (!inputValue) return { success: false, error: 'input 操作缺少输入内容' }
- if (action.clear) {
- for (let i = 0; i < 200; i++) {
- const clearResult = await api.sendKeyEvent(device, '67')
- if (!clearResult.success) break
- await new Promise((r) => setTimeout(r, 10))
- }
- await new Promise((r) => setTimeout(r, 200))
- }
- if (!api?.sendText) return { success: false, error: '输入 API 不可用' }
- const textResult = await api.sendText(device, String(inputValue))
- if (!textResult.success) return { success: false, error: `输入失败: ${textResult.error != null ? textResult.error : 'unknown'}` }
- return { success: true }
- }
- module.exports = { run }
|