scroll-parser.js 645 B

12345678910111213141516
  1. /** 语句:scroll 滚动 */
  2. const types = ['scroll']
  3. function parse(action, parseContext) {
  4. return Object.assign({}, action, { type: 'scroll' })
  5. }
  6. async function execute(action, ctx) {
  7. const { device, resolution, api, calculateSwipeCoordinates, DEFAULT_SCROLL_DISTANCE = 100 } = ctx
  8. if (!api.sendScroll) return { success: false, error: '滚动 API 不可用' }
  9. const r = await api.sendScroll(device, action.value, resolution.width, resolution.height, DEFAULT_SCROLL_DISTANCE, 500)
  10. if (!r.success) return { success: false, error: `滚动失败: ${r.error}` }
  11. return { success: true }
  12. }
  13. module.exports = { types, parse, execute }