ms-vite-plugin 1.5.16 → 1.5.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/index.js +1 -1
- package/dist/build/scriptProtect.js +2 -2
- package/dist/cli.js +6 -6
- package/dist/packaging/index.d.ts +1 -4
- package/dist/packaging/index.js +1 -1
- package/docs/api/global.md +1 -1
- package/docs/api/image.md +20 -12
- package/docs/api/jbsystem.md +73 -0
- package/docs/api/opencv.md +708 -309
- package/docs/api/ui.md +18 -0
- package/docs/apicn/global.md +1 -1
- package/docs/apicn/image.md +15 -11
- package/docs/apicn/ui.md +18 -0
- package/docs/apilua/global.md +7 -9
- package/docs/apilua/image.md +2 -0
- package/docs/apilua/jbsystem.md +77 -0
- package/docs/apilua/opencv.md +87 -88
- package/docs/apilua/ui.md +18 -0
- package/docs/apipython/g.md +1 -1
- package/docs/apipython/image.md +2 -0
- package/docs/apipython/jbsystem.md +77 -0
- package/docs/apipython/ui.md +18 -0
- package/docs/httpapi/api.md +93 -93
- package/package.json +1 -2
- package/bin/mac/ms-bundle-enc +0 -0
- package/bin/win/ms-bundle-enc.exe +0 -0
package/docs/api/ui.md
CHANGED
|
@@ -119,6 +119,12 @@ ui.call("loadData", {
|
|
|
119
119
|
});
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
+
### 悬浮窗网页
|
|
123
|
+
|
|
124
|
+
越狱包从悬浮图标打开的网页,文件名固定为项目里的 `ui/floatingWindow.html`。没有这个文件时悬浮网页打不开。主界面 `package.json` 的 `ui.tabs` 不决定这个页面。
|
|
125
|
+
|
|
126
|
+
页面里用 `ms`。脚本用 `ui.callFloatingWindow`、`ui.evalFloatingWindow` 调用这个页面里 `registerUIFunc` 注册的函数。关闭、是否点空白关闭、窗口尺寸也写在这个页面里:`ms.closeWebWindow`、`ms.setWebWindowBlankClose`、`ms.setWebWindowSize`。
|
|
127
|
+
|
|
122
128
|
### callFloatingWindow - 调用越狱悬浮窗网页中的 JavaScript 函数
|
|
123
129
|
|
|
124
130
|
```typescript
|
|
@@ -474,6 +480,18 @@ ms.isTaskRunning()
|
|
|
474
480
|
|
|
475
481
|
### 配置管理方法
|
|
476
482
|
|
|
483
|
+
网页里的配置方法和脚本 `config` 模块读写的是同一份配置。网页写进去,脚本用下表对应的方法就能读到;脚本写进去,网页再取也是这个值。
|
|
484
|
+
|
|
485
|
+
| 网页 | 脚本 |
|
|
486
|
+
| ---- | ---- |
|
|
487
|
+
| `ms.setConfig(key, value)` | `config.set(key, value)` |
|
|
488
|
+
| `ms.getConfig(key)` | `config.get(key)` |
|
|
489
|
+
| `ms.removeConfig(key)` | `config.remove(key)` |
|
|
490
|
+
| `ms.getAllConfig()` | `config.all()` |
|
|
491
|
+
| `ms.setAllConfig(config)` | `config.setAll(config)` |
|
|
492
|
+
|
|
493
|
+
网页方法都返回 Promise。脚本方法直接返回结果。没有这个键时,网页 `ms.getConfig` 得到 `null`,脚本 `config.get` 得到 `undefined`。`ms.setAllConfig` 用传入对象替换整份配置,不在对象里的旧键会被清掉。
|
|
494
|
+
|
|
477
495
|
#### setConfig - 设置配置项
|
|
478
496
|
|
|
479
497
|
```typescript
|
package/docs/apicn/global.md
CHANGED
package/docs/apicn/image.md
CHANGED
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
所有传递`图片ID`的函数都可以使用`"actionScreenshot"`作为参数,来表示指定 HID 快捷键系统截图
|
|
14
14
|
|
|
15
|
+
所有传递`图片ID`的函数都可以使用`"vpnScreenshot"`作为参数,来表示指定VPN免自动化截图
|
|
16
|
+
|
|
15
17
|
所有传递`图片ID`的函数都可以使用图片路径作为参数,来表示对指定图片进行操作,支持 res 目录文件,和手机文件路径。
|
|
16
18
|
|
|
17
19
|
## 图片获取与管理
|
|
@@ -38,8 +40,8 @@ function 截取屏幕(
|
|
|
38
40
|
|
|
39
41
|
**返回值:**
|
|
40
42
|
|
|
41
|
-
| 类型 | 描述
|
|
42
|
-
| -------- |
|
|
43
|
+
| 类型 | 描述 |
|
|
44
|
+
| -------- | ------------------------------------- |
|
|
43
45
|
| `字符串` | 截图的图片 ID,失败时返回 `undefined` |
|
|
44
46
|
|
|
45
47
|
**示例:**
|
|
@@ -84,8 +86,8 @@ function 读取图片(图片路径: 字符串): 字符串 | undefined;
|
|
|
84
86
|
|
|
85
87
|
**返回值:**
|
|
86
88
|
|
|
87
|
-
| 类型 | 描述
|
|
88
|
-
| -------- |
|
|
89
|
+
| 类型 | 描述 |
|
|
90
|
+
| -------- | ------------------------------- |
|
|
89
91
|
| `字符串` | 图片 ID,失败时返回 `undefined` |
|
|
90
92
|
|
|
91
93
|
**示例:**
|
|
@@ -186,7 +188,9 @@ if (图片ID) {
|
|
|
186
188
|
### 获取图片大小 - 获取图片尺寸。
|
|
187
189
|
|
|
188
190
|
```typescript
|
|
189
|
-
function 获取图片大小(
|
|
191
|
+
function 获取图片大小(
|
|
192
|
+
图片ID: 字符串,
|
|
193
|
+
): { width: 数字; height: 数字 } | undefined;
|
|
190
194
|
```
|
|
191
195
|
|
|
192
196
|
**参数:**
|
|
@@ -197,8 +201,8 @@ function 获取图片大小(图片ID: 字符串): { width: 数字; height: 数
|
|
|
197
201
|
|
|
198
202
|
**返回值:**
|
|
199
203
|
|
|
200
|
-
| 类型
|
|
201
|
-
|
|
|
204
|
+
| 类型 | 描述 |
|
|
205
|
+
| -------------------------------------------- | ------------------------------------------------------------------- |
|
|
202
206
|
| `{ width: 数字; height: 数字 } \| undefined` | 图片尺寸对象,包含 `width` 和 `height` 属性,失败时返回 `undefined` |
|
|
203
207
|
|
|
204
208
|
**示例:**
|
|
@@ -950,8 +954,8 @@ function 旋转图片(图片ID: 字符串, 角度: 数字): 字符串 | undefine
|
|
|
950
954
|
|
|
951
955
|
**返回值:**
|
|
952
956
|
|
|
953
|
-
| 类型
|
|
954
|
-
|
|
|
957
|
+
| 类型 | 描述 |
|
|
958
|
+
| --------------------- | ---------------------------------------- |
|
|
955
959
|
| `字符串 \| undefined` | 旋转后的新图片 ID 失败时返回 `undefined` |
|
|
956
960
|
|
|
957
961
|
**示例:**
|
|
@@ -1091,8 +1095,8 @@ function 扫描条码(图片ID: 字符串): 字符串 | undefined;
|
|
|
1091
1095
|
|
|
1092
1096
|
**返回值:**
|
|
1093
1097
|
|
|
1094
|
-
| 类型
|
|
1095
|
-
|
|
|
1098
|
+
| 类型 | 描述 |
|
|
1099
|
+
| --------------------- | -------------------------------- |
|
|
1096
1100
|
| `字符串 \| undefined` | 扫码结果,失败时返回 `undefined` |
|
|
1097
1101
|
|
|
1098
1102
|
**示例:**
|
package/docs/apicn/ui.md
CHANGED
|
@@ -107,6 +107,12 @@ $视图.调用函数("loadData", {
|
|
|
107
107
|
});
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
+
### 悬浮窗网页
|
|
111
|
+
|
|
112
|
+
越狱包从悬浮图标打开的网页,文件名固定为项目里的 `ui/floatingWindow.html`。没有这个文件时悬浮网页打不开。主界面 `package.json` 的 `ui.tabs` 不决定这个页面。
|
|
113
|
+
|
|
114
|
+
页面里用 `ms`。脚本用 `$视图.调用悬浮窗函数`、`$视图.执行悬浮窗JS代码`(英文是 `ui.callFloatingWindow`、`ui.evalFloatingWindow`)调用这个页面里 `registerUIFunc` 注册的函数。关闭、是否点空白关闭、窗口尺寸也写在这个页面里:`ms.closeWebWindow`、`ms.setWebWindowBlankClose`、`ms.setWebWindowSize`。
|
|
115
|
+
|
|
110
116
|
### 调用悬浮窗函数 - 调用越狱悬浮窗网页中的 JavaScript 函数
|
|
111
117
|
|
|
112
118
|
```typescript
|
|
@@ -462,6 +468,18 @@ ms.isTaskRunning()
|
|
|
462
468
|
|
|
463
469
|
### 配置管理方法
|
|
464
470
|
|
|
471
|
+
网页里的配置方法和脚本配置模块读写的是同一份配置。网页写进去,脚本用下表对应的方法就能读到;脚本写进去,网页再取也是这个值。
|
|
472
|
+
|
|
473
|
+
| 网页 | 脚本(英文 / 中文) |
|
|
474
|
+
| ---- | ------------------- |
|
|
475
|
+
| `ms.setConfig(key, value)` | `config.set` / `$配置.设置` |
|
|
476
|
+
| `ms.getConfig(key)` | `config.get` / `$配置.获取` |
|
|
477
|
+
| `ms.removeConfig(key)` | `config.remove` / `$配置.删除` |
|
|
478
|
+
| `ms.getAllConfig()` | `config.all` / `$配置.所有配置` |
|
|
479
|
+
| `ms.setAllConfig(config)` | `config.setAll` / `$配置.设置所有` |
|
|
480
|
+
|
|
481
|
+
网页方法都返回 Promise。脚本方法直接返回结果。没有这个键时,网页 `ms.getConfig` 得到 `null`,脚本 `config.get` / `$配置.获取` 得到 `undefined`。`ms.setAllConfig` 用传入对象替换整份配置,不在对象里的旧键会被清掉。
|
|
482
|
+
|
|
465
483
|
#### setConfig() - 设置配置项
|
|
466
484
|
|
|
467
485
|
```typescript
|
package/docs/apilua/global.md
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
**全局模块无调用前缀,直接使用即可。不要 `require`。**
|
|
6
6
|
|
|
7
|
-
|
|
8
7
|
## 功能概览
|
|
9
8
|
|
|
10
9
|
- **应用信息**: 获取应用版本、名称、包信息、运行模式、平台
|
|
@@ -254,7 +253,7 @@ print("应用已切换到前台")
|
|
|
254
253
|
|
|
255
254
|
- `0` 标准:等待完整执行完成
|
|
256
255
|
- `1` 快速:更快的执行速度
|
|
257
|
-
- `2`
|
|
256
|
+
- `2` 真实点击:带触摸面积
|
|
258
257
|
|
|
259
258
|
```lua
|
|
260
259
|
---@param mode number
|
|
@@ -441,8 +440,8 @@ function SetStopCallback(callback) end
|
|
|
441
440
|
|
|
442
441
|
**参数:**
|
|
443
442
|
|
|
444
|
-
| 参数名 | 类型 | 是否必填 | 默认值 | 描述
|
|
445
|
-
| ---------- | -------------------------- | -------- | ------ |
|
|
443
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
444
|
+
| ---------- | -------------------------- | -------- | ------ | ------------------------------------------- |
|
|
446
445
|
| `callback` | `fun(status: string)`\|nil | 否 | nil | 停止回调;`status` 为 success/error/stopped |
|
|
447
446
|
|
|
448
447
|
**示例:**
|
|
@@ -470,8 +469,8 @@ function SetExceptionCallback(callback) end
|
|
|
470
469
|
|
|
471
470
|
**参数:**
|
|
472
471
|
|
|
473
|
-
| 参数名 | 类型
|
|
474
|
-
| ---------- |
|
|
472
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
473
|
+
| ---------- | ------------ | -------- | ------ | -------- |
|
|
475
474
|
| `callback` | `fun()`\|nil | 否 | nil | 异常回调 |
|
|
476
475
|
|
|
477
476
|
**示例:**
|
|
@@ -549,8 +548,8 @@ function ShouldInterruptThread() end
|
|
|
549
548
|
|
|
550
549
|
**返回值:**
|
|
551
550
|
|
|
552
|
-
| 类型 | 描述
|
|
553
|
-
| --------- |
|
|
551
|
+
| 类型 | 描述 |
|
|
552
|
+
| --------- | ---------- |
|
|
554
553
|
| `boolean` | 是否应退出 |
|
|
555
554
|
|
|
556
555
|
**示例:**
|
|
@@ -689,4 +688,3 @@ function loge(...) end
|
|
|
689
688
|
loge("网络请求失败")
|
|
690
689
|
loge("文件读取错误")
|
|
691
690
|
```
|
|
692
|
-
|
package/docs/apilua/image.md
CHANGED
package/docs/apilua/jbsystem.md
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
还可读写「允许 App 请求跟踪」「个性化广告」和定位服务总开关。不同 iOS 版本中,这些设置项的名称或位置可能略有不同。
|
|
10
10
|
|
|
11
|
+
`jbroot` 把系统根下的路径映射成越狱根下的绝对路径。`rootfs` 把越狱根路径还原成系统根路径。已经是越狱根路径时再调用 `jbroot`,会再映射一次。
|
|
12
|
+
|
|
11
13
|
## API 参考
|
|
12
14
|
|
|
13
15
|
### respring - 重启 SpringBoard(Respring)。
|
|
@@ -223,3 +225,78 @@ function setLocationServices(enabled) end
|
|
|
223
225
|
```lua
|
|
224
226
|
jbsystem.setLocationServices(false)
|
|
225
227
|
```
|
|
228
|
+
|
|
229
|
+
### jbroot - 系统根路径映射为越狱根路径。
|
|
230
|
+
|
|
231
|
+
```lua
|
|
232
|
+
---@param path string
|
|
233
|
+
---@return string
|
|
234
|
+
function jbroot(path) end
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**参数:**
|
|
238
|
+
|
|
239
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
240
|
+
| ------ | -------- | -------- | ------ | -------------- |
|
|
241
|
+
| `path` | `string` | 是 | - | 系统根下的路径 |
|
|
242
|
+
|
|
243
|
+
**返回值:**
|
|
244
|
+
|
|
245
|
+
| 类型 | 描述 |
|
|
246
|
+
| -------- | ---------------- |
|
|
247
|
+
| `string` | 对应的越狱根路径 |
|
|
248
|
+
|
|
249
|
+
**示例:**
|
|
250
|
+
|
|
251
|
+
```lua
|
|
252
|
+
-- 传入系统根下的路径,返回越狱根下的绝对路径。
|
|
253
|
+
-- 隐根:
|
|
254
|
+
-- jbsystem.jbroot("/") -> /var/containers/Bundle/Application/.jbroot-XXXXXXXXXXXXXXXX/
|
|
255
|
+
-- jbsystem.jbroot("/usr/bin") -> /var/containers/Bundle/Application/.jbroot-XXXXXXXXXXXXXXXX/usr/bin
|
|
256
|
+
-- 无根:
|
|
257
|
+
-- jbsystem.jbroot("/") -> /var/jb
|
|
258
|
+
-- jbsystem.jbroot("/usr/bin") -> /var/jb/usr/bin
|
|
259
|
+
local bin = jbsystem.jbroot("/usr/bin")
|
|
260
|
+
logi(bin)
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### rootfs - 越狱根路径还原为系统根路径。
|
|
264
|
+
|
|
265
|
+
把 `jbroot` 得到的越狱根路径还原成原来的系统根路径。
|
|
266
|
+
|
|
267
|
+
```lua
|
|
268
|
+
---@param path string
|
|
269
|
+
---@return string
|
|
270
|
+
function rootfs(path) end
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**参数:**
|
|
274
|
+
|
|
275
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
276
|
+
| ------ | -------- | -------- | ------ | -------------- |
|
|
277
|
+
| `path` | `string` | 是 | - | 越狱根下的路径 |
|
|
278
|
+
|
|
279
|
+
**返回值:**
|
|
280
|
+
|
|
281
|
+
| 类型 | 描述 |
|
|
282
|
+
| -------- | ---------------- |
|
|
283
|
+
| `string` | 对应的系统根路径 |
|
|
284
|
+
|
|
285
|
+
**示例:**
|
|
286
|
+
|
|
287
|
+
```lua
|
|
288
|
+
-- 传入越狱根路径,返回对应的系统根路径。
|
|
289
|
+
-- 隐根:
|
|
290
|
+
-- jbsystem.rootfs("/var/containers/Bundle/Application/.jbroot-XXXXXXXXXXXXXXXX/")
|
|
291
|
+
-- -> /
|
|
292
|
+
-- jbsystem.rootfs("/var/containers/Bundle/Application/.jbroot-XXXXXXXXXXXXXXXX/usr/bin")
|
|
293
|
+
-- -> /usr/bin
|
|
294
|
+
-- 无根:
|
|
295
|
+
-- jbsystem.rootfs("/var/jb") -> /
|
|
296
|
+
-- jbsystem.rootfs("/var/jb/usr/bin") -> /usr/bin
|
|
297
|
+
-- 隐根上,系统根路径也会被 rootfs 指到 /rootfs:
|
|
298
|
+
-- jbsystem.rootfs("/usr/bin") -> /rootfs/usr/bin
|
|
299
|
+
local sysBin = jbsystem.rootfs(jbsystem.jbroot("/usr/bin"))
|
|
300
|
+
logi(sysBin)
|
|
301
|
+
-- /usr/bin
|
|
302
|
+
```
|
package/docs/apilua/opencv.md
CHANGED
|
@@ -15,20 +15,20 @@
|
|
|
15
15
|
|
|
16
16
|
## 功能一览
|
|
17
17
|
|
|
18
|
-
| 类别
|
|
19
|
-
|
|
|
20
|
-
| 读图 / 截屏
|
|
21
|
-
| Mat
|
|
22
|
-
| 颜色 / 阈值
|
|
23
|
-
| 算术 / 位运算 | `add` / `subtract` / `multiply` / `divide` ·
|
|
24
|
-
| 滤波边缘
|
|
25
|
-
| 几何
|
|
26
|
-
| 绘制
|
|
27
|
-
| 匹配
|
|
28
|
-
| 轮廓
|
|
29
|
-
| 霍夫 / 连通域 | `HoughLinesP` / `HoughCircles` · `connectedComponents` / `connectedComponentsWithStats` · `distanceTransform` · `floodFill` · `goodFeaturesToTrack` / `cornerHarris` / `cornerSubPix`
|
|
30
|
-
| 直方图
|
|
31
|
-
| 扫码
|
|
18
|
+
| 类别 | API |
|
|
19
|
+
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
20
|
+
| 读图 / 截屏 | `capture` · `imread` · `imdecode` · `imwrite` · `imencode` · `fromImageId` / `toImageId` |
|
|
21
|
+
| Mat | `Mat` / `zeros` / `ones` · `clone` · `empty` / `isRelease` · `release` / `releaseAll` · `getSize` / `at` / `set` · `copyTo` |
|
|
22
|
+
| 颜色 / 阈值 | `cvtColor` · `threshold` · `adaptiveThreshold` · `inRange` · `CLAHE` / `equalizeHist` |
|
|
23
|
+
| 算术 / 位运算 | `add` / `subtract` / `multiply` / `divide` · bitwise\_\* · `absdiff` · `addWeighted` · `convertScaleAbs` · `normalize` / `norm` · `meanStdDev` · `findNonZero` · `countNonZero` · `minMaxLoc` / `mean` / `sum` · `split` / `merge` · `hconcat` / `vconcat` · `LUT` · `compare` · `min` / `max` · `extractChannel` |
|
|
24
|
+
| 滤波边缘 | `GaussianBlur` / `blur` / `medianBlur` / `bilateralFilter` / `boxFilter` · `Canny` / `Sobel` / `Laplacian` / `Scharr` · `filter2D` · `pyrDown` / `pyrUp` · `fastNlMeansDenoising` / `fastNlMeansDenoisingColored` · `inpaint` |
|
|
25
|
+
| 几何 | `resize` / `crop` / `rotate` / `flip` · `copyMakeBorder` · `warpAffine` / `warpPerspective` · `getRotationMatrix2D` · `getAffineTransform` · `getPerspectiveTransform` · `invertAffineTransform` · `findHomography` · `perspectiveTransform` · `estimateAffine2D` / `estimateAffinePartial2D` · `getRectSubPix` · `phaseCorrelate` |
|
|
26
|
+
| 绘制 | `rectangle` / `circle` / `line` / `ellipse` / `arrowedLine` / `drawMarker` · `putText` / `fillPoly` / `fillConvexPoly` / `polylines` / `drawContours` · `getTextSize` |
|
|
27
|
+
| 匹配 | `matchTemplate` / `matchTemplateLoc` · `SIFT` / `ORB` / `FAST` · `BFMatcher` / `knnMatch` · `FlannBasedMatcher` / `flannKnnMatch` · `drawKeypoints` / `drawMatches` |
|
|
28
|
+
| 轮廓 | `findContours` · `boundingRect` / `minAreaRect` / `boxPoints` · `contourArea` / `arcLength` / `approxPolyDP` / `convexHull` / `convexityDefects` / `isContourConvex` · `moments` / `HuMoments` / `matchShapes` · `pointPolygonTest` · `fitEllipse` / `fitLine` / `minEnclosingCircle` |
|
|
29
|
+
| 霍夫 / 连通域 | `HoughLinesP` / `HoughCircles` · `connectedComponents` / `connectedComponentsWithStats` · `distanceTransform` · `floodFill` · `goodFeaturesToTrack` / `cornerHarris` / `cornerSubPix` |
|
|
30
|
+
| 直方图 | `calcHist` · `compareHist` · `calcBackProject` |
|
|
31
|
+
| 扫码 | `encodeQRCode` · `detectQRCode` · `detectBarcode` |
|
|
32
32
|
|
|
33
33
|
## 已导出方法
|
|
34
34
|
|
|
@@ -77,19 +77,19 @@ function capture(x, y, ex, ey) end
|
|
|
77
77
|
|
|
78
78
|
**参数:**
|
|
79
79
|
|
|
80
|
-
| 参数名 | 类型
|
|
81
|
-
|
|
|
82
|
-
| `x`
|
|
83
|
-
| `y`
|
|
84
|
-
| `ex`
|
|
85
|
-
| `ey`
|
|
80
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
81
|
+
| ------ | ------ | -------- | ------ | ----------------- |
|
|
82
|
+
| `x` | number | 否 | 0 | 区域左上角 X 坐标 |
|
|
83
|
+
| `y` | number | 否 | 0 | 区域左上角 Y 坐标 |
|
|
84
|
+
| `ex` | number | 否 | 0 | 区域右下角 X 坐标 |
|
|
85
|
+
| `ey` | number | 否 | 0 | 区域右下角 Y 坐标 |
|
|
86
86
|
|
|
87
87
|
无参或全 0 表示全屏。
|
|
88
88
|
|
|
89
89
|
**返回值:**
|
|
90
90
|
|
|
91
|
-
| 类型
|
|
92
|
-
|
|
|
91
|
+
| 类型 | 描述 |
|
|
92
|
+
| -------- | ------------------------ |
|
|
93
93
|
| `string` | Mat 句柄,失败返回 `nil` |
|
|
94
94
|
|
|
95
95
|
**示例:**
|
|
@@ -111,29 +111,29 @@ function imread(path) end
|
|
|
111
111
|
|
|
112
112
|
**参数:**
|
|
113
113
|
|
|
114
|
-
| 参数名 | 类型
|
|
115
|
-
|
|
|
116
|
-
| `path` | string | 是
|
|
114
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
115
|
+
| ------ | ------ | -------- | ------ | ------------------ |
|
|
116
|
+
| `path` | string | 是 | - | 见下方支持的输入源 |
|
|
117
117
|
|
|
118
118
|
**支持的输入源:**
|
|
119
119
|
|
|
120
|
-
| 输入
|
|
121
|
-
|
|
|
122
|
-
| msbundle/res 相对路径
|
|
123
|
-
| 手机绝对路径
|
|
124
|
-
| `$MS_IMG$_…`
|
|
125
|
-
| `"screen"`
|
|
126
|
-
| `"shortcut"`
|
|
127
|
-
| `"actionScreenshot"`
|
|
128
|
-
| `"vpnScreenshot"`
|
|
129
|
-
| `http://` / `https://`
|
|
130
|
-
| `media:n`
|
|
131
|
-
| `data:image/...;base64,...` | data URI
|
|
120
|
+
| 输入 | 说明 |
|
|
121
|
+
| --------------------------- | ---------------------------------------- |
|
|
122
|
+
| msbundle/res 相对路径 | 如 `"template.png"`、`"images/logo.jpg"` |
|
|
123
|
+
| 手机绝对路径 | 如 documents 下文件 |
|
|
124
|
+
| `$MS_IMG$_…` | `image` 模块 imageId |
|
|
125
|
+
| `"screen"` | 当前屏幕截图 |
|
|
126
|
+
| `"shortcut"` | HID 快捷指令截图 |
|
|
127
|
+
| `"actionScreenshot"` | HID 系统截图 |
|
|
128
|
+
| `"vpnScreenshot"` | VPN免自动化截图 |
|
|
129
|
+
| `http://` / `https://` | 网络图片 |
|
|
130
|
+
| `media:n` | 相册第 n 张(从 1 起) |
|
|
131
|
+
| `data:image/...;base64,...` | data URI |
|
|
132
132
|
|
|
133
133
|
**返回值:**
|
|
134
134
|
|
|
135
|
-
| 类型
|
|
136
|
-
|
|
|
135
|
+
| 类型 | 描述 |
|
|
136
|
+
| -------- | ------------------------ |
|
|
137
137
|
| `string` | Mat 句柄,失败返回 `nil` |
|
|
138
138
|
|
|
139
139
|
**示例:**
|
|
@@ -160,9 +160,9 @@ function imdecode(data) end
|
|
|
160
160
|
|
|
161
161
|
**参数:**
|
|
162
162
|
|
|
163
|
-
| 参数名 | 类型
|
|
164
|
-
|
|
|
165
|
-
| `data` | string | 是
|
|
163
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
164
|
+
| ------ | ------ | -------- | ------ | ----------------------------------------- |
|
|
165
|
+
| `data` | string | 是 | - | 纯 base64,或 `data:image/...;base64,...` |
|
|
166
166
|
|
|
167
167
|
**说明:** 不解析文件路径 / msbundle / imageId;路径类请用 `imread`。常与 `imencode` 成对使用。
|
|
168
168
|
|
|
@@ -189,10 +189,10 @@ function imwrite(path, mat) end
|
|
|
189
189
|
|
|
190
190
|
**参数:**
|
|
191
191
|
|
|
192
|
-
| 参数名 | 类型
|
|
193
|
-
|
|
|
194
|
-
| `path` | string | 是
|
|
195
|
-
| `mat`
|
|
192
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
193
|
+
| ------ | ------ | -------- | ------ | --------------------------------------- |
|
|
194
|
+
| `path` | string | 是 | - | 本地绝对路径(写入磁盘,不是 msbundle) |
|
|
195
|
+
| `mat` | Mat | 是 | - | Mat 句柄 |
|
|
196
196
|
|
|
197
197
|
**说明:** 格式由 `path` 的扩展名决定,可用 `png` / `apng` / `jpg` / `jpeg` / `jpe` / `bmp` / `dib` / `webp` / `ppm` / `pgm` / `pbm` / `pnm` / `pam` / `sr` / `ras`;其它扩展名(如 `tiff`)或通道数不是 1 / 3 / 4 的 Mat 会直接返回 `false`。
|
|
198
198
|
|
|
@@ -218,11 +218,11 @@ function imencode(ext, mat, quality) end
|
|
|
218
218
|
|
|
219
219
|
**参数:**
|
|
220
220
|
|
|
221
|
-
| 参数名
|
|
222
|
-
|
|
|
223
|
-
| `ext`
|
|
224
|
-
| `mat`
|
|
225
|
-
| `quality` | number | 否
|
|
221
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
222
|
+
| --------- | ------ | -------- | ------ | ------------------------------------ |
|
|
223
|
+
| `ext` | string | 是 | - | 如 `.png` / `.jpg` / `png` |
|
|
224
|
+
| `mat` | Mat | 是 | - | Mat 句柄 |
|
|
225
|
+
| `quality` | number | 否 | 90 | JPEG 质量,取值 1–100(仅 jpg 有效) |
|
|
226
226
|
|
|
227
227
|
**说明:** 可用扩展名与通道限制同 `imwrite`,不支持的格式返回 `nil`。
|
|
228
228
|
|
|
@@ -244,10 +244,10 @@ function fromImageId(imageId) end
|
|
|
244
244
|
|
|
245
245
|
**参数:**
|
|
246
246
|
|
|
247
|
-
| 参数名
|
|
248
|
-
|
|
|
249
|
-
| `imageId` | string | 是
|
|
250
|
-
| `mat`
|
|
247
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
248
|
+
| --------- | ------ | -------- | ------ | ---------------- |
|
|
249
|
+
| `imageId` | string | 是 | - | `image` 模块句柄 |
|
|
250
|
+
| `mat` | Mat | 是 | - | `cv` Mat 句柄 |
|
|
251
251
|
|
|
252
252
|
**说明:** 均为独立拷贝。`fromImageId(id)` 与 `imread(id)` 对 imageId 效果相同。
|
|
253
253
|
|
|
@@ -272,11 +272,11 @@ function Mat(options) end
|
|
|
272
272
|
|
|
273
273
|
**参数:**
|
|
274
274
|
|
|
275
|
-
| 参数名
|
|
276
|
-
|
|
|
277
|
-
| `rows` / `cols` | number
|
|
278
|
-
| `type`
|
|
279
|
-
| `scalar`
|
|
275
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
276
|
+
| --------------- | -------- | -------- | --------- | ---------------- |
|
|
277
|
+
| `rows` / `cols` | number | 是 | - | 行 / 列 |
|
|
278
|
+
| `type` | number | 否 | `CV_8UC3` | 如 `cv.CV_8UC1` |
|
|
279
|
+
| `scalar` | number[] | 否 | - | 仅 `Mat`:填充值 |
|
|
280
280
|
|
|
281
281
|
**示例:**
|
|
282
282
|
|
|
@@ -342,11 +342,11 @@ function threshold(mat, options) end
|
|
|
342
342
|
|
|
343
343
|
**参数:**
|
|
344
344
|
|
|
345
|
-
| 参数名
|
|
346
|
-
|
|
|
347
|
-
| `thresh` | number | 否
|
|
348
|
-
| `maxval` | number | 否
|
|
349
|
-
| `type`
|
|
345
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
346
|
+
| -------- | ------ | -------- | --------------- | ---------------------------------- |
|
|
347
|
+
| `thresh` | number | 否 | 127 | 阈值 |
|
|
348
|
+
| `maxval` | number | 否 | 255 | 最大值 |
|
|
349
|
+
| `type` | number | 否 | `THRESH_BINARY` | 如 `THRESH_BINARY` / `THRESH_OTSU` |
|
|
350
350
|
|
|
351
351
|
**示例:**
|
|
352
352
|
|
|
@@ -366,13 +366,13 @@ function adaptiveThreshold(mat, options) end
|
|
|
366
366
|
|
|
367
367
|
**参数:**
|
|
368
368
|
|
|
369
|
-
| 参数名
|
|
370
|
-
|
|
|
371
|
-
| `maxValue`
|
|
372
|
-
| `adaptiveMethod` | number | 否
|
|
373
|
-
| `thresholdType`
|
|
374
|
-
| `blockSize`
|
|
375
|
-
| `C`
|
|
369
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
370
|
+
| ---------------- | ------ | -------- | ---------------------------- | --------------------------- |
|
|
371
|
+
| `maxValue` | number | 否 | 255 | 最大值 |
|
|
372
|
+
| `adaptiveMethod` | number | 否 | `ADAPTIVE_THRESH_GAUSSIAN_C` | 或 `ADAPTIVE_THRESH_MEAN_C` |
|
|
373
|
+
| `thresholdType` | number | 否 | `THRESH_BINARY` | |
|
|
374
|
+
| `blockSize` | number | 否 | 11 | 奇数邻域 |
|
|
375
|
+
| `C` | number | 否 | 2 | 常数偏移 |
|
|
376
376
|
|
|
377
377
|
**示例:**
|
|
378
378
|
|
|
@@ -456,12 +456,12 @@ function Canny(mat, options) end
|
|
|
456
456
|
|
|
457
457
|
**Canny 参数:**
|
|
458
458
|
|
|
459
|
-
| 参数名
|
|
460
|
-
|
|
|
461
|
-
| `threshold1`
|
|
462
|
-
| `threshold2`
|
|
463
|
-
| `apertureSize` | number
|
|
464
|
-
| `L2gradient`
|
|
459
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
460
|
+
| -------------- | ------- | -------- | ------ | -------------- |
|
|
461
|
+
| `threshold1` | number | 否 | 100 | 低阈值 |
|
|
462
|
+
| `threshold2` | number | 否 | 200 | 高阈值 |
|
|
463
|
+
| `apertureSize` | number | 否 | 3 | Sobel 孔径 |
|
|
464
|
+
| `L2gradient` | boolean | 否 | false | 是否用 L2 范数 |
|
|
465
465
|
|
|
466
466
|
**示例:**
|
|
467
467
|
|
|
@@ -607,11 +607,11 @@ function matchTemplate(image, templ, methodOrOptions) end
|
|
|
607
607
|
|
|
608
608
|
**参数:**
|
|
609
609
|
|
|
610
|
-
| 参数名
|
|
611
|
-
|
|
|
612
|
-
| `image`
|
|
613
|
-
| `templ`
|
|
614
|
-
| `method` | number | 否
|
|
610
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
611
|
+
| -------- | ------ | -------- | ------------------ | ------------------ |
|
|
612
|
+
| `image` | Mat | 是 | - | 大图 |
|
|
613
|
+
| `templ` | Mat | 是 | - | 模板(须小于大图) |
|
|
614
|
+
| `method` | number | 否 | `TM_CCOEFF_NORMED` | 匹配方法 |
|
|
615
615
|
|
|
616
616
|
**matchTemplateLoc 返回:** `{ x, y, minVal, maxVal }`(最佳位置取自 max 或 min,取决于 method)。
|
|
617
617
|
|
|
@@ -638,10 +638,10 @@ function findContours(mat, options) end
|
|
|
638
638
|
|
|
639
639
|
**参数:**
|
|
640
640
|
|
|
641
|
-
| 参数名
|
|
642
|
-
|
|
|
643
|
-
| `mode`
|
|
644
|
-
| `method` | number | 否
|
|
641
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
642
|
+
| -------- | ------ | -------- | --------------------- | ---------------------------- |
|
|
643
|
+
| `mode` | number | 否 | `RETR_EXTERNAL` | 如 `RETR_LIST` / `RETR_TREE` |
|
|
644
|
+
| `method` | number | 否 | `CHAIN_APPROX_SIMPLE` | 如 `CHAIN_APPROX_NONE` |
|
|
645
645
|
|
|
646
646
|
**返回值:** `contours` 为点集;`hierarchy` 为每个轮廓的 `[next, prev, child, parent]`(`-1` 表示无)。
|
|
647
647
|
|
|
@@ -864,4 +864,3 @@ cv.fillConvexPoly(src, { pts = { { x = 20, y = 20 }, { x = 70, y = 20 }, { x = 4
|
|
|
864
864
|
- 标记:`MARKER_CROSS` 等
|
|
865
865
|
- 直方图:`HISTCMP_CORREL` 等
|
|
866
866
|
- 线型:`LINE_AA`、`FILLED`
|
|
867
|
-
|
package/docs/apilua/ui.md
CHANGED
|
@@ -175,6 +175,12 @@ ui.call("loadData", {
|
|
|
175
175
|
})
|
|
176
176
|
```
|
|
177
177
|
|
|
178
|
+
### 悬浮窗网页
|
|
179
|
+
|
|
180
|
+
越狱包从悬浮图标打开的网页,文件名固定为项目里的 `ui/floatingWindow.html`。没有这个文件时悬浮网页打不开。主界面 `package.json` 的 `ui.tabs` 不决定这个页面。
|
|
181
|
+
|
|
182
|
+
页面里用 `ms`。脚本用 `ui.callFloatingWindow`、`ui.evalFloatingWindow` 调用这个页面里 `registerUIFunc` 注册的函数。关闭、是否点空白关闭、窗口尺寸也写在这个页面里:`ms.closeWebWindow`、`ms.setWebWindowBlankClose`、`ms.setWebWindowSize`。
|
|
183
|
+
|
|
178
184
|
### callFloatingWindow - 调用越狱悬浮窗网页中的 JavaScript 函数
|
|
179
185
|
|
|
180
186
|
```lua
|
|
@@ -515,6 +521,18 @@ ms.isTaskRunning()
|
|
|
515
521
|
|
|
516
522
|
### 配置管理方法
|
|
517
523
|
|
|
524
|
+
网页里的配置方法和脚本 `config` 模块读写的是同一份配置。网页写进去,脚本用下表对应的方法就能读到;脚本写进去,网页再取也是这个值。
|
|
525
|
+
|
|
526
|
+
| 网页 | 脚本 |
|
|
527
|
+
| ---- | ---- |
|
|
528
|
+
| `ms.setConfig(key, value)` | `config.set(key, value)` |
|
|
529
|
+
| `ms.getConfig(key)` | `config.get(key)` |
|
|
530
|
+
| `ms.removeConfig(key)` | `config.remove(key)` |
|
|
531
|
+
| `ms.getAllConfig()` | `config.all()` |
|
|
532
|
+
| `ms.setAllConfig(config)` | `config.setAll(config)` |
|
|
533
|
+
|
|
534
|
+
网页方法都返回 Promise。脚本方法直接返回结果。没有这个键时,网页 `ms.getConfig` 得到 `null`,脚本 `config.get` 得到 `nil`。`ms.setAllConfig` 用传入对象替换整份配置,不在对象里的旧键会被清掉。
|
|
535
|
+
|
|
518
536
|
#### setConfig - 设置配置项
|
|
519
537
|
|
|
520
538
|
```typescript
|
package/docs/apipython/g.md
CHANGED
package/docs/apipython/image.md
CHANGED