ms-vite-plugin 1.5.17 → 1.5.20

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.
@@ -37,7 +37,7 @@ function startApp(bundleId: string): boolean;
37
37
 
38
38
  | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
39
39
  | ---------- | ------ | -------- | ------ | ---------------- |
40
- | `bundleId` | string | 是 | | 应用的 Bundle ID |
40
+ | `bundleId` | string | 是 | | Bundle ID,或已安装应用的显示名 `appName`。同名多个应用时失败 |
41
41
 
42
42
  **返回值:**
43
43
 
@@ -65,7 +65,7 @@ function stopApp(bundleId: string): boolean;
65
65
 
66
66
  | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
67
67
  | ---------- | ------ | -------- | ------ | ---------------- |
68
- | `bundleId` | string | 是 | | 应用的 Bundle ID |
68
+ | `bundleId` | string | 是 | | Bundle ID,或已安装应用的显示名 `appName`。同名多个应用时失败 |
69
69
 
70
70
  **返回值:**
71
71
 
@@ -94,7 +94,7 @@ function activateApp(bundleId: string): boolean;
94
94
 
95
95
  | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
96
96
  | ---------- | ------ | -------- | ------ | ---------------- |
97
- | `bundleId` | string | 是 | | 应用的 Bundle ID |
97
+ | `bundleId` | string | 是 | | Bundle ID,或已安装应用的显示名 `appName`。同名多个应用时失败 |
98
98
 
99
99
  **返回值:**
100
100
 
@@ -312,7 +312,7 @@ $打印信息日志("应用已切换到前台");
312
312
 
313
313
  - `0` 标准:等待完整执行完成
314
314
  - `1` 快速:更快的执行速度
315
- - `2` 真实点击:更接近真实手指触控
315
+ - `2` 真实点击:带触摸面积
316
316
 
317
317
  ```typescript
318
318
  declare function $设置Agent触控模式(模式: 数字): 数字;
@@ -12,12 +12,18 @@
12
12
 
13
13
  所有传递`图片ID`的函数都可以使用`"actionScreenshot"`作为参数,来表示指定 HID 快捷键系统截图
14
14
 
15
+ 所有传递`图片ID`的函数都可以使用`"vpnScreenshot"`作为参数,来表示指定VPN免自动化截图
16
+
15
17
  所有传递`图片ID`的函数都可以使用图片路径作为参数,来表示对指定图片进行操作,支持 res 目录文件,和手机文件路径。
16
18
 
19
+ `截取屏幕` 默认按 `"screen"` 截图。免越狱调用 `设置默认截图` 后,改为按设置的图片 ID 截图。越狱版该设置不生效。
20
+
17
21
  ## 图片获取与管理
18
22
 
19
23
  ### 截取屏幕
20
24
 
25
+ 按 `设置默认截图` 设置的图片 ID 截取。未设置时为 `"screen"`。越狱版固定为 `"screen"`。
26
+
21
27
  ```typescript
22
28
  function 截取屏幕(
23
29
  区域左上角X坐标?: 数字,
@@ -38,8 +44,8 @@ function 截取屏幕(
38
44
 
39
45
  **返回值:**
40
46
 
41
- | 类型 | 描述 |
42
- | -------- | -------------------------------- |
47
+ | 类型 | 描述 |
48
+ | -------- | ------------------------------------- |
43
49
  | `字符串` | 截图的图片 ID,失败时返回 `undefined` |
44
50
 
45
51
  **示例:**
@@ -70,6 +76,36 @@ if (图片ID) {
70
76
  }
71
77
  ```
72
78
 
79
+ ### 设置默认截图 - 设置截取屏幕使用的图片 ID。
80
+
81
+ 设置之后,`截取屏幕` 按这个图片 ID 截图。可传入与其它图片函数相同的图片 ID:`"screen"`、`"shortcut"`、`"actionScreenshot"`、`"vpnScreenshot"`、res 目录或手机绝对路径、已有图片 ID。未传入或空字符串不修改当前来源。越狱版调用后不改变来源。
82
+
83
+ ```typescript
84
+ function 设置默认截图(图片ID: 字符串): 无返回值;
85
+ ```
86
+
87
+ **参数:**
88
+
89
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
90
+ | -------- | ------ | -------- | ------ | ------------------------------------------------- |
91
+ | `图片ID` | 字符串 | 是 | - | `截取屏幕` 使用的来源 |
92
+
93
+ **示例:**
94
+
95
+ ```javascript
96
+ // 之后的截取屏幕使用快捷指令截图
97
+ $图片.设置默认截图("shortcut");
98
+ const 图片ID = $图片.截取屏幕();
99
+ const 文档目录 = $文件.获取内部目录("documents");
100
+ if (图片ID) {
101
+ $图片.保存图片(图片ID, `${文档目录}/screenshot.jpg`);
102
+ $图片.释放图片(图片ID);
103
+ }
104
+
105
+ // 恢复为当前屏幕
106
+ $图片.设置默认截图("screen");
107
+ ```
108
+
73
109
  ### 读取图片 - 从文件路径或图片ID读取图片。
74
110
 
75
111
  ```typescript
@@ -84,8 +120,8 @@ function 读取图片(图片路径: 字符串): 字符串 | undefined;
84
120
 
85
121
  **返回值:**
86
122
 
87
- | 类型 | 描述 |
88
- | -------- | -------------------------- |
123
+ | 类型 | 描述 |
124
+ | -------- | ------------------------------- |
89
125
  | `字符串` | 图片 ID,失败时返回 `undefined` |
90
126
 
91
127
  **示例:**
@@ -186,7 +222,9 @@ if (图片ID) {
186
222
  ### 获取图片大小 - 获取图片尺寸。
187
223
 
188
224
  ```typescript
189
- function 获取图片大小(图片ID: 字符串): { width: 数字; height: 数字 } | undefined;
225
+ function 获取图片大小(
226
+ 图片ID: 字符串,
227
+ ): { width: 数字; height: 数字 } | undefined;
190
228
  ```
191
229
 
192
230
  **参数:**
@@ -197,8 +235,8 @@ function 获取图片大小(图片ID: 字符串): { width: 数字; height: 数
197
235
 
198
236
  **返回值:**
199
237
 
200
- | 类型 | 描述 |
201
- | --------------------------------------- | -------------------------------------------------------------- |
238
+ | 类型 | 描述 |
239
+ | -------------------------------------------- | ------------------------------------------------------------------- |
202
240
  | `{ width: 数字; height: 数字 } \| undefined` | 图片尺寸对象,包含 `width` 和 `height` 属性,失败时返回 `undefined` |
203
241
 
204
242
  **示例:**
@@ -950,8 +988,8 @@ function 旋转图片(图片ID: 字符串, 角度: 数字): 字符串 | undefine
950
988
 
951
989
  **返回值:**
952
990
 
953
- | 类型 | 描述 |
954
- | ---------------- | ----------------------------------- |
991
+ | 类型 | 描述 |
992
+ | --------------------- | ---------------------------------------- |
955
993
  | `字符串 \| undefined` | 旋转后的新图片 ID 失败时返回 `undefined` |
956
994
 
957
995
  **示例:**
@@ -1091,8 +1129,8 @@ function 扫描条码(图片ID: 字符串): 字符串 | undefined;
1091
1129
 
1092
1130
  **返回值:**
1093
1131
 
1094
- | 类型 | 描述 |
1095
- | ---------------- | --------------------------- |
1132
+ | 类型 | 描述 |
1133
+ | --------------------- | -------------------------------- |
1096
1134
  | `字符串 \| undefined` | 扫码结果,失败时返回 `undefined` |
1097
1135
 
1098
1136
  **示例:**
@@ -37,7 +37,7 @@ function 启动应用(bundleId: 字符串): 布尔值;
37
37
 
38
38
  | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
39
39
  | ---------- | ------ | -------- | ------ | ---------------- |
40
- | `bundleId` | 字符串 | 是 | | 应用的 Bundle ID |
40
+ | `bundleId` | 字符串 | 是 | | Bundle ID,或已安装应用的显示名 `appName`。同名多个应用时失败 |
41
41
 
42
42
  **返回值:**
43
43
 
@@ -65,7 +65,7 @@ function 停止应用(bundleId: 字符串): 布尔值;
65
65
 
66
66
  | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
67
67
  | ---------- | ------ | -------- | ------ | ---------------- |
68
- | `bundleId` | 字符串 | 是 | | 应用的 Bundle ID |
68
+ | `bundleId` | 字符串 | 是 | | Bundle ID,或已安装应用的显示名 `appName`。同名多个应用时失败 |
69
69
 
70
70
  **返回值:**
71
71
 
@@ -94,7 +94,7 @@ function 把应用切入前台(bundleId: 字符串): 布尔值;
94
94
 
95
95
  | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
96
96
  | ---------- | ------ | -------- | ------ | ---------------- |
97
- | `bundleId` | 字符串 | 是 | | 应用的 Bundle ID |
97
+ | `bundleId` | 字符串 | 是 | | Bundle ID,或已安装应用的显示名 `appName`。同名多个应用时失败 |
98
98
 
99
99
  **返回值:**
100
100
 
@@ -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
-
@@ -14,12 +14,18 @@
14
14
 
15
15
  所有传递`imageId`的函数都可以使用`"actionScreenshot"`作为参数,来表示指定 HID 快捷键系统截图
16
16
 
17
+ 所有传递`imageId`的函数都可以使用`"vpnScreenshot"`作为参数,来表示指定VPN免自动化截图
18
+
17
19
  所有传递`imageId`的函数都可以使用图片路径作为参数,来表示对指定图片进行操作,支持 res 目录文件,和手机文件路径。
18
20
 
21
+ `captureScreen` 默认按 `"screen"` 截图。免越狱调用 `setCaptureImageId` 后,改为按设置的 imageId 截图。越狱版该设置不生效。
22
+
19
23
  ## 图片获取与管理
20
24
 
21
25
  ### captureScreen - 截取屏幕。
22
26
 
27
+ 按 `setCaptureImageId` 设置的 imageId 截取。未设置时为 `"screen"`。越狱版固定为 `"screen"`。
28
+
23
29
  ```lua
24
30
  ---@param x number?
25
31
  ---@param y number?
@@ -64,6 +70,37 @@ if rectId then
64
70
  end
65
71
  ```
66
72
 
73
+ ### setCaptureImageId - 设置 captureScreen 的默认 imageId。
74
+
75
+ 设置之后,`captureScreen` 按这个 imageId 截图。可传入与其它 image 函数相同的 imageId:`"screen"`、`"shortcut"`、`"actionScreenshot"`、`"vpnScreenshot"`、res 目录或手机绝对路径、已有图片 ID。越狱版调用后不改变来源。
76
+
77
+ ```lua
78
+ ---@param imageId string
79
+ function setCaptureImageId(imageId) end
80
+ ```
81
+
82
+ **参数:**
83
+
84
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
85
+ | ---------- | ------ | -------- | ------ | ------------------------------------------------- |
86
+ | `imageId` | string | 是 | - | `captureScreen` 使用的来源 |
87
+
88
+ **示例:**
89
+
90
+ ```lua
91
+ -- 之后的 captureScreen 使用快捷指令截图
92
+ image.setCaptureImageId("shortcut")
93
+ local imageId = image.captureScreen()
94
+ local dir = file.getInternalDir("documents")
95
+ if imageId then
96
+ image.saveTo(imageId, dir .. "/screenshot.jpg")
97
+ image.release(imageId)
98
+ end
99
+
100
+ -- 恢复为当前屏幕
101
+ image.setCaptureImageId("screen")
102
+ ```
103
+
67
104
  ### readImage - 从文件路径或imageId读取图片。
68
105
 
69
106
  ```lua
@@ -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
+ ```