Skip to content
Chaos edited this page Aug 21, 2020 · 5 revisions

本框架使用核心+插件的结构,核心core提供一些通用的权限和属性。

安装

npm i "@auto.pro/core" -S

实例化选项

通过实例化设置权限和属性,所有的权限都通过新线程来申请,避免UI阻塞,代码示例

import Core from '@auto.pro/core'

Core({
  baseWidth: 1280,
  baseHeight: 720,
  needCap: true
  ...
})

baseWidth: number

编写脚本时的横向分辨率

baseHeight: number

编写脚本时的竖向分辨率

needCap: boolean

是否需要截图权限

needService: boolean

是否需要无障碍服务权限

needFloaty: boolean

是否需要悬浮窗权限

属性

以下是core模块提供的属性

isRoot: boolean

是否获得Root权限

cap: function(path?: string): Image

截图

use: function(Plugin, option?: object)

启用插件

width: number

与基准横向分辨率baseWidth对应的当前横向分辨率,不随屏幕旋转

height: number

与基准竖向分辨率baseHeight对应的当前竖向分辨率,不随屏幕旋转

scale: number

设备与编写脚本时的分辨率的缩放比,例如:当前设备为1920x1080,编写脚本时为1280x720,则缩放比为1.5。如果当前设备为宽屏2560x1080,依然以1920x1080作为缩放比基准,1280x960也是以1280x720为基准(缩放比是为了适配截图、点击,一般而言游戏、app在高度不变时,横向增大分辨率并不会导致元素尺寸拉伸,宽度不变时亦然,固有此判定)。

getWidth: function(val?: number): number

按参数获取width的比例,例如: getWidth(1/2)就是取width的一半

getHeight: function(val?: number): number

按参数获取height的比例,如上

screenType: 'w' | 'h'

获取基准分辨率的状态,横屏为w,竖屏为h,不随屏幕旋转

isScreenLandscape: () => boolean

获取设备的当前屏幕旋转状态,true为横屏,false为竖屏

getWidthPixels: () => number

获取设备的当前横向分辨率

getHeightPixels: () => number

获取设备的当前竖向分辨率

以下是为RxJS提供的属性,不使用RxJS可以不看。

pause: function

暂停程序,此处的暂停为输出一个RxJS流的暂停状态,并不是阻塞程序的运行

resume: function

恢复程序,如上

pausable: function(isPausable = true, wait = true): Operator

RxJS的暂停操作符,isPausable为false时可关闭该流程的暂停功能。wait为true时会存储暂停期间的值。

pausableState$: BehaviorSubject

暂停的状态值

pausableInterval: Observable

可暂停的interval

pausableTimer

可暂停的timer

pausableTimeout

可暂停的timeout,暂停期间不计时

pausableTimeoutWith

可暂停的timeoutWith,暂停期间不计时

Clone this wiki locally