Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tonyjiangwj/autoscriptbase
AutoJS项目框架,用于快速构建自动化项目
https://github.com/tonyjiangwj/autoscriptbase
autojs autoscript
Last synced: about 16 hours ago
JSON representation
AutoJS项目框架,用于快速构建自动化项目
- Host: GitHub
- URL: https://github.com/tonyjiangwj/autoscriptbase
- Owner: TonyJiangWJ
- License: gpl-2.0
- Created: 2020-04-25T14:20:40.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T09:06:15.000Z (9 months ago)
- Last Synced: 2024-12-20T23:09:49.056Z (8 days ago)
- Topics: autojs, autoscript
- Language: JavaScript
- Homepage:
- Size: 31.1 MB
- Stars: 525
- Watchers: 16
- Forks: 158
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![GitHub forks](https://img.shields.io/github/forks/TonyJiangWJ/AutoScriptBase?style=flat-square)](https://github.com/TonyJiangWJ/AutoScriptBase/forks)
[![GitHub stars](https://img.shields.io/github/stars/TonyJiangWJ/AutoScriptBase?style=flat-square)](https://github.com/TonyJiangWJ/AutoScriptBase/stargazers)
[![GitHub issues](https://img.shields.io/github/issues/TonyJiangWJ/AutoScriptBase?style=flat-square)](https://github.com/TonyJiangWJ/AutoScriptBase/issues)
[![Page Views Count](https://badges.toozhao.com/badges/01HV8RWXME6R30S0AHH5SZV0YE/green.svg)](https://badges.toozhao.com/stats/01HV8RWXME6R30S0AHH5SZV0YE "Get your own page views count badge on badges.toozhao.com")# 简介
- 本项目是用于快速构建AutoJS自动化脚本项目的模板框架
- 基于webpack打包编译的版本见: [AutoScriptWB](https://github.com/TonyJiangWJ/AutoScriptWB)
- 目前已实现的功能如下:
- 图形化配置,基于Vue开发的可视化界面 `可视化配置`,适合无安卓开发基础的前端人员编写界面
- 多脚本执行调度,防止多个不同脚本抢占前台 `RunningQueueDispatcher`
- 封装了支持多脚本锁的 `LockableStorage`,阻塞写入并返回写入成功与否,达到锁互斥的目的
- 封装了基于文本、ID控件正则查找工具 `WidgetUtils`,支持控件等待,批量获取匹配控件等等
- 日志工具 `LogUtils`,可以保存日志到文件,支持日志级别 error\warn\info\log\debug,不同级别日志控制台中不同颜色显示,且开启日志文件后写入到不同的文件中。
- 日志支持同步写入文件和异步写入文件两种方式,写这个仅仅是想要实现双缓冲异步写入这么个东西
- 异步方式的日志文件不是立马刷新到文件的,在脚本完全执行完毕之后才会完全写入
- 因此如果需要性能则选择启用异步方式,否则使用同步就行。
- 日志文件查看工具 `查看日志.js` 可以查看当前脚本执行时所创建的日志信息 用于分析问题
- 支持 `github release api` 的脚本手动更新功能,支持自动检测更新,如需自动执行更新可以修改相关代码实现
- 支持自动判断Root和无障碍的自动化执行操作 `Automator`
- 封装了一个文本悬浮窗工具 `FloatyUtil`
- 支持自动解锁设备,也支持扩展自定义解锁
- 支持模拟手势自动锁定屏幕,同时支持扩展自定义锁屏代码
- 支持支付宝手势解锁
- 支持通过代码添加定时任务 `Timers` 来自作者 [SuperMonster003](https://github.com/SuperMonster003)
- 支持自动点击授权截图权限 `TryRequestScreenCapture` 来自作者 [SuperMonster003](https://github.com/SuperMonster003)
- 支持配置信息导入和导出以及配置信息加密
- 支持通过ADB授权之后自动开启无障碍功能,具体如何使用ADB请自行Google或Baidu。不同的软件请自行替换包名: Pro版为 `org.autojs.autojspro` 可以通过 `context.getPackageName()` 获取```shell
adb shell pm grant org.autojs.autojs android.permission.WRITE_SECURE_SETTINGS
```- [ADB的详细使用介绍](./resources/doc/ADB授权脚本自动开启无障碍权限.md)
- 封装了常用方法 `CommonFunction` 如保存运行时数据,倒计时延迟等等
- `lib/autojs-tools.dex` 中封装了更新用的一些Java方法,用于优化脚本执行性能,源码见[auto-js-tools](https://github.com/TonyJiangWJ/auto-js-tools)
- 执行 `unit/获取当前页面的布局信息.js` 可以查看当前页面中的控件文本以及id信息 方便开发脚本
- 具体使用详见各个js文件中的说明信息## 目前基于此项目实现的脚本
- [蚂蚁森林脚本传送门](https://github.com/TonyJiangWJ/Ant-Forest)
- [蚂蚁庄园脚本传送门](https://github.com/TonyJiangWJ/Ant-Manor)
- [聚合签到脚本传送门](https://github.com/TonyJiangWJ/Unify-Sign)## 开发说明
- 1. 下载本仓库
- 2. 修改config.js中的 `CONFIG_STORAGE_NAME` 和 `PROJECT_NAME````javascript
// 不同项目需要设置不同的storageName,不然会导致配置信息混乱
let CONFIG_STORAGE_NAME = 'autoscript_version'
let PROJECT_NAME = 'AutoJS 脚手架'
```- 3. 开发一个主业务逻辑代码,替换 `main.js` 中的 `mainLoop()` 方法
比如创建 `core/MainRunner.js` 内容参考如下```javascript
function MainRunner() {this.exec = function () {
// 执行主要业务逻辑
}
}
module.exports = new MainRunner()
```再在 `main.js` 中调用:
```javascript
let mainExecutor = require('./core/MainExecutor.js')//....main.js 中的共有代码可以酌情修改 或者直接不动也可以
// 开发模式不包裹异常捕捉,方便查看错误信息
if (config.develop_mode) {
mainExecutor.exec()
} else {
try {
mainExecutor.exec()
} catch (e) {
commonFunctions.setUpAutoStart(1)
errorInfo('执行异常, 1分钟后重新开始' + e)
commonFunctions.printExceptionStack(e)
}
}//....
```
- 4. 将修改完成后的代码带文件夹全部放到手机根目录`/脚本/`下 如 `/脚本/AutoScriptBase/`
- 5. 打开AutoJS软件,下拉刷新就能看到`AutoScriptBase`,点击进入然后运行 `main.js` 即可
- 5.1 脚本执行依赖于无障碍服务,请在自动弹出界面中打开AutoJS的无障碍权限,或者直接通过ADB赋权让脚本自动获取无障碍权限
- 5.2 另外其他需要的应用权限有 `后台弹出界面` `显示悬浮窗` `修改系统配置(可选)` 等## 开发辅助
- 在线取色工具:[图片base64取色](https://tonyjiangwj.gitee.io/statics/pic_base64.html)
- 在线多点取色路径生成: [多点取色辅助工具](https://tonyjiangwj.gitee.io/statics/multi_color_assist.html)
- 解锁功能扩展辅助:`unit/获取锁屏界面控件信息.js`
- 图片实时二值化等 `test/visual_test/可视化测试工具.js` 目前只有一个功能,按运行后的提示来操作就行
- 可视化配置工具,基于webvie和vue框架实现,H5内容在vue_configs下,新增配置项可以只修改`vue_configs/js/commponets/configuration.js` 和 `config.js` 两个文件,其他作为公用的可以不关注。如果会vue那么可以随你所想进行修改
- 控件可视化辅助工具 电脑上浏览器打开 控件可视化/index.html 按界面提示操作
- ![96f32786b6142f8bb4e44f7b1706afcb_689323151505_v_1667630351524368_1](https://user-images.githubusercontent.com/11325805/200108292-4097b77b-954f-4739-b80a-b10281d93b8c.gif)## lib下的js说明
- [WIKI_FOR_LIBS](./resources/doc/WIKI_FOR_LIBS.md)