/** * adb method: scroll — 滚动 */ async function run(action, ctx) { const { device, resolution, variableContext, api, extractVarName, resolveValue, DEFAULT_SCROLL_DISTANCE = 100 } = ctx const inVars = action.inVars || [] const direction = inVars.length > 0 ? (variableContext[extractVarName(inVars[0])] || inVars[0]) : resolveValue(action.value, variableContext) if (!direction) return { success: false, error: 'scroll 操作缺少方向参数' } if (!api?.sendScroll) return { success: false, error: '滚动 API 不可用' } const scrollResult = await api.sendScroll(device, direction, resolution.width, resolution.height, DEFAULT_SCROLL_DISTANCE, 500) if (!scrollResult.success) return { success: false, error: `滚动失败: ${scrollResult.error != null ? scrollResult.error : 'unknown'}` } return { success: true } } module.exports = { run }