ms-vite-plugin 1.4.58 → 1.4.60
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/luaBundle.js +1 -1
- package/dist/luaObfuscator/addVararg.d.ts +2 -0
- package/dist/luaObfuscator/addVararg.js +1 -0
- package/dist/luaObfuscator/antiTamper.d.ts +2 -0
- package/dist/luaObfuscator/antiTamper.js +26 -0
- package/dist/luaObfuscator/ast.d.ts +191 -0
- package/dist/luaObfuscator/ast.js +1 -0
- package/dist/luaObfuscator/cipher.d.ts +10 -0
- package/dist/luaObfuscator/cipher.js +28 -0
- package/dist/luaObfuscator/compiler.d.ts +31 -0
- package/dist/luaObfuscator/compiler.js +1 -0
- package/dist/luaObfuscator/constantArray.d.ts +5 -0
- package/dist/luaObfuscator/constantArray.js +1 -0
- package/dist/luaObfuscator/flatten.d.ts +2 -0
- package/dist/luaObfuscator/flatten.js +1 -0
- package/dist/luaObfuscator/index.d.ts +6 -0
- package/dist/luaObfuscator/index.js +1 -0
- package/dist/luaObfuscator/lexer.d.ts +14 -0
- package/dist/luaObfuscator/lexer.js +10 -0
- package/dist/luaObfuscator/minify.d.ts +3 -0
- package/dist/luaObfuscator/minify.js +1 -0
- package/dist/luaObfuscator/numbers.d.ts +2 -0
- package/dist/luaObfuscator/numbers.js +1 -0
- package/dist/luaObfuscator/opcodes.d.ts +3 -0
- package/dist/luaObfuscator/opcodes.js +1 -0
- package/dist/luaObfuscator/parser.d.ts +8 -0
- package/dist/luaObfuscator/parser.js +1 -0
- package/dist/luaObfuscator/rename.d.ts +3 -0
- package/dist/luaObfuscator/rename.js +1 -0
- package/dist/luaObfuscator/reserved.d.ts +5 -0
- package/dist/luaObfuscator/reserved.js +1 -0
- package/dist/luaObfuscator/scope.d.ts +11 -0
- package/dist/luaObfuscator/scope.js +1 -0
- package/dist/luaObfuscator/selftest.d.ts +1 -0
- package/dist/luaObfuscator/selftest.js +39 -0
- package/dist/luaObfuscator/splitStrings.d.ts +2 -0
- package/dist/luaObfuscator/splitStrings.js +1 -0
- package/dist/luaObfuscator/strings.d.ts +4 -0
- package/dist/luaObfuscator/strings.js +1 -0
- package/dist/luaObfuscator/visit.d.ts +5 -0
- package/dist/luaObfuscator/visit.js +1 -0
- package/dist/luaObfuscator/vmEmit.d.ts +2 -0
- package/dist/luaObfuscator/vmEmit.js +281 -0
- package/dist/luaObfuscator/wrapInFunction.d.ts +2 -0
- package/dist/luaObfuscator/wrapInFunction.js +1 -0
- package/docs/AGENTS.md +1 -1
- package/docs/SKILL.md +1 -1
- package/docs/api/media.md +22 -0
- package/docs/apicn/media.md +22 -0
- package/docs/apilua/action.md +2 -27
- package/docs/apilua/appleocr.md +41 -126
- package/docs/apilua/cloud.md +2 -6
- package/docs/apilua/config.md +2 -6
- package/docs/apilua/cryptoUtils.md +2 -7
- package/docs/apilua/device.md +2 -19
- package/docs/apilua/dotocr.md +2 -5
- package/docs/apilua/file.md +2 -17
- package/docs/apilua/global.md +1 -1
- package/docs/apilua/hid.md +2 -44
- package/docs/apilua/hotUpdate.md +2 -3
- package/docs/apilua/http.md +2 -7
- package/docs/apilua/image.md +16 -107
- package/docs/apilua/ime.md +2 -10
- package/docs/apilua/logger.md +3 -9
- package/docs/apilua/media.md +2 -9
- package/docs/apilua/mysql.md +2 -10
- package/docs/apilua/netCard.md +2 -6
- package/docs/apilua/node.md +2 -3
- package/docs/apilua/opencv.md +4 -30
- package/docs/apilua/paddleocr.md +20 -126
- package/docs/apilua/pip.md +2 -12
- package/docs/apilua/system.md +2 -40
- package/docs/apilua/tomatoocr.md +2 -16
- package/docs/apilua/tts.md +2 -9
- package/docs/apilua/ui.md +3 -22
- package/docs/apilua/utils.md +2 -9
- package/docs/apilua/yolo.md +25 -119
- package/docs/apilua/yolocls.md +2 -5
- package/docs/apipython/media.md +20 -0
- package/docs/mcp-agent-description.md +1 -1
- package/docs/quick/vscode/createProject.md +1 -1
- package/docs/quick/vscode/packProject.md +1 -1
- package/package.json +1 -1
package/docs/apilua/yolo.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# YOLO 目标检测模块 (YOLO)
|
|
2
2
|
|
|
3
|
+
模块表是内置全局 `yolo`,直接调用即可。不要 `require` 宿主模块。
|
|
4
|
+
|
|
3
5
|
YOLO 模块基于 YOLOV8/YOLO11/YOLO26 算法和 NCNN 框架,提供高性能的实时目标检测功能,支持多种输入源和自定义模型,可用于物体识别、位置定位等应用场景。
|
|
4
6
|
|
|
5
7
|
## 数据标注
|
|
@@ -8,7 +10,7 @@ YOLO 模块基于 YOLOV8/YOLO11/YOLO26 算法和 NCNN 框架,提供高性能
|
|
|
8
10
|
|
|
9
11
|
## 功能概览
|
|
10
12
|
|
|
11
|
-
- **模型管理**:
|
|
13
|
+
- **模型管理**: YOLOV8/YOLOV11/YOLOV26 模型加载和资源管理
|
|
12
14
|
- **目标检测**: 实时物体检测和位置识别
|
|
13
15
|
- **多源输入**: 支持屏幕截图、图片文件、URL 等多种输入源
|
|
14
16
|
- **结果处理**: 完整的检测结果信息和坐标数据
|
|
@@ -79,7 +81,7 @@ function load(paramPath, binPath, nc, version, useGpu) end
|
|
|
79
81
|
| `paramPath` | string | 是 | | NCNN 模型的 param 文件绝对路径 |
|
|
80
82
|
| `binPath` | string | 是 | | NCNN 模型的 bin 文件绝对路径 |
|
|
81
83
|
| `nc` | number | 否 | 0 | 模型的标签数量;传 `0` 或省略时根据模型输出自动推断,显式传入但不匹配时检测返回空数组 |
|
|
82
|
-
| `version` | number | 否 |
|
|
84
|
+
| `version` | number | 否 | 11 | YOLO 模型版本号(仅支持 8/11/26) |
|
|
83
85
|
| `useGpu` | boolean | 否 | false | 是否启用 GPU 加速 |
|
|
84
86
|
|
|
85
87
|
**返回值:**
|
|
@@ -91,7 +93,6 @@ function load(paramPath, binPath, nc, version, useGpu) end
|
|
|
91
93
|
**示例:**
|
|
92
94
|
|
|
93
95
|
```lua
|
|
94
|
-
local yolo = require("yolo")
|
|
95
96
|
local modelId = yolo.load(
|
|
96
97
|
"yolov8n_ncnn_model/model.ncnn.param",
|
|
97
98
|
"yolov8n_ncnn_model/model.ncnn.bin",
|
|
@@ -101,90 +102,56 @@ local modelId = yolo.load(
|
|
|
101
102
|
)
|
|
102
103
|
```
|
|
103
104
|
|
|
104
|
-
#### loadV11 - 加载 YOLO 模型。
|
|
105
|
-
|
|
106
|
-
加载模型是使用目标检测功能的前提。兼容 YOLOV8 / YOLO11 的 NCNN 模型。
|
|
107
|
-
|
|
108
|
-
```lua
|
|
109
|
-
---@param paramPath string
|
|
110
|
-
---@param binPath string
|
|
111
|
-
---@param nc number?
|
|
112
|
-
---@param useGpu boolean?
|
|
113
|
-
---@return string|nil
|
|
114
|
-
function loadV11(paramPath, binPath, nc, useGpu) end
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
**参数:**
|
|
118
|
-
|
|
119
|
-
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
120
|
-
| ----------- | ------- | -------- | ------ | --------------------------------------------------------------------------- |
|
|
121
|
-
| `paramPath` | string | 是 | | NCNN 模型的 param 文件绝对路径 |
|
|
122
|
-
| `binPath` | string | 是 | | NCNN 模型的 bin 文件绝对路径 |
|
|
123
|
-
| `nc` | number | 否 | 0 | 模型的标签数量;传 `0` 或省略时根据模型输出自动推断,显式传入但不匹配时检测返回空数组 |
|
|
124
|
-
| `useGpu` | boolean | 否 | false | 是否启用 GPU 加速 |
|
|
125
|
-
|
|
126
|
-
**返回值:**
|
|
127
|
-
|
|
128
|
-
| 类型 | 描述 |
|
|
129
|
-
| --------------- | ----------------------------------------- |
|
|
130
|
-
| `string \| nil` | 加载成功返回模型 ID 字符串,失败返回 nil |
|
|
131
|
-
|
|
132
|
-
**示例:**
|
|
133
|
-
|
|
134
|
-
```lua
|
|
135
|
-
local yolo = require("yolo")
|
|
136
|
-
|
|
137
|
-
-- 加载 YOLO 模型
|
|
138
|
-
local modelId = yolo.loadV11(
|
|
139
|
-
"yolo11n_ncnn_model/model.ncnn.param",
|
|
140
|
-
"yolo11n_ncnn_model/model.ncnn.bin",
|
|
141
|
-
0,
|
|
142
|
-
false
|
|
143
|
-
)
|
|
144
|
-
```
|
|
145
|
-
|
|
146
105
|
### 目标检测
|
|
147
106
|
|
|
148
|
-
####
|
|
107
|
+
#### detectAbs - 对指定区域执行目标检测,并将结果坐标映射为原图/全屏绝对坐标。
|
|
149
108
|
|
|
150
|
-
|
|
109
|
+
执行目标检测,识别图像中的物体并返回检测结果。传入裁剪区域时,结果坐标会映射回原图或全屏坐标,可直接用于点击;全屏检测时 `x/y/ex/ey` 传 `0`。
|
|
151
110
|
|
|
152
111
|
```lua
|
|
153
112
|
---@param modelId string
|
|
154
113
|
---@param img string
|
|
114
|
+
---@param x number?
|
|
115
|
+
---@param y number?
|
|
116
|
+
---@param ex number?
|
|
117
|
+
---@param ey number?
|
|
155
118
|
---@param targetSize number?
|
|
156
119
|
---@param threshold number?
|
|
157
120
|
---@param nmsThreshold number?
|
|
158
121
|
---@return YoloResult[]
|
|
159
|
-
function
|
|
122
|
+
function detectAbs(modelId, img, x, y, ex, ey, targetSize, threshold, nmsThreshold) end
|
|
160
123
|
```
|
|
161
124
|
|
|
162
125
|
**参数:**
|
|
163
126
|
|
|
164
127
|
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
165
128
|
| -------------- | ------ | -------- | ------ | ------------------------------------------------------------------ |
|
|
166
|
-
| `modelId` | string | 是 | | 模型 ID,通过 `
|
|
129
|
+
| `modelId` | string | 是 | | 模型 ID,通过 `load` 获取 |
|
|
167
130
|
| `img` | string | 是 | | 图像输入源,支持 `"screen"`、图片文件路径、HTTP 图片地址或 imageId |
|
|
131
|
+
| `x` | number | 否 | 0 | 裁剪区域左上角 x 坐标;全屏检测传 0 |
|
|
132
|
+
| `y` | number | 否 | 0 | 裁剪区域左上角 y 坐标;全屏检测传 0 |
|
|
133
|
+
| `ex` | number | 否 | 0 | 裁剪区域右下角 x 坐标;全屏检测传 0 |
|
|
134
|
+
| `ey` | number | 否 | 0 | 裁剪区域右下角 y 坐标;全屏检测传 0 |
|
|
168
135
|
| `targetSize` | number | 否 | 640 | 模型推理输入边长,通常为 640(与模型训练时一致) |
|
|
169
136
|
| `threshold` | number | 否 | 0.4 | 置信度阈值,低于此值的检测结果会被过滤 |
|
|
170
137
|
| `nmsThreshold` | number | 否 | 0.5 | 非极大值抑制阈值,用于去除重叠检测框 |
|
|
171
138
|
|
|
172
139
|
**返回值:**
|
|
173
140
|
|
|
174
|
-
| 类型 | 描述
|
|
175
|
-
| -------------- |
|
|
176
|
-
| `YoloResult[]` |
|
|
141
|
+
| 类型 | 描述 |
|
|
142
|
+
| -------------- | -------------------------------------- |
|
|
143
|
+
| `YoloResult[]` | 检测结果数组,坐标为原图或全屏绝对坐标 |
|
|
177
144
|
|
|
178
145
|
**示例:**
|
|
179
146
|
|
|
180
147
|
```lua
|
|
181
|
-
local yolo = require("yolo")
|
|
182
148
|
|
|
183
149
|
-- 首先加载模型
|
|
184
|
-
local modelId = yolo.
|
|
150
|
+
local modelId = yolo.load(
|
|
185
151
|
"/yolo11n_ncnn_model/model.ncnn.param",
|
|
186
152
|
"/yolo11n_ncnn_model/model.ncnn.bin",
|
|
187
153
|
0,
|
|
154
|
+
11,
|
|
188
155
|
false
|
|
189
156
|
)
|
|
190
157
|
|
|
@@ -194,7 +161,7 @@ if not modelId then
|
|
|
194
161
|
end
|
|
195
162
|
|
|
196
163
|
-- 检测当前屏幕
|
|
197
|
-
local screenResults = yolo.
|
|
164
|
+
local screenResults = yolo.detectAbs(modelId, "screen", 0, 0, 0, 0, 640, 0.4, 0.5)
|
|
198
165
|
print("屏幕检测到 " .. tostring(#screenResults) .. " 个物体")
|
|
199
166
|
|
|
200
167
|
for index, result in ipairs(screenResults) do
|
|
@@ -206,80 +173,21 @@ for index, result in ipairs(screenResults) do
|
|
|
206
173
|
print(" 尺寸: " .. tostring(result.width) .. " x " .. tostring(result.height))
|
|
207
174
|
end
|
|
208
175
|
|
|
209
|
-
--
|
|
210
|
-
local imageResults = yolo.
|
|
176
|
+
-- 检测图片文件的指定区域
|
|
177
|
+
local imageResults = yolo.detectAbs(modelId, "/path/to/test_image.jpg", 100, 100, 500, 400, 640, 0.3, 0.5)
|
|
211
178
|
if #imageResults > 0 then
|
|
212
179
|
print("图片中检测到 " .. tostring(#imageResults) .. " 个物体")
|
|
213
|
-
for _, result in ipairs(imageResults) do
|
|
214
|
-
print("检测到类别 " .. tostring(result.classId) .. ",置信度: " .. tostring(result.confidence))
|
|
215
|
-
end
|
|
216
180
|
else
|
|
217
181
|
print("图片中未检测到任何物体")
|
|
218
182
|
end
|
|
219
183
|
|
|
220
184
|
-- 检测网络图片
|
|
221
|
-
local urlResults = yolo.
|
|
185
|
+
local urlResults = yolo.detectAbs(modelId, "https://example.com/test_image.jpg", 0, 0, 0, 0, 640, 0.5, 0.4)
|
|
222
186
|
print("网络图片检测结果: " .. tostring(#urlResults) .. " 个物体")
|
|
223
187
|
|
|
224
188
|
yolo.free(modelId)
|
|
225
189
|
```
|
|
226
190
|
|
|
227
|
-
#### detectAbs - 对指定区域执行目标检测,并将结果坐标映射为原图/全屏绝对坐标。
|
|
228
|
-
|
|
229
|
-
传入裁剪区域时,结果坐标会映射回原图或全屏坐标,可直接用于点击;全屏检测时 `x/y/ex/ey` 传 `0`。
|
|
230
|
-
|
|
231
|
-
```lua
|
|
232
|
-
---@param modelId string
|
|
233
|
-
---@param img string
|
|
234
|
-
---@param x number
|
|
235
|
-
---@param y number
|
|
236
|
-
---@param ex number
|
|
237
|
-
---@param ey number
|
|
238
|
-
---@param targetSize number?
|
|
239
|
-
---@param threshold number?
|
|
240
|
-
---@param nmsThreshold number?
|
|
241
|
-
---@return YoloResult[]
|
|
242
|
-
function detectAbs(modelId, img, x, y, ex, ey, targetSize, threshold, nmsThreshold) end
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
**参数:**
|
|
246
|
-
|
|
247
|
-
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
248
|
-
| -------------- | ------ | -------- | ------ | ------------------------------------------------------------------ |
|
|
249
|
-
| `modelId` | string | 是 | | 模型 ID,通过 `load` 或 `loadV11` 获取 |
|
|
250
|
-
| `img` | string | 是 | | 图像输入源,支持 `"screen"`、图片文件路径、HTTP 图片地址或 imageId |
|
|
251
|
-
| `x` | number | 是 | | 裁剪区域左上角 x 坐标;全屏检测传 0 |
|
|
252
|
-
| `y` | number | 是 | | 裁剪区域左上角 y 坐标;全屏检测传 0 |
|
|
253
|
-
| `ex` | number | 是 | | 裁剪区域右下角 x 坐标;全屏检测传 0 |
|
|
254
|
-
| `ey` | number | 是 | | 裁剪区域右下角 y 坐标;全屏检测传 0 |
|
|
255
|
-
| `targetSize` | number | 否 | 640 | 模型推理输入边长,通常为 640(与模型训练时一致) |
|
|
256
|
-
| `threshold` | number | 否 | 0.4 | 置信度阈值,低于此值的检测结果会被过滤 |
|
|
257
|
-
| `nmsThreshold` | number | 否 | 0.5 | 非极大值抑制阈值,用于去除重叠检测框 |
|
|
258
|
-
|
|
259
|
-
**返回值:**
|
|
260
|
-
|
|
261
|
-
| 类型 | 描述 |
|
|
262
|
-
| -------------- | -------------------------------------- |
|
|
263
|
-
| `YoloResult[]` | 检测结果数组,坐标为原图或全屏绝对坐标 |
|
|
264
|
-
|
|
265
|
-
**示例:**
|
|
266
|
-
|
|
267
|
-
```lua
|
|
268
|
-
local yolo = require("yolo")
|
|
269
|
-
local modelId = yolo.load(
|
|
270
|
-
"/yolo11n_ncnn_model/model.ncnn.param",
|
|
271
|
-
"/yolo11n_ncnn_model/model.ncnn.bin",
|
|
272
|
-
0,
|
|
273
|
-
11,
|
|
274
|
-
false
|
|
275
|
-
)
|
|
276
|
-
local results = yolo.detectAbs(modelId, "screen", 0, 0, 0, 0, 640, 0.4, 0.5)
|
|
277
|
-
if #results > 0 then
|
|
278
|
-
print(results[1].classId, results[1].centerX, results[1].centerY)
|
|
279
|
-
end
|
|
280
|
-
yolo.free(modelId)
|
|
281
|
-
```
|
|
282
|
-
|
|
283
191
|
### 资源管理
|
|
284
192
|
|
|
285
193
|
#### free - 释放指定模型的资源。
|
|
@@ -298,7 +206,6 @@ function free(modelId) end
|
|
|
298
206
|
**示例:**
|
|
299
207
|
|
|
300
208
|
```lua
|
|
301
|
-
local yolo = require("yolo")
|
|
302
209
|
|
|
303
210
|
-- 释放特定模型
|
|
304
211
|
if modelId then
|
|
@@ -316,7 +223,6 @@ function freeAll() end
|
|
|
316
223
|
**示例:**
|
|
317
224
|
|
|
318
225
|
```lua
|
|
319
|
-
local yolo = require("yolo")
|
|
320
226
|
|
|
321
227
|
-- 释放所有模型资源
|
|
322
228
|
yolo.freeAll()
|
package/docs/apilua/yolocls.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# YOLO 图像分类模块 (YoloCls)
|
|
2
2
|
|
|
3
|
+
模块表是内置全局 `yolocls`,直接调用即可。不要 `require` 宿主模块。
|
|
4
|
+
|
|
3
5
|
YOLO 图像分类模块基于 YOLOv8-cls / YOLO11-cls / YOLO26-cls 分类模型和 NCNN 框架,提供整图分类、区域分类和模型资源管理能力。
|
|
4
6
|
|
|
5
7
|
## 功能概览
|
|
@@ -82,7 +84,6 @@ function load(paramPath, binPath, nc, useGpu) end
|
|
|
82
84
|
**示例:**
|
|
83
85
|
|
|
84
86
|
```lua
|
|
85
|
-
local yolocls = require("yolocls")
|
|
86
87
|
-- 模型文件通常放在 res 目录
|
|
87
88
|
local modelId = yolocls.load(
|
|
88
89
|
"yolo11n_cls_ncnn_model/model.ncnn.param",
|
|
@@ -129,7 +130,6 @@ function classify(modelId, img, targetSize) end
|
|
|
129
130
|
**示例:**
|
|
130
131
|
|
|
131
132
|
```lua
|
|
132
|
-
local yolocls = require("yolocls")
|
|
133
133
|
local modelId = yolocls.load(
|
|
134
134
|
"yolo11n_cls_ncnn_model/model.ncnn.param",
|
|
135
135
|
"yolo11n_cls_ncnn_model/model.ncnn.bin",
|
|
@@ -206,7 +206,6 @@ function classifyRegion(modelId, img, x, y, ex, ey, targetSize) end
|
|
|
206
206
|
**示例:**
|
|
207
207
|
|
|
208
208
|
```lua
|
|
209
|
-
local yolocls = require("yolocls")
|
|
210
209
|
local regionProbs = yolocls.classifyRegion(
|
|
211
210
|
modelId,
|
|
212
211
|
"screen",
|
|
@@ -244,7 +243,6 @@ function free(modelId) end
|
|
|
244
243
|
**示例:**
|
|
245
244
|
|
|
246
245
|
```lua
|
|
247
|
-
local yolocls = require("yolocls")
|
|
248
246
|
if modelId then
|
|
249
247
|
yolocls.free(modelId)
|
|
250
248
|
print("YOLO 分类模型 " .. tostring(modelId) .. " 资源已释放")
|
|
@@ -262,7 +260,6 @@ function freeAll() end
|
|
|
262
260
|
**示例:**
|
|
263
261
|
|
|
264
262
|
```lua
|
|
265
|
-
local yolocls = require("yolocls")
|
|
266
263
|
yolocls.freeAll()
|
|
267
264
|
print("所有 YOLO 分类模型资源已释放")
|
|
268
265
|
```
|
package/docs/apipython/media.md
CHANGED
|
@@ -218,3 +218,23 @@ print("开始播放音频...")
|
|
|
218
218
|
played = media.playMp3WaitEnd("/var/mobile/Media/notification.mp3")
|
|
219
219
|
print("音频播放完成" if played else "播放失败或被系统音频中断")
|
|
220
220
|
```
|
|
221
|
+
|
|
222
|
+
#### isMp3Playing - 当前是否正在播放 MP3。
|
|
223
|
+
|
|
224
|
+
```python
|
|
225
|
+
def isMp3Playing() -> bool
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**返回值:**
|
|
229
|
+
|
|
230
|
+
| 类型 | 描述 |
|
|
231
|
+
| ------ | -------------------------------- |
|
|
232
|
+
| `bool` | 正在播放返回 `True`,否则 `False` |
|
|
233
|
+
|
|
234
|
+
**示例:**
|
|
235
|
+
|
|
236
|
+
```python
|
|
237
|
+
from kuaijs import media
|
|
238
|
+
|
|
239
|
+
print("正在播放" if media.isMp3Playing() else "未播放")
|
|
240
|
+
```
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
- 不要把快点JS Python 脚本当成普通 CPython 脚本。
|
|
16
16
|
- 不要对快点JS Python 脚本运行 `python -m py_compile`、`py_compile` 或类似 CPython 编译校验。
|
|
17
17
|
- 不要创建、保留或同步 `__pycache__`、`.pyc` 作为项目改动。
|
|
18
|
-
- Lua
|
|
18
|
+
- Lua 宿主模块是内置全局表(如 `device`),不要 `require`。用户模块请用 `require("foo")` / `require("lib.bar")`。Release 打包默认会把 `scripts` 下除 `main.lua` 外的用户 `.lua` 合并进单个 `main.lua`;不要用 `dofile` / `loadfile` 按路径加载这些文件。
|
|
19
19
|
- 文档未确认的能力必须明确说明无法确认,不要凭经验补全。
|
|
20
20
|
|
|
21
21
|
## 允许的执行方式
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
- 选择一个文件目录,输入项目名称,回车创建项目
|
|
18
18
|
- 快点 JS-JS 引擎使用 `ES6` 语法,支持 import 别的 js 文件
|
|
19
19
|
- 快点 JS-Python 引擎使用 `Python3.14`, 打包需要安装 `Python3.14`
|
|
20
|
-
- 快点 JS-Lua 引擎入口为 `scripts/main.lua
|
|
20
|
+
- 快点 JS-Lua 引擎入口为 `scripts/main.lua`,宿主模块是内置全局表(如 `device`),不要 `require`;全局函数如 `Sleep` 可直接调用
|
|
21
21
|
- 项目创建完成后,会自动打开项目,项目结构如下:
|
|
22
22
|
|
|
23
23
|
### 项目结构
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
- 输入在开发者后台->网络验证管理->软件列表 中获取的 `AppId` 字段
|
|
12
12
|
- JS / Lua 项目可编辑根目录 `obfuscator.json` 决定打包行为;Python 打包编译为 `.pyc`,没有该配置
|
|
13
13
|
- JS:Vite 把入口打成单文件后再按 `enabled` 混淆
|
|
14
|
-
- Lua:Release 默认把 `scripts` 下用户模块合并为单个 `scripts/main.lua`(`bundle`,缺省 `true`),再按 `enabled` / `preset` 用 Prometheus 混淆该文件。`enabled: false`
|
|
14
|
+
- Lua:Release 默认把 `scripts` 下用户模块合并为单个 `scripts/main.lua`(`bundle`,缺省 `true`),再按 `enabled` / `preset` 用 Prometheus 混淆该文件。`enabled: false` 时仍可合并。宿主全局模块(如 `device`)不受影响。不要用 `dofile` / `loadfile` 去读会被删掉的其它 `.lua`
|
|
15
15
|
- 注意:上传到快点JS热更新服务后,可通过开发者后台->网络验证管理->软件列表的软件编号进行分发
|
|
16
16
|
- 注意:快点JS上可通过软件面板,输入软件编号进行搜索加载应用
|
|
17
17
|
|