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,516 @@
1
+ # 文件模块 (File)
2
+
3
+ 文件模块提供了完整的文件和目录操作功能,包括文件的创建、读写、删除、复制等操作,以及目录的管理和遍历功能。
4
+
5
+ ## 功能概览
6
+
7
+ - **目录管理**: 获取应用目录、创建目录、列出目录内容
8
+ - **文件操作**: 创建、删除、复制、检查文件存在性
9
+ - **文件读写**: 支持整个文件和按行的读写操作
10
+ - **文件信息**: 获取文件 MD5 值等信息
11
+
12
+ ## 注意事项
13
+
14
+ - **文件路径**: 所有文件路径均为绝对路径,不支持相对路径。
15
+ - **目录查看**: `documents`目录可以通过`文件`->`我的iPhone`->`快点JS`查看,其他目录不可直接查看
16
+
17
+ ## API 参考
18
+
19
+ ### 目录操作
20
+
21
+ #### getInternalDir - 获取应用内部目录路径。
22
+
23
+ ```typescript
24
+ function getInternalDir(
25
+ type: "documents" | "library" | "temp" | "libraryCaches"
26
+ ): string;
27
+ ```
28
+
29
+ **参数:**
30
+
31
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
32
+ | ------ | ------ | -------- | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
33
+ | `type` | string | 是 | - | 目录类型 <br>-`"documents"` - 文档目录 <br>-`"library"` - 库目录 <br>-`"temp"` - 临时目录 <br>-`"libraryCaches"` - 库缓存目录 |
34
+
35
+ **返回值:**
36
+
37
+ | 类型 | 描述 |
38
+ | -------- | ---------------- |
39
+ | `string` | 应用内部目录路径 |
40
+
41
+ **示例:**
42
+
43
+ ```javascript
44
+ const documentsDir = file.getInternalDir("documents");
45
+ const tempDir = file.getInternalDir("temp");
46
+ logi(`文档目录: ${documentsDir}`);
47
+ logi(`临时目录: ${tempDir}`);
48
+ ```
49
+
50
+ #### getDataDir - 获取应用数据目录路径。
51
+
52
+ ```typescript
53
+ function getDataDir(): string;
54
+ ```
55
+
56
+ **返回值:**
57
+
58
+ | 类型 | 描述 |
59
+ | -------- | ---------------- |
60
+ | `string` | 应用数据目录路径 |
61
+
62
+ **示例:**
63
+
64
+ ```javascript
65
+ const dataDir = file.getDataDir();
66
+ logi(`数据目录: ${dataDir}`);
67
+ ```
68
+
69
+ #### getDataFile - 获取应用数据文件的完整路径。
70
+
71
+ ```typescript
72
+ function getDataFile(file: string): string;
73
+ ```
74
+
75
+ **参数:**
76
+
77
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
78
+ | ------ | ------ | -------- | ------ | ------------ |
79
+ | `file` | string | 是 | - | 文件名或路径 |
80
+
81
+ **返回值:**
82
+
83
+ | 类型 | 描述 |
84
+ | -------- | ------------ |
85
+ | `string` | 文件完整路径 |
86
+
87
+ **示例:**
88
+
89
+ ```javascript
90
+ const configPath = file.getDataFile("config.json");
91
+ logi(`配置文件路径: ${configPath}`);
92
+ ```
93
+
94
+ #### mkdirs - 创建目录(支持递归创建)。
95
+
96
+ ```typescript
97
+ function mkdirs(path: string): boolean;
98
+ ```
99
+
100
+ **参数:**
101
+
102
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
103
+ | ------ | ------ | -------- | ------ | -------- |
104
+ | `path` | string | 是 | - | 目录路径 |
105
+
106
+ **返回值:**
107
+
108
+ | 类型 | 描述 |
109
+ | --------- | ------------ |
110
+ | `boolean` | 是否创建成功 |
111
+
112
+ **示例:**
113
+
114
+ ```javascript
115
+ const success = file.mkdirs("/path/to/nested/directory");
116
+ if (success) {
117
+ logi("目录创建成功");
118
+ }
119
+ ```
120
+
121
+ #### listDir - 列出目录下的所有文件和子目录。
122
+
123
+ ```typescript
124
+ function listDir(path: string, recursion: boolean): string[];
125
+ ```
126
+
127
+ **参数:**
128
+
129
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
130
+ | ----------- | ------- | -------- | ------ | ---------------------- |
131
+ | `path` | string | 是 | - | 目录路径 |
132
+ | `recursion` | boolean | 是 | - | 是否递归列出子目录内容 |
133
+
134
+ **返回值:**
135
+
136
+ | 类型 | 描述 |
137
+ | ---------- | ------------------ |
138
+ | `string[]` | 文件和目录路径数组 |
139
+
140
+ **示例:**
141
+
142
+ ```javascript
143
+ // 列出目录内容(不递归)
144
+ const files = file.listDir("/path/to/directory", false);
145
+ logi(`目录内容: ${JSON.stringify(files)}`);
146
+
147
+ // 递归列出所有内容
148
+ const allFiles = file.listDir("/path/to/directory", true);
149
+ logi(`所有文件: ${JSON.stringify(allFiles)}`);
150
+ ```
151
+
152
+ ### 文件基础操作
153
+
154
+ #### create - 创建新文件。
155
+
156
+ ```typescript
157
+ function create(path: string): boolean;
158
+ ```
159
+
160
+ **参数:**
161
+
162
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
163
+ | ------ | ------ | -------- | ------ | -------- |
164
+ | `path` | string | 是 | - | 文件路径 |
165
+
166
+ **返回值:**
167
+
168
+ | 类型 | 描述 |
169
+ | --------- | ------------ |
170
+ | `boolean` | 是否创建成功 |
171
+
172
+ **示例:**
173
+
174
+ ```javascript
175
+ const created = file.create("/path/to/newfile.txt");
176
+ if (created) {
177
+ logi("文件创建成功");
178
+ }
179
+ ```
180
+
181
+ #### exists - 检查文件或目录是否存在。
182
+
183
+ ```typescript
184
+ function exists(path: string): boolean;
185
+ ```
186
+
187
+ **参数:**
188
+
189
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
190
+ | ------ | ------ | -------- | ------ | -------------- |
191
+ | `path` | string | 是 | - | 文件或目录路径 |
192
+
193
+ **返回值:**
194
+
195
+ | 类型 | 描述 |
196
+ | --------- | -------- |
197
+ | `boolean` | 是否存在 |
198
+
199
+ **示例:**
200
+
201
+ ```javascript
202
+ if (file.exists("/path/to/file.txt")) {
203
+ logi("文件存在");
204
+ } else {
205
+ logi("文件不存在");
206
+ }
207
+ ```
208
+
209
+ #### copy - 复制文件。
210
+
211
+ ```typescript
212
+ function copy(src: string, dest: string): boolean;
213
+ ```
214
+
215
+ **参数:**
216
+
217
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
218
+ | ------ | ------ | -------- | ------ | ------------ |
219
+ | `src` | string | 是 | - | 源文件路径 |
220
+ | `dest` | string | 是 | - | 目标文件路径 |
221
+
222
+ **返回值:**
223
+
224
+ | 类型 | 描述 |
225
+ | --------- | ------------ |
226
+ | `boolean` | 是否复制成功 |
227
+
228
+ **示例:**
229
+
230
+ ```javascript
231
+ const copied = file.copy("/path/to/source.txt", "/path/to/destination.txt");
232
+ if (copied) {
233
+ logi("文件复制成功");
234
+ }
235
+ ```
236
+
237
+ #### deleteAllFile - 删除文件或目录。
238
+
239
+ ```typescript
240
+ function deleteAllFile(path: string): boolean;
241
+ ```
242
+
243
+ **参数:**
244
+
245
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
246
+ | ------ | ------ | -------- | ------ | -------------- |
247
+ | `path` | string | 是 | - | 文件或目录路径 |
248
+
249
+ **返回值:**
250
+
251
+ | 类型 | 描述 |
252
+ | --------- | ------------ |
253
+ | `boolean` | 是否删除成功 |
254
+
255
+ **示例:**
256
+
257
+ ```javascript
258
+ const deleted = file.deleteAllFile("/path/to/file.txt");
259
+ if (deleted) {
260
+ logi("文件删除成功");
261
+ }
262
+ ```
263
+
264
+ ### 文件读写操作
265
+
266
+ #### readFile - 读取整个文件内容。
267
+
268
+ ```typescript
269
+ function readFile(path: string): string | null;
270
+ ```
271
+
272
+ **参数:**
273
+
274
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
275
+ | ------ | ------ | -------- | ------ | -------- |
276
+ | `path` | string | 是 | - | 文件路径 |
277
+
278
+ **返回值:**
279
+
280
+ | 类型 | 描述 |
281
+ | ---------------- | ------------------------------- |
282
+ | `string \| null` | 文件内容;失败或不存在返回 null |
283
+
284
+ **示例:**
285
+
286
+ ```javascript
287
+ const content = file.readFile("/path/to/file.txt");
288
+ if (content !== null) {
289
+ logi(`文件内容: ${content}`);
290
+ } else {
291
+ logw("文件不存在或读取失败");
292
+ }
293
+ ```
294
+
295
+ #### readResFile -读取`res`目录中的文本文件内容。
296
+
297
+ **注意事项:**
298
+
299
+ - 该函数仅适用于读取脚本 res 目录中的文本文件。
300
+ - res 目录文件只读,不能修改。
301
+
302
+ ```typescript
303
+ function readResFile(fileName: string): string | null;
304
+ ```
305
+
306
+ **参数:**
307
+
308
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
309
+ | ---------- | ------ | -------- | ------ | ------------ |
310
+ | `fileName` | string | 是 | - | res 目录路径 |
311
+
312
+ **返回值:**
313
+
314
+ | 类型 | 描述 |
315
+ | -------------- | --------------------------------------- |
316
+ | `string\|null` | 文件内容 文件不存在或读取失败 返回 null |
317
+
318
+ **示例:**
319
+
320
+ ```javascript
321
+ // 读取配置文件
322
+ const config = file.readResFile("config.json");
323
+ if (config) {
324
+ const configObj = JSON.parse(config);
325
+ logi(`配置加载成功: ${JSON.stringify(configObj)}`);
326
+ } else {
327
+ logi("配置文件不存在或读取失败");
328
+ }
329
+ ```
330
+
331
+ #### writeFile - 写入文件内容(覆盖原有内容)。
332
+
333
+ ```typescript
334
+ function writeFile(path: string, content: string): boolean;
335
+ ```
336
+
337
+ **参数:**
338
+
339
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
340
+ | --------- | ------ | -------- | ------ | ------------ |
341
+ | `path` | string | 是 | - | 文件路径 |
342
+ | `content` | string | 是 | - | 要写入的内容 |
343
+
344
+ **返回值:**
345
+
346
+ | 类型 | 描述 |
347
+ | --------- | ------------ |
348
+ | `boolean` | 是否写入成功 |
349
+
350
+ **示例:**
351
+
352
+ ```javascript
353
+ const success = file.writeFile("/path/to/file.txt", "Hello, World!");
354
+ if (success) {
355
+ logi("文件写入成功");
356
+ }
357
+ ```
358
+
359
+ #### appendLine - 向文件追加内容。
360
+
361
+ ```typescript
362
+ function appendLine(path: string, content: string): boolean;
363
+ ```
364
+
365
+ **参数:**
366
+
367
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
368
+ | --------- | ------ | -------- | ------ | ------------ |
369
+ | `path` | string | 是 | - | 文件路径 |
370
+ | `content` | string | 是 | - | 要追加的内容 |
371
+
372
+ **返回值:**
373
+
374
+ | 类型 | 描述 |
375
+ | --------- | ------------ |
376
+ | `boolean` | 是否追加成功 |
377
+
378
+ **示例:**
379
+
380
+ ```javascript
381
+ const appended = file.appendLine("/path/to/log.txt", "新的日志条目");
382
+ if (appended) {
383
+ logi("内容追加成功");
384
+ }
385
+ ```
386
+
387
+ ### 按行操作
388
+
389
+ #### readLine - 读取文件指定行的内容。
390
+
391
+ ```typescript
392
+ function readLine(path: string, lineNo: number): string | null;
393
+ ```
394
+
395
+ **参数:**
396
+
397
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
398
+ | -------- | ------ | -------- | ------ | ----------------- |
399
+ | `path` | string | 是 | - | 文件路径 |
400
+ | `lineNo` | number | 是 | - | 行号(从 1 开始) |
401
+
402
+ **返回值:**
403
+
404
+ | 类型 | 描述 |
405
+ | ---------------- | ----------------------------- |
406
+ | `string \| null` | 行内容;失败或不存在返回 null |
407
+
408
+ **示例:**
409
+
410
+ ```javascript
411
+ const firstLine = file.readLine("/path/to/file.txt", 1);
412
+ if (firstLine !== null) {
413
+ logi(`第一行内容: ${firstLine}`);
414
+ } else {
415
+ logw("读取失败或行不存在");
416
+ }
417
+ ```
418
+
419
+ #### readAllLines - 读取文件所有行内容。
420
+
421
+ ```typescript
422
+ function readAllLines(path: string): string[] | null;
423
+ ```
424
+
425
+ **参数:**
426
+
427
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
428
+ | ------ | ------ | -------- | ------ | -------- |
429
+ | `path` | string | 是 | - | 文件路径 |
430
+
431
+ **返回值:**
432
+
433
+ | 类型 | 描述 |
434
+ | --------- | ----- | ----------------------------- |
435
+ | `string[] | null` | 所有行内容数组;失败返回 null |
436
+
437
+ **示例:**
438
+
439
+ ```javascript
440
+ const lines = file.readAllLines("/path/to/file.txt");
441
+ if (lines !== null) {
442
+ lines.forEach((line, index) => {
443
+ logi(`第${index + 1}行: ${line}`);
444
+ });
445
+ } else {
446
+ logw("读取所有行失败或文件不存在");
447
+ }
448
+ ```
449
+
450
+ #### deleteLine - 删除文件中符合条件的行。
451
+
452
+ ```typescript
453
+ function deleteLine(
454
+ path: string,
455
+ line: number,
456
+ contains: string | null
457
+ ): boolean;
458
+ ```
459
+
460
+ **参数:**
461
+
462
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
463
+ | ---------- | ------ | -------- | ------ | ----------------------------------- |
464
+ | `path` | string | 是 | - | 文件路径 |
465
+ | `line` | number | 是 | - | 行号(-1 表示不按行号删除) |
466
+ | `contains` | string | 否 | null | 包含的内容(null 表示不按内容删除) |
467
+
468
+ **返回值:**
469
+
470
+ | 类型 | 描述 |
471
+ | --------- | ------------ |
472
+ | `boolean` | 是否删除成功 |
473
+
474
+ **示例:**
475
+
476
+ ```javascript
477
+ // 删除第3行
478
+ file.deleteLine("/path/to/file.txt", 3, null);
479
+
480
+ // 删除包含"error"的行
481
+ file.deleteLine("/path/to/file.txt", -1, "error");
482
+
483
+ // 删除第5行且包含"debug"的行
484
+ file.deleteLine("/path/to/file.txt", 5, "debug");
485
+ ```
486
+
487
+ ### 文件信息
488
+
489
+ #### fileMD5 - 获取文件的 MD5 哈希值。
490
+
491
+ ```typescript
492
+ function fileMD5(path: string): string | null;
493
+ ```
494
+
495
+ **参数:**
496
+
497
+ | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
498
+ | ------ | ------ | -------- | ------ | -------- |
499
+ | `path` | string | 是 | - | 文件路径 |
500
+
501
+ **返回值:**
502
+
503
+ | 类型 | 描述 |
504
+ | ---------------- | ------------------------- |
505
+ | `string \| null` | 文件 MD5 值 失败返回 null |
506
+
507
+ **示例:**
508
+
509
+ ```javascript
510
+ const md5 = file.fileMD5("/path/to/file.txt");
511
+ if (md5) {
512
+ logi(`文件MD5: ${md5}`);
513
+ } else {
514
+ logi("获取MD5失败");
515
+ }
516
+ ```