/** 语句:keyevent 系统按键(含 adb 下 keyevent 子逻辑) */ const types = ['keyevent'] function parse(action, parseContext) { return Object.assign({}, action, { type: 'keyevent' }) } async function execute(action, ctx) { const { device, variableContext, api, extractVarName, resolveValue } = ctx let keyCode = null const inVars = action.inVars || [] if (inVars.length > 0) { const keyVar = extractVarName(inVars[0]) keyCode = variableContext[keyVar] || keyVar } else if (action.value) { keyCode = resolveValue(action.value, variableContext) } if (!keyCode) return { success: false, error: 'keyevent 操作缺少按键代码参数' } if (keyCode === 'KEYCODE_BACK') keyCode = '4' const keyResult = api.sendSystemKey(device, String(keyCode)) if (!keyResult.success) return { success: false, error: `按键失败: ${keyResult.error}` } return { success: true } } module.exports = { types, parse, execute }