ms-vite-plugin 1.4.59 → 1.4.61

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 (83) hide show
  1. package/dist/luaBundle.js +1 -1
  2. package/dist/luaObfuscator/addVararg.d.ts +2 -0
  3. package/dist/luaObfuscator/addVararg.js +1 -0
  4. package/dist/luaObfuscator/antiTamper.d.ts +2 -0
  5. package/dist/luaObfuscator/antiTamper.js +26 -0
  6. package/dist/luaObfuscator/ast.d.ts +191 -0
  7. package/dist/luaObfuscator/ast.js +1 -0
  8. package/dist/luaObfuscator/cipher.d.ts +10 -0
  9. package/dist/luaObfuscator/cipher.js +28 -0
  10. package/dist/luaObfuscator/compiler.d.ts +31 -0
  11. package/dist/luaObfuscator/compiler.js +1 -0
  12. package/dist/luaObfuscator/constantArray.d.ts +5 -0
  13. package/dist/luaObfuscator/constantArray.js +1 -0
  14. package/dist/luaObfuscator/flatten.d.ts +2 -0
  15. package/dist/luaObfuscator/flatten.js +1 -0
  16. package/dist/luaObfuscator/index.d.ts +6 -0
  17. package/dist/luaObfuscator/index.js +1 -0
  18. package/dist/luaObfuscator/lexer.d.ts +14 -0
  19. package/dist/luaObfuscator/lexer.js +10 -0
  20. package/dist/luaObfuscator/minify.d.ts +3 -0
  21. package/dist/luaObfuscator/minify.js +1 -0
  22. package/dist/luaObfuscator/numbers.d.ts +2 -0
  23. package/dist/luaObfuscator/numbers.js +1 -0
  24. package/dist/luaObfuscator/opcodes.d.ts +3 -0
  25. package/dist/luaObfuscator/opcodes.js +1 -0
  26. package/dist/luaObfuscator/parser.d.ts +8 -0
  27. package/dist/luaObfuscator/parser.js +1 -0
  28. package/dist/luaObfuscator/rename.d.ts +3 -0
  29. package/dist/luaObfuscator/rename.js +1 -0
  30. package/dist/luaObfuscator/reserved.d.ts +5 -0
  31. package/dist/luaObfuscator/reserved.js +1 -0
  32. package/dist/luaObfuscator/scope.d.ts +11 -0
  33. package/dist/luaObfuscator/scope.js +1 -0
  34. package/dist/luaObfuscator/selftest.d.ts +1 -0
  35. package/dist/luaObfuscator/selftest.js +39 -0
  36. package/dist/luaObfuscator/splitStrings.d.ts +2 -0
  37. package/dist/luaObfuscator/splitStrings.js +1 -0
  38. package/dist/luaObfuscator/strings.d.ts +4 -0
  39. package/dist/luaObfuscator/strings.js +1 -0
  40. package/dist/luaObfuscator/visit.d.ts +5 -0
  41. package/dist/luaObfuscator/visit.js +1 -0
  42. package/dist/luaObfuscator/vmEmit.d.ts +2 -0
  43. package/dist/luaObfuscator/vmEmit.js +281 -0
  44. package/dist/luaObfuscator/wrapInFunction.d.ts +2 -0
  45. package/dist/luaObfuscator/wrapInFunction.js +1 -0
  46. package/docs/AGENTS.md +1 -1
  47. package/docs/SKILL.md +1 -1
  48. package/docs/api/hid.md +21 -0
  49. package/docs/apicn/hid.md +21 -0
  50. package/docs/apilua/action.md +2 -27
  51. package/docs/apilua/appleocr.md +2 -6
  52. package/docs/apilua/cloud.md +2 -6
  53. package/docs/apilua/config.md +2 -6
  54. package/docs/apilua/cryptoUtils.md +2 -7
  55. package/docs/apilua/device.md +2 -19
  56. package/docs/apilua/dotocr.md +2 -5
  57. package/docs/apilua/file.md +2 -17
  58. package/docs/apilua/global.md +1 -1
  59. package/docs/apilua/hid.md +25 -44
  60. package/docs/apilua/hotUpdate.md +2 -3
  61. package/docs/apilua/http.md +2 -7
  62. package/docs/apilua/image.md +2 -20
  63. package/docs/apilua/ime.md +2 -10
  64. package/docs/apilua/logger.md +3 -9
  65. package/docs/apilua/media.md +2 -9
  66. package/docs/apilua/mysql.md +2 -10
  67. package/docs/apilua/netCard.md +2 -6
  68. package/docs/apilua/node.md +2 -3
  69. package/docs/apilua/opencv.md +1 -27
  70. package/docs/apilua/paddleocr.md +2 -7
  71. package/docs/apilua/pip.md +2 -12
  72. package/docs/apilua/system.md +2 -23
  73. package/docs/apilua/tomatoocr.md +2 -16
  74. package/docs/apilua/tts.md +2 -9
  75. package/docs/apilua/ui.md +3 -9
  76. package/docs/apilua/utils.md +2 -9
  77. package/docs/apilua/yolo.md +2 -4
  78. package/docs/apilua/yolocls.md +2 -5
  79. package/docs/apipython/hid.md +22 -0
  80. package/docs/mcp-agent-description.md +1 -1
  81. package/docs/quick/vscode/createProject.md +1 -1
  82. package/docs/quick/vscode/packProject.md +1 -1
  83. package/package.json +1 -1
@@ -1,5 +1,7 @@
1
1
  # 日志模块 (Logger)
2
2
 
3
+ 模块表是内置全局 `logger`,直接调用即可。不要 `require` 宿主模块。
4
+
3
5
  日志模块提供了完整的日志记录功能,支持不同的日志级别、文件输出、日志管理等。
4
6
 
5
7
  - **日志级别** 开发环境默认 `debug`,打包环境默认 `info`。如需自定义日志级别,可使用 `setLoggerLevel` 方法。
@@ -14,7 +16,7 @@
14
16
 
15
17
  - **关闭存储日志** 可使用 `setLogToFile(false)` 关闭将日志输出到文件的功能。
16
18
 
17
- - **全局别名** `logd` / `logi` / `logw` / `loge` 是裸全局,分别等同 `logger.debug` / `logger.info` / `logger.warn` / `logger.error`,无需 `require("logger")`。
19
+ - **全局别名** `logd` / `logi` / `logw` / `loge` 是裸全局,分别等同 `logger.debug` / `logger.info` / `logger.warn` / `logger.error`,无需再取模块表。
18
20
 
19
21
  ## 日志级别
20
22
 
@@ -49,7 +51,6 @@ function setLoggerLevel(level) end
49
51
  **示例:**
50
52
 
51
53
  ```lua
52
- local logger = require("logger")
53
54
  -- 设置为调试级别(输出所有日志)
54
55
  logger.setLoggerLevel("debug")
55
56
  -- 设置为信息级别(不输出调试日志)
@@ -79,7 +80,6 @@ function setLogToFile(enabled) end
79
80
  **示例:**
80
81
 
81
82
  ```lua
82
- local logger = require("logger")
83
83
  -- 启用文件日志(默认)
84
84
  logger.setLogToFile(true)
85
85
  -- 禁用文件日志(只在控制台输出)
@@ -110,7 +110,6 @@ function setMaxLogFileCount(count) end
110
110
  **示例:**
111
111
 
112
112
  ```lua
113
- local logger = require("logger")
114
113
  -- 设置最大日志文件数量为 5 个文件
115
114
  logger.setMaxLogFileCount(5)
116
115
  ```
@@ -136,7 +135,6 @@ function setMaxLogFileSize(size) end
136
135
  **示例:**
137
136
 
138
137
  ```lua
139
- local logger = require("logger")
140
138
  -- 设置最大日志文件大小为 5MB
141
139
  logger.setMaxLogFileSize(5)
142
140
  ```
@@ -156,7 +154,6 @@ function resetLogFile() end
156
154
  **示例:**
157
155
 
158
156
  ```lua
159
- local logger = require("logger")
160
157
  logger.resetLogFile()
161
158
  logger.info("日志文件已重置")
162
159
 
@@ -244,8 +241,6 @@ function warn(...args) end
244
241
  **示例:**
245
242
 
246
243
  ```lua
247
- local logger = require("logger")
248
- local device = require("device")
249
244
  logger.warn("电池电量低于 20%")
250
245
  logger.warn("网络连接不稳定")
251
246
  logger.warn("使用了已废弃的 API")
@@ -288,7 +283,6 @@ function error(...args) end
288
283
  **示例:**
289
284
 
290
285
  ```lua
291
- local logger = require("logger")
292
286
  logger.error("网络请求失败")
293
287
  logger.error("文件读取错误")
294
288
  logger.error("数据库连接失败")
@@ -1,5 +1,7 @@
1
1
  # 媒体模块 (Media)
2
2
 
3
+ 模块表是内置全局 `media`,直接调用即可。不要 `require` 宿主模块。
4
+
3
5
  媒体模块提供了丰富的媒体操作功能,包括图片和视频的相册管理,以及音频播放控制等功能。
4
6
 
5
7
  ## 功能概览
@@ -35,7 +37,6 @@ function saveImageToAlbum(imageId) end
35
37
  **示例:**
36
38
 
37
39
  ```lua
38
- local media = require("media")
39
40
  -- 保存截图到相册
40
41
  media.saveImageToAlbum("screen")
41
42
 
@@ -75,7 +76,6 @@ function saveVideoToAlbumPath(path) end
75
76
  **示例:**
76
77
 
77
78
  ```lua
78
- local media = require("media")
79
79
  -- 保存视频到相册 (从 documents 目录读取)
80
80
  local documentsDir = file.getInternalDir("documents")
81
81
  local videoName = "video.mp4"
@@ -104,7 +104,6 @@ function deleteAllPhotos() end
104
104
  **示例:**
105
105
 
106
106
  ```lua
107
- local media = require("media")
108
107
  -- 清空相册图片
109
108
  local deleted = media.deleteAllPhotos()
110
109
  if deleted then
@@ -130,7 +129,6 @@ function deleteAllVideos() end
130
129
  **示例:**
131
130
 
132
131
  ```lua
133
- local media = require("media")
134
132
  -- 清空相册视频
135
133
  local deleted = media.deleteAllVideos()
136
134
  if deleted then
@@ -150,7 +148,6 @@ function deleteAllScreenshots() end
150
148
  **示例:**
151
149
 
152
150
  ```lua
153
- local media = require("media")
154
151
  local deleted = media.deleteAllScreenshots()
155
152
  if deleted then
156
153
  print("相册截图已清空")
@@ -184,7 +181,6 @@ function playMp3(path, loop) end
184
181
  **示例:**
185
182
 
186
183
  ```lua
187
- local media = require("media")
188
184
  -- 播放背景音乐(循环)
189
185
  local played = media.playMp3("/path/to/background.mp3", true)
190
186
  if played then
@@ -213,7 +209,6 @@ function stopMp3() end
213
209
  **示例:**
214
210
 
215
211
  ```lua
216
- local media = require("media")
217
212
  -- 停止音乐播放
218
213
  local stopped = media.stopMp3()
219
214
  if stopped then
@@ -246,7 +241,6 @@ function playMp3WaitEnd(path) end
246
241
  **示例:**
247
242
 
248
243
  ```lua
249
- local media = require("media")
250
244
  -- 同步播放音频,等待播放完成
251
245
  print("开始播放音频...")
252
246
  local played = media.playMp3WaitEnd("/path/to/notification.mp3")
@@ -274,7 +268,6 @@ function isMp3Playing() end
274
268
  **示例:**
275
269
 
276
270
  ```lua
277
- local media = require("media")
278
271
  if media.isMp3Playing() then
279
272
  print("正在播放")
280
273
  else
@@ -1,5 +1,7 @@
1
1
  # MySQL 数据库模块 (MySQL)
2
2
 
3
+ 模块表是内置全局 `mysql`,直接调用即可。不要 `require` 宿主模块。
4
+
3
5
  MySQL 模块提供了完整的 MySQL 数据库连接和操作功能,支持连接管理、查询执行、事务处理等核心数据库操作。
4
6
 
5
7
  ## 功能概览
@@ -91,7 +93,6 @@ function connect(config) end
91
93
  **示例:**
92
94
 
93
95
  ```lua
94
- local mysql = require("mysql")
95
96
  local success = mysql.connect({
96
97
  host = "localhost",
97
98
  port = 3306,
@@ -119,7 +120,6 @@ function disconnect() end
119
120
  **示例:**
120
121
 
121
122
  ```lua
122
- local mysql = require("mysql")
123
123
  mysql.disconnect()
124
124
  print("数据库连接已断开")
125
125
  ```
@@ -140,7 +140,6 @@ function isConnected() end
140
140
  **示例:**
141
141
 
142
142
  ```lua
143
- local mysql = require("mysql")
144
143
  if mysql.isConnected() then
145
144
  print("数据库已连接")
146
145
  else
@@ -177,7 +176,6 @@ function query(sql, params) end
177
176
  **示例:**
178
177
 
179
178
  ```lua
180
- local mysql = require("mysql")
181
179
  -- 简单查询
182
180
  local result1 = mysql.query("SELECT * FROM users")
183
181
  if result1.success then
@@ -225,7 +223,6 @@ function execute(sql, params) end
225
223
  **示例:**
226
224
 
227
225
  ```lua
228
- local mysql = require("mysql")
229
226
  -- 创建表
230
227
  local createTableResult = mysql.execute("
231
228
  CREATE TABLE IF NOT EXISTS users (
@@ -284,7 +281,6 @@ function beginTransaction() end
284
281
  **示例:**
285
282
 
286
283
  ```lua
287
- local mysql = require("mysql")
288
284
  if mysql.beginTransaction() then
289
285
  print("事务开始")
290
286
  else
@@ -308,7 +304,6 @@ function commit() end
308
304
  **示例:**
309
305
 
310
306
  ```lua
311
- local mysql = require("mysql")
312
307
  if mysql.commit() then
313
308
  print("事务提交成功")
314
309
  else
@@ -332,7 +327,6 @@ function rollback() end
332
327
  **示例:**
333
328
 
334
329
  ```lua
335
- local mysql = require("mysql")
336
330
  if mysql.rollback() then
337
331
  print("事务回滚成功")
338
332
  else
@@ -345,7 +339,6 @@ end
345
339
  ### 基本数据库操作
346
340
 
347
341
  ```lua
348
- local mysql = require("mysql")
349
342
  -- 1. 创建连接配置
350
343
  local dbConfig = {
351
344
  host = "localhost",
@@ -381,7 +374,6 @@ end
381
374
  ### 事务处理示例
382
375
 
383
376
  ```lua
384
- local mysql = require("mysql")
385
377
  -- 转账操作示例
386
378
  local function transferMoney(fromUserId, toUserId, amount)
387
379
  if not mysql.beginTransaction() then
@@ -1,5 +1,7 @@
1
1
  # 卡密模块 (NetCard)
2
2
 
3
+ 模块表是内置全局 `netcard`,直接调用即可。不要 `require` 宿主模块。
4
+
3
5
  卡密模块提供了卡密验证、备注设置以及键值对存储功能,用于管理网络卡密相关的操作。
4
6
 
5
7
  ## 功能概览
@@ -29,7 +31,6 @@ function isAuthCardMode() end
29
31
  **示例:**
30
32
 
31
33
  ```lua
32
- local netcard = require("netcard")
33
34
  if netcard.isAuthCardMode() then
34
35
  print("当前为授权卡密模式,不需要重复调用 verify")
35
36
  end
@@ -64,7 +65,6 @@ function verify(cardNo) end
64
65
  **示例 1:普通卡密模式**
65
66
 
66
67
  ```lua
67
- local netcard = require("netcard")
68
68
  -- 验证卡密
69
69
  local cardNo = "ABC123456789"
70
70
  local isValid = netcard.verify(cardNo)
@@ -105,7 +105,6 @@ function getCardInfo() end
105
105
  **示例:**
106
106
 
107
107
  ```lua
108
- local netcard = require("netcard")
109
108
  -- 获取卡密信息
110
109
  local cardInfo = netcard.getCardInfo()
111
110
  print(ToJsonString(cardInfo))
@@ -136,7 +135,6 @@ function setCardRemark(remark) end
136
135
  **示例:**
137
136
 
138
137
  ```lua
139
- local netcard = require("netcard")
140
138
  -- 设置卡密备注
141
139
  local remark = "测试用户卡密"
142
140
  local success = netcard.setCardRemark(remark)
@@ -175,7 +173,6 @@ function setValue(key, value) end
175
173
  **示例:**
176
174
 
177
175
  ```lua
178
- local netcard = require("netcard")
179
176
  -- 设置键值对
180
177
  local key = "userConfig"
181
178
  local value = "enableNotification"
@@ -211,7 +208,6 @@ function getValue(key) end
211
208
  **示例:**
212
209
 
213
210
  ```lua
214
- local netcard = require("netcard")
215
211
  -- 获取键值对
216
212
  local key = "userConfig"
217
213
  local value = netcard.getValue(key)
@@ -1,5 +1,7 @@
1
1
  # 节点模块 (Node)
2
2
 
3
+ 模块表是内置全局 `node`,直接调用即可。不要 `require` 宿主模块。
4
+
3
5
  用于查找和操作当前界面上的控件节点。
4
6
 
5
7
  **注意**
@@ -203,7 +205,6 @@ btn:setValue("hello")
203
205
  | `clickRandom()` | 范围内随机点,不自动滚动 |
204
206
 
205
207
  ```lua
206
- local node = require("node")
207
208
  local selector <close> = node.createNodeSelector()
208
209
  local btn = selector:label("确定"):type("XCUIElementTypeButton"):getOneNodeInfo(3000)
209
210
 
@@ -267,7 +268,6 @@ end
267
268
  ### 登录
268
269
 
269
270
  ```lua
270
- local node = require("node")
271
271
  local selector <close> = node.createNodeSelector()
272
272
 
273
273
  local user = selector:type("XCUIElementTypeTextField"):getOneNodeInfo(5000)
@@ -298,7 +298,6 @@ end
298
298
  ### 列表里靠后的项
299
299
 
300
300
  ```lua
301
- local node = require("node")
302
301
  local selector <close> = node.createNodeSelector({ mode = 2 })
303
302
  local item = selector:label("第 30 项"):getOneNodeInfo(5000)
304
303
  if item then
@@ -1,7 +1,7 @@
1
1
  # OpenCV 模块 (cv)
2
2
 
3
3
  提供图像读写、颜色与阈值、滤波、几何变换、绘制、模板/特征匹配、轮廓、形态学、直方图、霍夫、扫码等能力。
4
- 可通过 `require("cv")` 获取。无中文别名。方法与常量对齐 JS `cv`。
4
+ 模块表是内置全局 `cv`,直接调用即可。不要 `require` 宿主模块。无中文别名。方法与常量对齐 JS `cv`。
5
5
 
6
6
  注意:
7
7
 
@@ -51,8 +51,6 @@ Mat:`Mat` · `zeros` · `ones` · `clone` · `empty` · `isRelease` · `releas
51
51
  霍夫/连通域/直方图/扫码:`HoughLinesP` · `HoughCircles` · `connectedComponents` · `connectedComponentsWithStats` · `distanceTransform` · `floodFill` · `goodFeaturesToTrack` · `cornerHarris` · `cornerSubPix` · `calcHist` · `compareHist` · `calcBackProject` · `encodeQRCode` · `detectQRCode` · `detectBarcode`
52
52
 
53
53
  ```lua
54
- local cv = require("cv")
55
- local file = require("file")
56
54
 
57
55
  local src = cv.capture()
58
56
  local gray = cv.cvtColor(src, { code = cv.COLOR_BGR2GRAY })
@@ -97,7 +95,6 @@ function capture(x, y, ex, ey) end
97
95
  **示例:**
98
96
 
99
97
  ```lua
100
- local cv = require("cv")
101
98
  local full = cv.capture()
102
99
  local roi = cv.capture(100, 100, 300, 300)
103
100
  cv.release(full)
@@ -142,9 +139,6 @@ function imread(path) end
142
139
  **示例:**
143
140
 
144
141
  ```lua
145
- local cv = require("cv")
146
- local file = require("file")
147
- local image = require("image")
148
142
  local a = cv.imread("template.png")
149
143
  local dir = file.getInternalDir("documents")
150
144
  local b = cv.imread(dir .. "/shot.jpg")
@@ -177,7 +171,6 @@ function imdecode(data) end
177
171
  **示例:**
178
172
 
179
173
  ```lua
180
- local cv = require("cv")
181
174
  local m = cv.imread("template.png")
182
175
  local b64 = cv.imencode(".png", m)
183
176
  local again = cv.imdecode(b64)
@@ -206,8 +199,6 @@ function imwrite(path, mat) end
206
199
  **示例:**
207
200
 
208
201
  ```lua
209
- local cv = require("cv")
210
- local file = require("file")
211
202
  local src = cv.capture()
212
203
  cv.imwrite(file.getInternalDir("documents") .. "/out.png", src)
213
204
  cv.release(src)
@@ -236,7 +227,6 @@ function imencode(ext, mat, quality) end
236
227
  **示例:**
237
228
 
238
229
  ```lua
239
- local cv = require("cv")
240
230
  local b64 = cv.imencode(".jpg", mat, { quality = 85 })
241
231
  ```
242
232
 
@@ -260,7 +250,6 @@ function fromImageId(imageId) end
260
250
  **示例:**
261
251
 
262
252
  ```lua
263
- local cv = require("cv")
264
253
  local imageId = image.captureScreen()
265
254
  local mat = cv.fromImageId(imageId)
266
255
  image.release(imageId)
@@ -288,7 +277,6 @@ function Mat(options) end
288
277
  **示例:**
289
278
 
290
279
  ```lua
291
- local cv = require("cv")
292
280
  local z = cv.zeros({ rows = 100, cols = 100, type = cv.CV_8UC3 })
293
281
  local filled = cv.Mat({ rows = 10, cols = 10, type = cv.CV_8UC1, scalar = [255] })
294
282
  cv.release(z)
@@ -313,7 +301,6 @@ function clone(mat) end
313
301
  **示例:**
314
302
 
315
303
  ```lua
316
- local cv = require("cv")
317
304
  local a = cv.capture()
318
305
  local b = cv.clone(a)
319
306
  cv.release(a)
@@ -360,7 +347,6 @@ function threshold(mat, options) end
360
347
  **示例:**
361
348
 
362
349
  ```lua
363
- local cv = require("cv")
364
350
  local bin = cv.threshold(gray, { thresh = 127, maxval = 255, type = cv.THRESH_BINARY })
365
351
  local otsu = cv.threshold(gray, { type = cv.THRESH_BINARY | cv.THRESH_OTSU })
366
352
  ```
@@ -387,7 +373,6 @@ function adaptiveThreshold(mat, options) end
387
373
  **示例:**
388
374
 
389
375
  ```lua
390
- local cv = require("cv")
391
376
  local bin = cv.adaptiveThreshold(gray, {
392
377
  maxValue = 255,
393
378
  adaptiveMethod = cv.ADAPTIVE_THRESH_GAUSSIAN_C,
@@ -411,7 +396,6 @@ function inRange(mat, options) end
411
396
  **示例:**
412
397
 
413
398
  ```lua
414
- local cv = require("cv")
415
399
  local hsv = cv.cvtColor(src, { code = cv.COLOR_BGR2HSV })
416
400
  local mask = cv.inRange(hsv, { lower = [0, 80, 80], upper = [20, 255, 255] })
417
401
  ```
@@ -440,7 +424,6 @@ function GaussianBlur(mat, options) end
440
424
  **示例:**
441
425
 
442
426
  ```lua
443
- local cv = require("cv")
444
427
  local g = cv.GaussianBlur(src, { ksize = 5, sigmaX = 1.5 })
445
428
  local m = cv.medianBlur(src, { ksize = 5 })
446
429
  local b = cv.bilateralFilter(src, { d = 9, sigmaColor = 75, sigmaSpace = 75 })
@@ -467,7 +450,6 @@ function Canny(mat, options) end
467
450
  **示例:**
468
451
 
469
452
  ```lua
470
- local cv = require("cv")
471
453
  local edges = cv.Canny(gray, { threshold1 = 50, threshold2 = 150 })
472
454
  local sx = cv.Sobel(gray, { dx = 1, dy = 0, ksize = 3 })
473
455
  local histEq = cv.equalizeHist(gray)
@@ -487,7 +469,6 @@ function resize(mat, options) end
487
469
  **示例:**
488
470
 
489
471
  ```lua
490
- local cv = require("cv")
491
472
  local small = cv.resize(src, { width = 360, height = 640 })
492
473
  local half = cv.resize(src, { fx = 0.5, fy = 0.5, interpolation = cv.INTER_AREA })
493
474
  ```
@@ -508,7 +489,6 @@ function crop(mat, options) end
508
489
  **示例:**
509
490
 
510
491
  ```lua
511
- local cv = require("cv")
512
492
  local roi = cv.crop(src, { x = 10, y = 10, ex = 110, ey = 110 })
513
493
  ```
514
494
 
@@ -532,7 +512,6 @@ function getRotationMatrix2D(options) end
532
512
  **示例:**
533
513
 
534
514
  ```lua
535
- local cv = require("cv")
536
515
  local M = cv.getRotationMatrix2D({ center = { x = 100, y = 100 }, angle = 30, scale = 1 })
537
516
  local out = cv.warpAffine(src, { M, width = 200, height = 200 })
538
517
  cv.release(M)
@@ -555,7 +534,6 @@ function rectangle(mat, options) end
555
534
  **示例:**
556
535
 
557
536
  ```lua
558
- local cv = require("cv")
559
537
  cv.rectangle(src, {
560
538
  pt1 = { x = 10, y = 10 },
561
539
  pt2 = { x = 100, y = 80 },
@@ -588,7 +566,6 @@ function fillPoly(mat, options) end
588
566
  **示例:**
589
567
 
590
568
  ```lua
591
- local cv = require("cv")
592
569
  cv.polylines(src, {
593
570
  pts = { { x = 0, y = 0 }, { x = 100, y = 0 }, { x = 100, y = 80 }, { x = 0, y = 80 } },
594
571
  isClosed = true,
@@ -622,7 +599,6 @@ function matchTemplate(image, templ, methodOrOptions) end
622
599
  **示例:**
623
600
 
624
601
  ```lua
625
- local cv = require("cv")
626
602
  local loc = cv.matchTemplateLoc(src, templ, { method = cv.TM_CCOEFF_NORMED })
627
603
  print(string.format("best=(%s,%s) max=%s", loc.x, loc.y, loc.maxVal))
628
604
  cv.rectangle(src, {
@@ -655,7 +631,6 @@ function findContours(mat, options) end
655
631
  **示例:**
656
632
 
657
633
  ```lua
658
- local cv = require("cv")
659
634
  local ret = cv.findContours(bin, { mode = cv.RETR_TREE, method = cv.CHAIN_APPROX_SIMPLE })
660
635
  print("count=" .. tostring(#ret.contours))
661
636
  ```
@@ -671,7 +646,6 @@ function boundingRect(matOrPoints) end
671
646
  **示例:**
672
647
 
673
648
  ```lua
674
- local cv = require("cv")
675
649
  for _, c in ipairs(contours) do
676
650
  local area = cv.contourArea(c)
677
651
  if (area < 100) continue
@@ -1,5 +1,7 @@
1
1
  # PaddleOCR 模块 (PaddleOCR)
2
2
 
3
+ 模块表是内置全局 `paddleocr`,直接调用即可。不要 `require` 宿主模块。
4
+
3
5
  PaddleOCR 模块基于百度飞桨 PaddleOCR 技术,提供强大的光学字符识别(OCR)功能,支持中英文文本识别,可用于屏幕截图、图片文件等多种输入源的文字识别。
4
6
 
5
7
  ## 功能概览
@@ -77,7 +79,6 @@ function loadModel(modelId, useGpu) end
77
79
  **示例:**
78
80
 
79
81
  ```lua
80
- local paddleocr = require("paddleocr")
81
82
  paddleocr.loadModel("ppocr-v6-tiny", false)
82
83
  local loaded = paddleocr.loadModel("ppocr-v6-small", false)
83
84
  print("PP-OCRv6 small 加载结果: " .. tostring(loaded))
@@ -108,7 +109,6 @@ function setMaxSideLen(maxSideLen) end
108
109
  **示例:**
109
110
 
110
111
  ```lua
111
- local paddleocr = require("paddleocr")
112
112
  paddleocr.setMaxSideLen(960)
113
113
  ```
114
114
 
@@ -149,8 +149,6 @@ function recognizeAbs(input, x, y, ex, ey, confidenceThreshold) end
149
149
  **示例:**
150
150
 
151
151
  ```lua
152
- local paddleocr = require("paddleocr")
153
- local action = require("action")
154
152
  local absResults = paddleocr.recognizeAbs("screen", 100, 100, 500, 300)
155
153
  if #absResults > 0 then
156
154
  action.click(absResults[1].centerX, absResults[1].centerY)
@@ -196,8 +194,6 @@ function findTextAbs(input, targets, x, y, ex, ey, confidenceThreshold, exactMat
196
194
  **示例:**
197
195
 
198
196
  ```lua
199
- local paddleocr = require("paddleocr")
200
- local action = require("action")
201
197
  local absHits = paddleocr.findTextAbs("screen", { "确定" }, 100, 100, 500, 400, 0.6, false)
202
198
  if #absHits > 0 then
203
199
  action.click(absHits[1].centerX, absHits[1].centerY)
@@ -215,7 +211,6 @@ function free() end
215
211
  **示例:**
216
212
 
217
213
  ```lua
218
- local paddleocr = require("paddleocr")
219
214
 
220
215
  -- 使用完毕后释放资源
221
216
  paddleocr.free()
@@ -1,5 +1,7 @@
1
1
  # 悬浮窗模块 (PIP)
2
2
 
3
+ 模块表是内置全局 `pip`,直接调用即可。不要 `require` 宿主模块。
4
+
3
5
  悬浮窗模块提供 iOS 画中画(Picture in Picture)悬浮窗能力,可用于显示脚本日志、保活提示或脚本自定义文本。
4
6
 
5
7
  ## 功能特性
@@ -31,7 +33,6 @@ function isPipActive() end
31
33
  **示例:**
32
34
 
33
35
  ```lua
34
- local pip = require("pip")
35
36
  local isActive = pip.isPipActive()
36
37
  if isActive then
37
38
  print("悬浮窗当前已打开")
@@ -56,7 +57,6 @@ function switchToLogMode() end
56
57
  **示例:**
57
58
 
58
59
  ```lua
59
- local pip = require("pip")
60
60
  takeMeToFront()
61
61
  local success = pip.switchToLogMode()
62
62
  pip.setLogFontSize(10)
@@ -80,7 +80,6 @@ function switchToKeepAliveMode() end
80
80
  **示例:**
81
81
 
82
82
  ```lua
83
- local pip = require("pip")
84
83
  takeMeToFront()
85
84
  local success = pip.switchToKeepAliveMode()
86
85
  ```
@@ -103,7 +102,6 @@ function switchToCustomMode() end
103
102
  **示例:**
104
103
 
105
104
  ```lua
106
- local pip = require("pip")
107
105
  takeMeToFront()
108
106
  pip.switchToCustomMode()
109
107
  pip.setCustomText("运行中\n进度 1/3")
@@ -129,7 +127,6 @@ function closeWindow() end
129
127
  **示例:**
130
128
 
131
129
  ```lua
132
- local pip = require("pip")
133
130
  local success = pip.closeWindow()
134
131
  ```
135
132
 
@@ -160,7 +157,6 @@ function setContentSize(width, height) end
160
157
  **示例:**
161
158
 
162
159
  ```lua
163
- local pip = require("pip")
164
160
  pip.switchToLogMode()
165
161
  pip.setContentSize(280, 120)
166
162
 
@@ -193,7 +189,6 @@ function setLogFontSize(fontSize) end
193
189
  **示例:**
194
190
 
195
191
  ```lua
196
- local pip = require("pip")
197
192
  pip.setLogFontSize(10)
198
193
  pip.switchToLogMode()
199
194
  ```
@@ -223,7 +218,6 @@ function setCustomText(text) end
223
218
  **示例:**
224
219
 
225
220
  ```lua
226
- local pip = require("pip")
227
221
  pip.setCustomText("运行中\n进度 1/3")
228
222
  pip.switchToCustomMode()
229
223
  ```
@@ -253,7 +247,6 @@ function setCustomTextColor(color) end
253
247
  **示例:**
254
248
 
255
249
  ```lua
256
- local pip = require("pip")
257
250
  pip.setCustomTextColor("#34c759")
258
251
  pip.switchToCustomMode()
259
252
  ```
@@ -283,7 +276,6 @@ function setCustomTextSize(fontSize) end
283
276
  **示例:**
284
277
 
285
278
  ```lua
286
- local pip = require("pip")
287
279
  pip.setCustomTextSize(18)
288
280
  pip.switchToCustomMode()
289
281
  ```
@@ -313,7 +305,6 @@ function setCustomBackgroundColor(color) end
313
305
  **示例:**
314
306
 
315
307
  ```lua
316
- local pip = require("pip")
317
308
  pip.setCustomBackgroundColor("#111111")
318
309
  pip.switchToCustomMode()
319
310
  ```
@@ -321,7 +312,6 @@ pip.switchToCustomMode()
321
312
  ## 完整使用示例
322
313
 
323
314
  ```lua
324
- local pip = require("pip")
325
315
  takeMeToFront()
326
316
 
327
317
  pip.switchToLogMode()