ms-vite-plugin 1.1.2 → 1.1.3

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.
Files changed (94) hide show
  1. package/dist/build.js +6 -0
  2. package/dist/cli.js +91 -1
  3. package/dist/mcp/device-config.d.ts +55 -0
  4. package/dist/mcp/device-config.js +183 -0
  5. package/dist/mcp/docs-service.d.ts +65 -0
  6. package/dist/mcp/docs-service.js +168 -0
  7. package/dist/mcp/project.d.ts +16 -0
  8. package/dist/mcp/project.js +74 -0
  9. package/dist/mcp/tools.d.ts +18 -0
  10. package/dist/mcp/tools.js +825 -0
  11. package/dist/mcp/types.d.ts +32 -0
  12. package/dist/mcp/types.js +11 -0
  13. package/dist/mcp-server.d.ts +2 -0
  14. package/dist/mcp-server.js +86 -0
  15. package/dist/project.d.ts +89 -0
  16. package/dist/project.js +306 -0
  17. package/dist/version.d.ts +12 -0
  18. package/dist/version.js +63 -0
  19. package/docs/api/action.md +922 -0
  20. package/docs/api/appleocr.md +229 -0
  21. package/docs/api/config.md +122 -0
  22. package/docs/api/cryptoUtils.md +232 -0
  23. package/docs/api/device.md +374 -0
  24. package/docs/api/file.md +516 -0
  25. package/docs/api/global.md +617 -0
  26. package/docs/api/hid.md +1032 -0
  27. package/docs/api/hotUpdate.md +166 -0
  28. package/docs/api/http.md +548 -0
  29. package/docs/api/image.md +907 -0
  30. package/docs/api/ime.md +290 -0
  31. package/docs/api/logger.md +324 -0
  32. package/docs/api/media.md +248 -0
  33. package/docs/api/mysql.md +441 -0
  34. package/docs/api/netCard.md +200 -0
  35. package/docs/api/node.md +353 -0
  36. package/docs/api/paddleocr.md +246 -0
  37. package/docs/api/pip.md +242 -0
  38. package/docs/api/system.md +572 -0
  39. package/docs/api/thread.md +269 -0
  40. package/docs/api/tomatoocr.md +425 -0
  41. package/docs/api/tts.md +334 -0
  42. package/docs/api/ui.md +947 -0
  43. package/docs/api/utils.md +265 -0
  44. package/docs/api/yolo.md +310 -0
  45. package/docs/apicn/action.md +919 -0
  46. package/docs/apicn/appleocr.md +233 -0
  47. package/docs/apicn/config.md +120 -0
  48. package/docs/apicn/device.md +385 -0
  49. package/docs/apicn/file.md +511 -0
  50. package/docs/apicn/global.md +613 -0
  51. package/docs/apicn/hid.md +1033 -0
  52. package/docs/apicn/hotUpdate.md +170 -0
  53. package/docs/apicn/http.md +672 -0
  54. package/docs/apicn/image.md +924 -0
  55. package/docs/apicn/ime.md +290 -0
  56. package/docs/apicn/logger.md +332 -0
  57. package/docs/apicn/media.md +252 -0
  58. package/docs/apicn/mysql.md +445 -0
  59. package/docs/apicn/netCard.md +200 -0
  60. package/docs/apicn/node.md +362 -0
  61. package/docs/apicn/paddleocr.md +255 -0
  62. package/docs/apicn/pip.md +242 -0
  63. package/docs/apicn/system.md +575 -0
  64. package/docs/apicn/thread.md +269 -0
  65. package/docs/apicn/tts.md +338 -0
  66. package/docs/apicn/ui.md +933 -0
  67. package/docs/apicn/utils.md +265 -0
  68. package/docs/apicn/yolo.md +314 -0
  69. package/docs/apipython/action.md +901 -0
  70. package/docs/apipython/appleocr.md +226 -0
  71. package/docs/apipython/config.md +126 -0
  72. package/docs/apipython/cryptoUtils.md +246 -0
  73. package/docs/apipython/device.md +365 -0
  74. package/docs/apipython/file.md +476 -0
  75. package/docs/apipython/g.md +154 -0
  76. package/docs/apipython/hid.md +1059 -0
  77. package/docs/apipython/hotUpdate.md +154 -0
  78. package/docs/apipython/image.md +938 -0
  79. package/docs/apipython/ime.md +306 -0
  80. package/docs/apipython/logger.md +330 -0
  81. package/docs/apipython/media.md +221 -0
  82. package/docs/apipython/mysql.md +432 -0
  83. package/docs/apipython/netCard.md +219 -0
  84. package/docs/apipython/node.md +331 -0
  85. package/docs/apipython/overview.md +66 -0
  86. package/docs/apipython/paddleocr.md +211 -0
  87. package/docs/apipython/pip.md +231 -0
  88. package/docs/apipython/system.md +458 -0
  89. package/docs/apipython/tomatoocr.md +444 -0
  90. package/docs/apipython/tts.md +331 -0
  91. package/docs/apipython/ui.md +949 -0
  92. package/docs/apipython/utils.md +284 -0
  93. package/docs/apipython/yolo.md +281 -0
  94. package/package.json +8 -4
@@ -0,0 +1,617 @@
1
+ # 全局定义 (Global)
2
+
3
+ 全局定义模块提供了应用运行时的全局常量和函数,包括应用信息、调试状态、线程控制等核心功能。
4
+
5
+ **全局模块无调用前缀,直接使用即可。**
6
+
7
+ ## 功能概览
8
+
9
+ - **应用信息**: 获取应用版本、名称、包信息等
10
+ - **运行状态**: 检查调试模式、退出状态等
11
+ - **线程控制**: 线程睡眠、应用退出等
12
+ - **脚本生命周期**: 设置停止回调、异常回调、重启脚本等
13
+ - **时间工具**: 获取时间戳
14
+ - **应用控制**: 切换应用到前台
15
+
16
+ ## 全局常量
17
+
18
+ ### 运行模式
19
+
20
+ #### **runMode**
21
+
22
+ 用户设置选择的运行模式,"agent" 或 "hid"。
23
+
24
+ ```typescript
25
+ declare const __runMode__: "agent" | "hid";
26
+ ```
27
+
28
+ **示例:**
29
+
30
+ ```javascript
31
+ logi(`运行模式: ${__runMode__}`);
32
+ ```
33
+
34
+ ### 是否使用内置Agent
35
+
36
+ #### **isSupportBuiltAgent**
37
+
38
+ 是否使用内置 Agent。
39
+
40
+ ```typescript
41
+ declare const __isSupportBuiltAgent__: boolean;
42
+ ```
43
+
44
+ **示例:**
45
+
46
+ ```javascript
47
+ logi(`是否使用内置Agent: ${__isSupportBuiltAgent__}`);
48
+ ```
49
+
50
+ ### 调试和状态
51
+
52
+ #### **debug**
53
+
54
+ 当前是否为调试模式。
55
+
56
+ ```typescript
57
+ declare const __debug__: boolean;
58
+ ```
59
+
60
+ **示例:**
61
+
62
+ ```javascript
63
+ logi(`调试模式: ${__debug__}`);
64
+ ```
65
+
66
+ ### 应用信息
67
+
68
+ #### **platform**
69
+
70
+ 平台信息,标识当前应用运行的平台,例如 "ios"、"android" 等。
71
+
72
+ ```typescript
73
+ declare const __platform__: "ios" | "android";
74
+ ```
75
+
76
+ **示例:**
77
+
78
+ ```javascript
79
+ logi(`平台: ${__platform__}`);
80
+ ```
81
+
82
+ #### **appVersion**
83
+
84
+ 应用版本号,注意这是快点 JS 应用的版本号,不是脚本的版本号。
85
+
86
+ ```typescript
87
+ declare const __appVersion__: string;
88
+ ```
89
+
90
+ **示例:**
91
+
92
+ ```javascript
93
+ logi(`应用版本: ${__appVersion__}`);
94
+ ```
95
+
96
+ #### **appBuildNumber**
97
+
98
+ 应用构建号,注意这是快点 JS 应用的构建号,不是脚本的构建号。
99
+
100
+ ```typescript
101
+ declare const __appBuildNumber__: number;
102
+ ```
103
+
104
+ **示例:**
105
+
106
+ ```javascript
107
+ logi(`构建号: ${__appBuildNumber__}`);
108
+
109
+ // 要求最低版本号和构建号示例
110
+ const requiredVersion = "1.1.0";
111
+ const requiredBuildNumber = 2;
112
+
113
+ function ensureAppVersion(requiredVersion, requiredBuildNumber) {
114
+ function compareVersion(a, b) {
115
+ const pa = a.split(".").map(Number);
116
+ const pb = b.split(".").map(Number);
117
+ const len = Math.max(pa.length, pb.length);
118
+ for (let i = 0; i < len; i++) {
119
+ const ai = pa[i] || 0;
120
+ const bi = pb[i] || 0;
121
+ if (ai !== bi) return ai - bi;
122
+ }
123
+ return 0;
124
+ }
125
+
126
+ const versionOk = compareVersion(__appVersion__, requiredVersion) >= 0;
127
+ const buildOk = __appBuildNumber__ >= requiredBuildNumber;
128
+
129
+ if (!versionOk || !buildOk) {
130
+ ui.alert("版本号提示", "应用版本过低,请升级到最新版本");
131
+ exit();
132
+ }
133
+ }
134
+
135
+ ensureAppVersion(requiredVersion, requiredBuildNumber);
136
+ ```
137
+
138
+ #### **appName**
139
+
140
+ 应用名称,注意这是快点 JS 应用的名称,不是脚本的名称。
141
+
142
+ ```typescript
143
+ declare const __appName__: string;
144
+ ```
145
+
146
+ **示例:**
147
+
148
+ ```javascript
149
+ logi(`应用名称: ${__appName__}`);
150
+ ```
151
+
152
+ #### **bundleId**
153
+
154
+ 应用的 Bundle ID,注意这是快点 JS 应用的 Bundle ID,不是脚本的 Bundle ID。
155
+
156
+ ```typescript
157
+ declare const __bundleId__: string;
158
+ ```
159
+
160
+ **示例:**
161
+
162
+ ```javascript
163
+ logi(`Bundle ID: ${__bundleId__}`);
164
+ ```
165
+
166
+ ### 线程信息
167
+
168
+ #### **threadName**
169
+
170
+ 当前线程名称。
171
+
172
+ ```typescript
173
+ declare const __threadName__: string;
174
+ ```
175
+
176
+ **示例:**
177
+
178
+ ```javascript
179
+ logi(`当前线程: ${__threadName__}`);
180
+ ```
181
+
182
+ ### 包(脚本)信息
183
+
184
+ #### **package**
185
+
186
+ 应用包(脚本)的配置信息,package.json 的内容
187
+
188
+ ```typescript
189
+ declare const __package__: {
190
+ name: string;
191
+ appVersion: string;
192
+ appId: string;
193
+ [key: string]: any;
194
+ };
195
+ ```
196
+
197
+ **属性:**
198
+
199
+ - `name` - 脚本项目名称
200
+ - `appVersion` - 脚本版本号
201
+ - `appId` - 脚本 Id
202
+ - `[key: string]: any` - 其他自定义属性
203
+
204
+ **示例:**
205
+
206
+ ```javascript
207
+ logi(`脚本项目名称: ${__package__.name}`);
208
+ logi(`脚本版本号: ${__package__.appVersion}`);
209
+
210
+ // 访问自定义属性
211
+ if (__package__.author) {
212
+ logi(`作者: ${__package__.author}`);
213
+ }
214
+ ```
215
+
216
+ ## 全局函数
217
+
218
+ ### sleep
219
+
220
+ 使当前线程睡眠指定的毫秒数。
221
+
222
+ ```typescript
223
+ function sleep(ms: number): void;
224
+ ```
225
+
226
+ **参数:**
227
+
228
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
229
+ | ------ | ------ | -------- | ------ | ---------------- |
230
+ | `ms` | number | 是 | - | 睡眠时间(毫秒) |
231
+
232
+ **示例:**
233
+
234
+ ```javascript
235
+ logi("开始等待...");
236
+ sleep(2000); // 等待2秒
237
+ logi("等待结束");
238
+ ```
239
+
240
+ ### exit
241
+
242
+ 退出应用。
243
+
244
+ ```typescript
245
+ function exit(exitAll?: boolean): void;
246
+ ```
247
+
248
+ **参数:**
249
+
250
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
251
+ | --------- | ------- | -------- | ------ | ---------------------------------------------------------------- |
252
+ | `exitAll` | boolean | 否 | false | 是否退出所有线程,默认 `false` 退出当前线程,`true` 退出所有线程 |
253
+
254
+ **注意事项:**
255
+
256
+ - 调用 `exit(true)` 会退出所有线程,包括主线程和子线程。
257
+ - 调用 `exit(false)` 或不传参数,仅退出当前线程。如果是主线程调用会退出所有线程,子线程调用仅退出子线程。
258
+
259
+ **示例:**
260
+
261
+ ```javascript
262
+ logi("应用即将退出");
263
+ // 执行清理工作
264
+ exit();
265
+ ```
266
+
267
+ ### time
268
+
269
+ 获取当前时间戳。
270
+
271
+ ```typescript
272
+ function time(): number;
273
+ ```
274
+
275
+ **返回值:**
276
+
277
+ | 类型 | 描述 |
278
+ | -------- | ------------------ |
279
+ | `number` | 当前时间戳(毫秒) |
280
+
281
+ **示例:**
282
+
283
+ ```javascript
284
+ const startTime = time();
285
+ // 执行一些操作
286
+ sleep(1000);
287
+ const endTime = time();
288
+ logi(`操作耗时: ${endTime - startTime}ms`);
289
+ ```
290
+
291
+ ### takeMeToFront
292
+
293
+ 将快点 JS 应用切换到前台。
294
+
295
+ 快点 Agent 模式下调用-> `utils.takeMeToFront()`
296
+
297
+ HID 模式下调用-> `hid.takeMeToFront()`
298
+
299
+ ```typescript
300
+ function takeMeToFront(): boolean;
301
+ ```
302
+
303
+ **示例:**
304
+
305
+ ```javascript
306
+ // 当需要用户注意时,将应用切换到前台
307
+ takeMeToFront();
308
+ logi("应用已切换到前台");
309
+ ```
310
+
311
+ ### setStopCallback
312
+
313
+ 设置停止回调函数(仅主线程调用)。
314
+
315
+ ```typescript
316
+ function setStopCallback(callback: () => void): void;
317
+ ```
318
+
319
+ **参数:**
320
+
321
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
322
+ | ---------- | ---------- | -------- | ------ | ------------ |
323
+ | `callback` | () => void | 是 | - | 停止回调函数 |
324
+
325
+ **说明:**
326
+
327
+ 脚本执行完成或异常停止时调用,`exit()` 退出不会触发此回调。
328
+
329
+ **示例:**
330
+
331
+ ```javascript
332
+ setStopCallback(() => {
333
+ logi("脚本执行完成");
334
+ // 执行清理工作
335
+ });
336
+ ```
337
+
338
+ ### setExceptionCallback
339
+
340
+ 设置异常停止回调函数(仅主线程调用)。
341
+
342
+ ```typescript
343
+ function setExceptionCallback(callback: () => void): void;
344
+ ```
345
+
346
+ **参数:**
347
+
348
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
349
+ | ---------- | ---------- | -------- | ------ | ---------------- |
350
+ | `callback` | () => void | 是 | - | 异常停止回调函数 |
351
+
352
+ **说明:**
353
+
354
+ 脚本执行异常停止时调用,可用于错误处理和恢复。
355
+
356
+ **示例:**
357
+
358
+ ```javascript
359
+ setExceptionCallback(() => {
360
+ loge("脚本执行异常");
361
+ // 可以选择重启脚本
362
+ restartScript(2000);
363
+ });
364
+ ```
365
+
366
+ ### restartScript
367
+
368
+ 重启脚本。
369
+
370
+ ```typescript
371
+ function restartScript(delay: number): void;
372
+ ```
373
+
374
+ **参数:**
375
+
376
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
377
+ | ------- | ------ | -------- | ------ | ---------------------------------------- |
378
+ | `delay` | number | 是 | - | 延迟时间(毫秒),建议不要低于 2000 毫秒 |
379
+
380
+ **示例:**
381
+
382
+ ```javascript
383
+ // 重启脚本,延迟2秒
384
+ restartScript(2000);
385
+
386
+ // 在异常回调中使用
387
+ setExceptionCallback(() => {
388
+ loge("检测到异常,2秒后重启脚本");
389
+ restartScript(2000);
390
+ });
391
+ ```
392
+
393
+ ### loadDex
394
+
395
+ 加载 dex、apk 文件 (仅安卓可用)。
396
+
397
+ ```typescript
398
+ function loadDex(path: string): boolean;
399
+ ```
400
+
401
+ **参数:**
402
+
403
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
404
+ | ------ | ------ | -------- | ------ | ----------------- |
405
+ | `path` | string | 是 | - | dex、apk 文件路径 |
406
+
407
+ **返回值:**
408
+
409
+ | 类型 | 描述 |
410
+ | --------- | ------------ |
411
+ | `boolean` | 是否加载成功 |
412
+
413
+ **示例:**
414
+
415
+ ```javascript
416
+ const isLoaded = loadDex("/sdcard/classes.dex");
417
+ if (isLoaded) {
418
+ logi("dex 文件加载成功");
419
+ } else {
420
+ loge("dex 文件加载失败");
421
+ }
422
+ ```
423
+
424
+ ### getContext
425
+
426
+ 获取安卓上下文 (仅安卓可用)。
427
+
428
+ ```typescript
429
+ function getContext(): any;
430
+ ```
431
+
432
+ **返回值:**
433
+
434
+ | 类型 | 描述 |
435
+ | ----- | -------------- |
436
+ | `any` | 当前安卓上下文 |
437
+
438
+ **示例:**
439
+
440
+ ```javascript
441
+ const context = getContext();
442
+ logi(`当前安卓上下文: ${context}`);
443
+ ```
444
+
445
+ ### importClass
446
+
447
+ 导入 Java 类 (仅安卓可用)。
448
+
449
+ ```typescript
450
+ function importClass(className: string): any;
451
+ ```
452
+
453
+ **参数:**
454
+
455
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
456
+ | ----------- | ------ | -------- | ------ | --------- |
457
+ | `className` | string | 是 | - | Java 类名 |
458
+
459
+ **返回值:**
460
+
461
+ | 类型 | 描述 |
462
+ | ----- | -------------- |
463
+ | `any` | 导入的 Java 类 |
464
+
465
+ **示例:**
466
+
467
+ ```javascript
468
+ // 大部分情况下,不需要导入 Java 类,直接使用即可
469
+ const B = new com.a.B();
470
+ logi(`B 类的实例: ${B}`);
471
+
472
+ // 只有在无法直接使用类时,才需要导入 Java 类
473
+ const C = importClass("xxx.a.C");
474
+ const c = new C();
475
+ logi(`创建了 C 类的实例: ${c}`);
476
+ ```
477
+
478
+ ## 全局日志函数
479
+
480
+ 全局日志函数是 `logger` 模块对应方法的便捷别名,可以直接调用而无需 `logger.` 前缀。
481
+
482
+ ### logd
483
+
484
+ 输出调试级别的日志,等同于 `logger.debug()`。
485
+
486
+ ```typescript
487
+ function logd(...args: any[]): void;
488
+ ```
489
+
490
+ **参数:**
491
+
492
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
493
+ | --------- | ----- | -------- | ------ | ---------------- |
494
+ | `...args` | any[] | 是 | - | 要输出的日志内容 |
495
+
496
+ **用途:**
497
+
498
+ - 详细的程序执行信息
499
+ - 变量值和状态信息
500
+ - 函数调用跟踪
501
+ - 开发阶段的调试信息
502
+
503
+ **示例:**
504
+
505
+ ```javascript
506
+ logd("程序开始执行");
507
+
508
+ // 函数调用跟踪
509
+ function processData(data) {
510
+ logd(`processData 开始,参数: ${JSON.stringify(data)}`);
511
+ // 处理逻辑...
512
+ logd("processData 完成");
513
+ }
514
+ ```
515
+
516
+ ### logi
517
+
518
+ 输出信息级别的日志,等同于 `logger.info()`。
519
+
520
+ ```typescript
521
+ function logi(...args: any[]): void;
522
+ ```
523
+
524
+ **参数:**
525
+
526
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
527
+ | --------- | ----- | -------- | ------ | ---------------- |
528
+ | `...args` | any[] | 是 | - | 要输出的日志内容 |
529
+
530
+ **用途:**
531
+
532
+ - 程序正常运行信息
533
+ - 重要操作的确认
534
+ - 状态变更通知
535
+ - 一般性信息记录
536
+
537
+ **示例:**
538
+
539
+ ```javascript
540
+ logi("应用程序启动成功");
541
+ logi(`处理了 ${count} 条记录`);
542
+ ```
543
+
544
+ ### logw
545
+
546
+ 输出警告级别的日志,等同于 `logger.warn()`。
547
+
548
+ ```typescript
549
+ function logw(...args: any[]): void;
550
+ ```
551
+
552
+ **参数:**
553
+
554
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
555
+ | --------- | ----- | -------- | ------ | ---------------- |
556
+ | `...args` | any[] | 是 | - | 要输出的日志内容 |
557
+
558
+ **用途:**
559
+
560
+ - 潜在的问题警告
561
+ - 不推荐的操作提醒
562
+ - 性能警告
563
+ - 兼容性问题提示
564
+
565
+ **示例:**
566
+
567
+ ```javascript
568
+ logw("电池电量低于 20%");
569
+ logw("网络连接不稳定");
570
+ logw("使用了已废弃的 API");
571
+ logw("内存使用率较高");
572
+ ```
573
+
574
+ ### loge
575
+
576
+ 输出错误级别的日志,等同于 `logger.error()`。
577
+
578
+ ```typescript
579
+ function loge(...args: any[]): void;
580
+ ```
581
+
582
+ **参数:**
583
+
584
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
585
+ | --------- | ----- | -------- | ------ | ---------------- |
586
+ | `...args` | any[] | 是 | - | 要输出的日志内容 |
587
+
588
+ **用途:**
589
+
590
+ - 程序错误和异常
591
+ - 操作失败记录
592
+ - 系统错误报告
593
+ - 致命问题记录
594
+
595
+ **示例:**
596
+
597
+ ```javascript
598
+ loge("网络请求失败");
599
+ loge("文件读取错误");
600
+ loge("数据库连接失败");
601
+ loge(`未知错误: ${error.message}`);
602
+
603
+ // 异常处理
604
+ try {
605
+ // 可能出错的操作
606
+ const result = riskyOperation();
607
+ } catch (error) {
608
+ loge(`操作失败: ${error.message}`);
609
+ }
610
+ ```
611
+
612
+ **注意事项:**
613
+
614
+ - 这些全局日志函数的行为完全等同于对应的 `logger` 模块方法
615
+ - 日志级别设置通过 `logger.setLoggerLevel()` 统一控制
616
+ - 文件输出设置通过 `logger.setLogToFile()` 统一控制
617
+ - 推荐在简单脚本中使用全局函数,在复杂项目中使用 `logger` 模块方法以保持代码清晰性