diff --git a/app/src/main/assets/docs/app.html b/app/src/main/assets/docs/app.html
index 211eddbb..ca798aa3 100644
--- a/app/src/main/assets/docs/app.html
+++ b/app/src/main/assets/docs/app.html
@@ -75,6 +75,10 @@
目录
- App
toastLog(app.versionCode);
+
app.versionName#
+当前软件的版本名称,例如"3.0.0 Beta"。
+如果在Auto.js中运行则为Auto.js的版本名称;在打包的软件中则为打包软件的版本名称。
+toastLog(app.verionName);
+
app.autojs.versionCode#
+Auto.js版本号,整数值。例如160, 256等。
+app.autojs.versionName#
+Auto.js版本名称,例如"3.0.0 Beta"。
app.launchApp(appName)#
appName <string> 应用名称
diff --git a/app/src/main/assets/docs/update.html b/app/src/main/assets/docs/canvas.html
similarity index 81%
rename from app/src/main/assets/docs/update.html
rename to app/src/main/assets/docs/canvas.html
index 947d736e..8ca30064 100644
--- a/app/src/main/assets/docs/update.html
+++ b/app/src/main/assets/docs/canvas.html
@@ -6,9 +6,9 @@
-
+
-
+
-
+
Auto.js 3.0.0 文档
@@ -76,18 +77,7 @@
-
-- 全新的界面,更方便地浏览和管理
-- 全新的编辑器,支持自动补全,长按函数弹出帮助,插入函数,侧拉菜单帮助等
-- 全新的文档
-- 加入脚本交流社区,可以在社区直接提问、发布脚本、下载脚本
-- 支持定时任务
-- 简单的代码生成功能,对于简单情况的控件可以直接生成代码
-- 代码打包功能,可以把代码打包成apk,支持和图片等静态资源一起打包
-- 支持编写
-- 更丰富的函数和模块,包括找图找色、悬浮窗、多线程、本地存储、设备设置和信息等功能
-
-
+
diff --git a/app/src/main/assets/docs/engines.html b/app/src/main/assets/docs/engines.html
index ad4ef493..f58ed3d8 100644
--- a/app/src/main/assets/docs/engines.html
+++ b/app/src/main/assets/docs/engines.html
@@ -81,6 +81,7 @@
- engines.stopAll()
- engines.stopAllAndToast()
- engines.myEngine()
+
- engines.all()
- ScriptExecution
返回脚本执行的路径。对于一个脚本文件而言为这个脚本所在的文件夹;对于其他脚本,例如字符串脚本,则为null或者执行时的设置值。
-
ScriptConfig#
+
ScriptEngine.getSource()#
+
返回当前脚本引擎正在执行的脚本对象。
+
log(engines.myEngine().getSource());
+
ScriptEngine.emit(eventName[, ...args])#
+
+eventName <string> 事件名称
+...args <any> 事件参数
+
+
向该脚本引擎发送一个事件,该事件可以在该脚本引擎对应的脚本的events模块监听到并在脚本主线程执行事件处理。
+
例如脚本receiver.js的内容如下:
+
//监听say事件
+events.on("say", function(words){
+ toastLog(words);
+});
+//保持脚本运行
+setInterval(()=>{}, 1000);
+
同一目录另一脚本可以启动他并发送该事件:
+
//运行脚本
+var e = engines.execScriptFile("./receiver.js");
+//等待脚本启动
+sleep(2000);
+//向该脚本发送事件
+e.getEngine().emit("say", "你好");
+
ScriptConfig#
脚本执行时的配置。
delay#
diff --git a/app/src/main/assets/docs/events.html b/app/src/main/assets/docs/events.html
index f773ebf2..b3f43660 100644
--- a/app/src/main/assets/docs/events.html
+++ b/app/src/main/assets/docs/events.html
@@ -135,6 +135,7 @@
- EventEmitter.setMaxListeners(n)
+
- events.broadcast: 脚本间广播
@@ -589,7 +590,18 @@ myEmitter.emit('event');
默认情况下,如果为特定事件添加了超过 10 个监听器,则 EventEmitter 会打印一个警告。 此限制有助于寻找内存泄露。 但是,并不是所有的事件都要被限为 10 个。 emitter.setMaxListeners() 方法允许修改指定的 EventEmitter 实例的限制。 值设为 Infinity(或 0)表明不限制监听器的数量。
返回一个 EventEmitter 引用,可以链式调用。
-
+events.broadcast: 脚本间广播#
+脚本间通信除了使用engines模块提供的ScriptEngine.emit()方法以外,也可以使用events模块提供的broadcast广播。
+events.broadcast本身是一个EventEmitter,但它的事件是在脚本间共享的,所有脚本都能发送和监听这些事件;事件处理会在脚本主线程执行(后续可能加入函数onThisThread(eventName, ...args)来提供在其他线程执行的能力)。
+例如在一个脚本发送一个广播hello:
+
events.broadcast.emit("hello", "小明");
+
在其他脚本中监听并处理:
+
events.broadcast.on("hello", function(name){
+ toast("你好, " + name);
+});
+//保持脚本运行
+setInterval(()=>{}, 1000);
+
diff --git a/app/src/main/assets/docs/globals.html b/app/src/main/assets/docs/globals.html
index b9be56da..b160bd5f 100644
--- a/app/src/main/assets/docs/globals.html
+++ b/app/src/main/assets/docs/globals.html
@@ -87,6 +87,8 @@
- exit()
- random(min, max)
- random()
+- requiresApi(api)
+- requiresAutojsVersion(version)
- context
@@ -192,6 +194,29 @@ for(var i = 0; i < 100; i++){
返回 <number>
返回在[0, 1)的随机浮点数。
+requiresApi(api)#
+表示此脚本需要Android API版本达到指定版本才能运行。例如requiresApi(19)表示脚本需要在Android 4.4以及以上运行。
+调用该函数时会判断运行脚本的设备系统的版本号,如果没有达到要求则抛出异常。
+可以参考以下Android API和版本的对照表:
+ 平台版本: API级别
+ Android 7.0: 24
+ Android 6.0: 23
+ Android 5.1: 22
+ Android 5.0: 21
+ Android 4.4W: 20
+ Android 4.4: 19
+ Android 4.3: 18
+requiresAutojsVersion(version)#
+表示此脚本需要Auto.js版本达到指定版本才能运行。例如requiresAutojsVersion("3.0.0 Beta")表示脚本需要在Auto.js 3.0.0 Beta以及以上运行。
+调用该函数时会判断运行脚本的Auto.js的版本号,如果没有达到要求则抛出异常。
+version参数可以是整数表示版本号,例如requiresAutojsVersion(250);也可以是字符串格式表示的版本,例如"3.0.0 Beta", "3.1.0 Alpha4", "3.2.0"等。
+可以通过app.autojs.versionCode和app.autojs.versionName获取当前的Auto.js版本号和版本。
context#
全局变量。一个android.content.Context对象。
注意该对象为ApplicationContext,因此不能用于界面、对话框等的创建。
diff --git a/app/src/main/assets/docs/images.html b/app/src/main/assets/docs/images.html
index ac3f8b66..1187a09f 100644
--- a/app/src/main/assets/docs/images.html
+++ b/app/src/main/assets/docs/images.html
@@ -92,9 +92,13 @@
images.captureScreen()
images.captureScreen(path)
images.pixel(image, x, y)
-images.save(image, path)
+images.save(image, path[, format = "png", quality = 100])
images.read(path)
images.load(url)
+images.fromBase64(base64)
+images.toBase64(img[, format = "png", quality = 100])
+images.fromBytes(bytes)
+images.toBytes(img[, format = "png", quality = 100])
images.clip(img, x, y, w, h)
images.findColor(image, color, options)
images.findColorInRegion(img, color, x, y[, width, height, threshold])
@@ -259,13 +263,24 @@ toast(colors.toString(color));
返回图片image在点(x, y)处的像素的ARGB值。
该值的格式为0xAARRGGBB,是一个"32位整数"(虽然JavaScript中并不区分整数类型和其他数值类型)。
坐标系以图片左上角为原点。以图片左侧边为y轴,上侧边为x轴。
-images.save(image, path)#
+images.save(image, path[, format = "png", quality = 100])#
把图片image以PNG格式保存到path中。如果文件不存在会被创建;文件存在会被覆盖。
-images.read(path)#
+//把图片压缩为原来的一半质量并保存
+var img = images.read("/sdcard/1.png");
+images.save(img, "/sdcard/1.jpg", "jpg", 50);
+app.viewFile("/sdcard/1.jpg");
+
images.read(path)#
@@ -275,6 +290,43 @@ toast(colors.toString(color));
url <string> 图片URL地址
加载在地址URL的网络图片并返回一个Image对象。如果地址不存在或者图片无法解码则返回null。
+images.fromBase64(base64)#
+
+base64 <string> 图片的Base64数据
+- 返回 <Image>
+
+
解码Base64数据并返回解码后的图片Image对象。如果base64无法解码则返回null。
+images.toBase64(img[, format = "png", quality = 100])#
+把图片编码为base64数据并返回。
+images.fromBytes(bytes)#
+解码字节数组bytes并返回解码后的图片Image对象。如果bytes无法解码则返回null。
+images.toBytes(img[, format = "png", quality = 100])#
+
+image <image> 图片
+format <string> 图片格式,可选的值为:
+
+quality <number> 图片质量,为0~100的整数值
+- 返回 <byte[]>
+
+
把图片编码为字节数组并返回。
images.clip(img, x, y, w, h)#
img <Image> 图片
diff --git a/app/src/main/assets/indices/all.json b/app/src/main/assets/indices/all.json
index de6a4202..404c7262 100644
--- a/app/src/main/assets/indices/all.json
+++ b/app/src/main/assets/indices/all.json
@@ -1811,5 +1811,47 @@
],
"url": "sensors.html",
"summary": "传感器"
+ },
+ {
+ "name": "engines",
+ "properties": [
+ {
+ "key": "execScript",
+ "summary": "执行脚本",
+ "url": "engines.html#engines_engines_execscript_name_script_config"
+ },
+ {
+ "key": "execScriptFile",
+ "summary": "执行脚本文件",
+ "url": "engines.html#engines_engines_execscriptfile_path_config"
+ },
+ {
+ "key": "execAutoFile",
+ "summary": "执行录制文件",
+ "url": "engines.html#engines_engines_execautofile_path_config"
+ },
+ {
+ "key": "stopAll",
+ "summary": "停止全部",
+ "url": "engines.html#engines_engines_stopall"
+ },
+ {
+ "key": "stopAllAndToast",
+ "summary": "停止并提示",
+ "url": "engines.html#engines_engines_stopallandtoast"
+ },
+ {
+ "key": "myEngine",
+ "summary": "当前引擎",
+ "url": "engines.html#engines_engines_myengine"
+ },
+ {
+ "key": "all",
+ "summary": "所有引擎",
+ "url": "engines.html#engines_engines_all"
+ }
+ ],
+ "url": "engines.html",
+ "summary": "脚本引擎"
}
]
\ No newline at end of file