├── .gitignore ├── README.md ├── build ├── AutoxDeployExecutor.ts └── TsupConfigBuilder.ts ├── package.json ├── src ├── assets │ └── project.json ├── main.ts └── statics │ └── .gitkeep ├── tsconfig.json ├── tsup.config.ts └── types ├── autox ├── adbkit.d.ts ├── auto.d.ts ├── autojs.d.ts └── modules │ ├── app.d.ts │ ├── colors.d.ts │ ├── console.d.ts │ ├── coordinate.d.ts │ ├── device.d.ts │ ├── dialogs.d.ts │ ├── engines.d.ts │ ├── events.d.ts │ ├── files.d.ts │ ├── floaty.d.ts │ ├── global.d.ts │ ├── http.d.ts │ ├── images.d.ts │ ├── keys.d.ts │ ├── media.d.ts │ ├── ocr.d.ts │ ├── root.d.ts │ ├── sensors.d.ts │ ├── storages.d.ts │ ├── threads.d.ts │ ├── ui.d.ts │ └── widgets.d.ts ├── index.d.ts └── project ├── global.d.ts └── module.d.ts /.gitignore: -------------------------------------------------------------------------------- 1 | # workspace 2 | .idea/ 3 | *.iws 4 | *.iml 5 | *.ipr 6 | 7 | # project 8 | dist/ 9 | node_modules/ 10 | package-lock.json 11 | *.lock 12 | *.log 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Autox TypeScript Template 2 | 3 | 基于 VsCode 开发 TypeScript 工程化的 Autox 模板。 4 | 5 | ## 工程结构 6 | 7 | - build 8 | 9 | 这个目录是构建支持,一般情况下不需要修改以及增加。 10 | 11 | - lib 12 | 13 | 这个目录是编写一些公共特征的库,可以划分模块,如 m1 / m2 然后再 tsconfig.json 文件中添加 paths 内容即可。 14 | 15 | paths:{ 16 | "@lanaqi/m1": [ 17 | './lib/m1/index.ts' 18 | ] 19 | } 20 | 21 | 其中 index.ts 内容示例如下: 22 | 23 | import A from "./dir/a"; 24 | 25 | export { 26 | A 27 | }; 28 | 29 | - src 30 | 31 | 这个目录是源码目录,其中 main.ts 是入口文件。 32 | 其中 ./src/assets/ 是资源目录。 33 | 34 | 多项目结构: 35 | ./src/${projectName}/main.ts 以及 ./src/${projectName}/assets/ 36 | 另外需要覆盖环境变量:PROJECT_NAME , 如 -env.PROJECT_NAME=a 这样。 37 | 需要注意的是,多项目时 tsup.config.ts 不需要传递 packageName 参数。 38 | 39 | export default defineConfig((overrideOptions: TsupOptions) => TsupConfigBuilder.withNewConfig(overrideOptions)); 40 | 41 | 更多参考:./build/ 中实现的源码。 42 | 43 | - types 44 | 45 | 这个目录是类型声明目录,声明一些公共库或注入变量等。 46 | 47 | - dist 48 | 49 | 这个目录是构建输出,编译后生成的源码以及资源在这个目录下,这个目录下以项目名方式分类,如下: 50 | dist/a 51 | dist/b 52 | 53 | - .gitignore 54 | 55 | 通用 git 忽略配置文件,可自行修改。 56 | 57 | - package.json 58 | 59 | 项目描述文件,可自行修改(一般情况下只需要修改 name & version 即可,多项目下需要注意传递项目名)。 60 | 61 | - tsconfig.json 62 | 63 | TypeScript 配置文件,一般情况下按需修改。 64 | 65 | - tsup.config.ts 66 | 67 | Tsup 配置文件,一般情况下单项目不需要修改。 68 | 69 | ## 使用步骤 70 | 71 | 1. 复制工程目录所有到你的项目中。 72 | 2. 打开 VsCode 开启服务并监听 ADB 设备。 73 | 3. 使用 Autox.js 连接 VsCode 监听。 74 | 4. 运行项目中 scripts 即可。 75 | 5. 使用资源文件时,需先部署,否则无法读取(可以修改 DEPLOY_ACTION 为 both 值)。 76 | 77 | ## 编码方式 78 | 79 | 应遵守以下代码编写方式。 80 | 81 | ### 导入模块方式 82 | 83 | ``` js 84 | 85 | // 不要这样 86 | var circle = require('circle.js'); 87 | console.log("半径为 4 的圆的面积是 %d", circle.area(4)); 88 | 89 | // 应该这样(这个 circle.js 应遵守 es5+ 标准) 90 | import circle from './circle'; 91 | console.log("半径为 4 的圆的面积是 %d", circle.area(4)); 92 | 93 | ``` 94 | 95 | ### 导入静态资源 96 | 97 | 建议把这一类放置 src/static 目录下。 98 | 99 | ``` ts 100 | 101 | // 支持后缀:jpg / jpeg / ico / gif / svg / svgz / webp / png / bmp 102 | import png from './my.png'; 103 | 104 | // 同时也支持对 .md / .txt / .text 文件读取为文本字符串 105 | import txt from './test.txt'; 106 | 107 | ``` 108 | 109 | ### 编写 UI 方式 110 | 111 | ``` jsx 112 | 113 | // 在原始 js 中使用 ui 时,必须先在 main.js 的顶部 "ui"; 声明。 114 | // 在这里不必声明,会自动注入,当使用 ui. 时注入。 115 | 116 | // 不要这样 117 | ui.layout( 118 | 119 |