| 12345678910111213141516171819202122232425 |
- /** 语句: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 }
|