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.
- package/dist/build.js +6 -0
- package/dist/cli.js +91 -1
- package/dist/mcp/device-config.d.ts +55 -0
- package/dist/mcp/device-config.js +183 -0
- package/dist/mcp/docs-service.d.ts +65 -0
- package/dist/mcp/docs-service.js +168 -0
- package/dist/mcp/project.d.ts +16 -0
- package/dist/mcp/project.js +74 -0
- package/dist/mcp/tools.d.ts +18 -0
- package/dist/mcp/tools.js +825 -0
- package/dist/mcp/types.d.ts +32 -0
- package/dist/mcp/types.js +11 -0
- package/dist/mcp-server.d.ts +2 -0
- package/dist/mcp-server.js +86 -0
- package/dist/project.d.ts +89 -0
- package/dist/project.js +306 -0
- package/dist/version.d.ts +12 -0
- package/dist/version.js +63 -0
- package/docs/api/action.md +922 -0
- package/docs/api/appleocr.md +229 -0
- package/docs/api/config.md +122 -0
- package/docs/api/cryptoUtils.md +232 -0
- package/docs/api/device.md +374 -0
- package/docs/api/file.md +516 -0
- package/docs/api/global.md +617 -0
- package/docs/api/hid.md +1032 -0
- package/docs/api/hotUpdate.md +166 -0
- package/docs/api/http.md +548 -0
- package/docs/api/image.md +907 -0
- package/docs/api/ime.md +290 -0
- package/docs/api/logger.md +324 -0
- package/docs/api/media.md +248 -0
- package/docs/api/mysql.md +441 -0
- package/docs/api/netCard.md +200 -0
- package/docs/api/node.md +353 -0
- package/docs/api/paddleocr.md +246 -0
- package/docs/api/pip.md +242 -0
- package/docs/api/system.md +572 -0
- package/docs/api/thread.md +269 -0
- package/docs/api/tomatoocr.md +425 -0
- package/docs/api/tts.md +334 -0
- package/docs/api/ui.md +947 -0
- package/docs/api/utils.md +265 -0
- package/docs/api/yolo.md +310 -0
- package/docs/apicn/action.md +919 -0
- package/docs/apicn/appleocr.md +233 -0
- package/docs/apicn/config.md +120 -0
- package/docs/apicn/device.md +385 -0
- package/docs/apicn/file.md +511 -0
- package/docs/apicn/global.md +613 -0
- package/docs/apicn/hid.md +1033 -0
- package/docs/apicn/hotUpdate.md +170 -0
- package/docs/apicn/http.md +672 -0
- package/docs/apicn/image.md +924 -0
- package/docs/apicn/ime.md +290 -0
- package/docs/apicn/logger.md +332 -0
- package/docs/apicn/media.md +252 -0
- package/docs/apicn/mysql.md +445 -0
- package/docs/apicn/netCard.md +200 -0
- package/docs/apicn/node.md +362 -0
- package/docs/apicn/paddleocr.md +255 -0
- package/docs/apicn/pip.md +242 -0
- package/docs/apicn/system.md +575 -0
- package/docs/apicn/thread.md +269 -0
- package/docs/apicn/tts.md +338 -0
- package/docs/apicn/ui.md +933 -0
- package/docs/apicn/utils.md +265 -0
- package/docs/apicn/yolo.md +314 -0
- package/docs/apipython/action.md +901 -0
- package/docs/apipython/appleocr.md +226 -0
- package/docs/apipython/config.md +126 -0
- package/docs/apipython/cryptoUtils.md +246 -0
- package/docs/apipython/device.md +365 -0
- package/docs/apipython/file.md +476 -0
- package/docs/apipython/g.md +154 -0
- package/docs/apipython/hid.md +1059 -0
- package/docs/apipython/hotUpdate.md +154 -0
- package/docs/apipython/image.md +938 -0
- package/docs/apipython/ime.md +306 -0
- package/docs/apipython/logger.md +330 -0
- package/docs/apipython/media.md +221 -0
- package/docs/apipython/mysql.md +432 -0
- package/docs/apipython/netCard.md +219 -0
- package/docs/apipython/node.md +331 -0
- package/docs/apipython/overview.md +66 -0
- package/docs/apipython/paddleocr.md +211 -0
- package/docs/apipython/pip.md +231 -0
- package/docs/apipython/system.md +458 -0
- package/docs/apipython/tomatoocr.md +444 -0
- package/docs/apipython/tts.md +331 -0
- package/docs/apipython/ui.md +949 -0
- package/docs/apipython/utils.md +284 -0
- package/docs/apipython/yolo.md +281 -0
- package/package.json +8 -4
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
# 输入法模块 (IME)
|
|
2
|
+
|
|
3
|
+
输入法模块提供了文本输入、剪贴板操作、键盘控制等功能,支持模拟用户的文本输入行为。
|
|
4
|
+
|
|
5
|
+
## 前提条件
|
|
6
|
+
|
|
7
|
+
- 在系统设置中添加 **快点 JS API 键盘**
|
|
8
|
+
- 授予完全访问权限,并切换到 **快点 JS API 键盘**
|
|
9
|
+
- 如果添加了键盘,切换时找不到,请重启机器再试
|
|
10
|
+
- 注意键盘的方法,只有键盘弹出后才能调用
|
|
11
|
+
|
|
12
|
+
## 输入法状态检查
|
|
13
|
+
|
|
14
|
+
### isOk - 检查输入法键盘是否已弹出
|
|
15
|
+
|
|
16
|
+
```python
|
|
17
|
+
def isOk() -> bool
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**返回值:**
|
|
21
|
+
|
|
22
|
+
| 类型 | 描述 |
|
|
23
|
+
| ------ | -------------------- |
|
|
24
|
+
| `bool` | 输入法键盘是否已弹出 |
|
|
25
|
+
|
|
26
|
+
**示例:**
|
|
27
|
+
|
|
28
|
+
```python
|
|
29
|
+
from kuaijs import ime
|
|
30
|
+
|
|
31
|
+
# 检查输入法状态,只有键盘弹出后面的方法才能调用
|
|
32
|
+
if ime.isOk():
|
|
33
|
+
print("输入法键盘已弹出")
|
|
34
|
+
else:
|
|
35
|
+
print("输入法键盘未弹出,请检查设置")
|
|
36
|
+
# 可能需要重新初始化或检查权限
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### autoSwitchApiKeyboard - 自动切换到 API 键盘
|
|
40
|
+
|
|
41
|
+
```python
|
|
42
|
+
def autoSwitchApiKeyboard() -> bool
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**返回值:**
|
|
46
|
+
|
|
47
|
+
| 类型 | 描述 |
|
|
48
|
+
| ------ | ------------------------------------------ |
|
|
49
|
+
| `bool` | 是否成功切换并连接到 API 键盘,成功为 True |
|
|
50
|
+
|
|
51
|
+
- 该方法仅在系统设置中添加了快点JS API键盘 并且已授权完全访问权限时有效。
|
|
52
|
+
- Agent模式下,全面屏机型支持任意输入法切换快点JS API键盘,包括系统键盘和第三方键盘。
|
|
53
|
+
- Agent模式下,非全面屏机型仅支持系统键盘切换到快点JS API键盘,不支持第三方键盘切换。
|
|
54
|
+
- HID模式下,所有机型都能从任意输入法切换到快点JS API键盘,包括系统键盘和第三方键盘。
|
|
55
|
+
|
|
56
|
+
**示例:**
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
from kuaijs import ime
|
|
60
|
+
|
|
61
|
+
# 自动切换到 API 键盘(如未弹出会尝试切换)
|
|
62
|
+
if ime.autoSwitchApiKeyboard():
|
|
63
|
+
print("已切换到 API 键盘")
|
|
64
|
+
else:
|
|
65
|
+
print("切换失败,请检查键盘设置和完全访问权限")
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## 文本获取和清除
|
|
69
|
+
|
|
70
|
+
### getText - 获取当前输入框的文本内容
|
|
71
|
+
|
|
72
|
+
```python
|
|
73
|
+
def getText() -> str
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**返回值:**
|
|
77
|
+
|
|
78
|
+
| 类型 | 描述 |
|
|
79
|
+
| ----- | -------------------- |
|
|
80
|
+
| `str` | 当前输入框的文本内容 |
|
|
81
|
+
|
|
82
|
+
**示例:**
|
|
83
|
+
|
|
84
|
+
```python
|
|
85
|
+
from kuaijs import ime
|
|
86
|
+
|
|
87
|
+
# 获取当前输入框文本
|
|
88
|
+
current_text = ime.getText()
|
|
89
|
+
print(f"当前文本: {current_text}")
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### clearText - 清空当前输入框的所有文本
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
def clearText() -> bool
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**返回值:**
|
|
99
|
+
|
|
100
|
+
| 类型 | 描述 |
|
|
101
|
+
| ------ | ---------------- |
|
|
102
|
+
| `bool` | 清除操作是否成功 |
|
|
103
|
+
|
|
104
|
+
**示例:**
|
|
105
|
+
|
|
106
|
+
```python
|
|
107
|
+
from kuaijs import ime
|
|
108
|
+
|
|
109
|
+
# 清空输入框
|
|
110
|
+
if ime.clearText():
|
|
111
|
+
print("文本清除成功")
|
|
112
|
+
else:
|
|
113
|
+
print("文本清除失败")
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## 文本输入
|
|
117
|
+
|
|
118
|
+
### input - 模拟输入文本到当前焦点的输入框
|
|
119
|
+
|
|
120
|
+
```python
|
|
121
|
+
def input(text: str) -> str
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**参数说明:**
|
|
125
|
+
|
|
126
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
127
|
+
| ------ | ---- | -------- | ------ | ---------------- |
|
|
128
|
+
| `text` | str | 是 | - | 要输入的文本内容 |
|
|
129
|
+
|
|
130
|
+
**返回值:**
|
|
131
|
+
|
|
132
|
+
| 类型 | 描述 |
|
|
133
|
+
| ----- | -------------------------------- |
|
|
134
|
+
| `str` | 输入后的文本内容,失败为空字符串 |
|
|
135
|
+
|
|
136
|
+
**示例:**
|
|
137
|
+
|
|
138
|
+
```python
|
|
139
|
+
from kuaijs import ime
|
|
140
|
+
|
|
141
|
+
# 基础文本输入
|
|
142
|
+
text_after = ime.input("Hello World")
|
|
143
|
+
print(f"输入后文本: {text_after}")
|
|
144
|
+
|
|
145
|
+
# 输入中文
|
|
146
|
+
zh_text_after = ime.input("你好,世界!")
|
|
147
|
+
print(f"输入后文本: {zh_text_after}")
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### paste - 模拟粘贴操作,将剪贴板内容粘贴到当前输入框
|
|
151
|
+
|
|
152
|
+
```python
|
|
153
|
+
def paste(text: str | None = None) -> str
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**参数说明:**
|
|
157
|
+
|
|
158
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
159
|
+
| ------ | ---- | -------- | ------ | ------------------------------------------------ |
|
|
160
|
+
| `text` | str | 否 | - | 要粘贴的内容,可选参数,如果不传则使用剪贴板内容 |
|
|
161
|
+
|
|
162
|
+
**返回值:**
|
|
163
|
+
|
|
164
|
+
| 类型 | 描述 |
|
|
165
|
+
| ----- | -------------------------------- |
|
|
166
|
+
| `str` | 粘贴后的文本内容,失败为空字符串 |
|
|
167
|
+
|
|
168
|
+
**示例:**
|
|
169
|
+
|
|
170
|
+
```python
|
|
171
|
+
from kuaijs import ime
|
|
172
|
+
|
|
173
|
+
# 基础粘贴操作(使用剪贴板内容)
|
|
174
|
+
pasted = ime.paste()
|
|
175
|
+
print(f"粘贴后文本: {pasted}")
|
|
176
|
+
|
|
177
|
+
# 粘贴指定内容
|
|
178
|
+
pasted_specified = ime.paste("要粘贴的文本")
|
|
179
|
+
print(f"粘贴指定内容后文本: {pasted_specified}")
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## 键盘操作
|
|
183
|
+
|
|
184
|
+
### pressDel - 模拟按下删除键(退格键)
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
def pressDel() -> str
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**返回值:**
|
|
191
|
+
|
|
192
|
+
| 类型 | 描述 |
|
|
193
|
+
| ----- | -------------------------------------- |
|
|
194
|
+
| `str` | 删除后剩余文本内容,为空表示无更多内容 |
|
|
195
|
+
|
|
196
|
+
**示例:**
|
|
197
|
+
|
|
198
|
+
```python
|
|
199
|
+
from kuaijs import ime
|
|
200
|
+
|
|
201
|
+
# 删除一个字符
|
|
202
|
+
remaining = ime.pressDel()
|
|
203
|
+
print(f"删除后剩余文本: {remaining}")
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### pressEnter - 模拟按下回车键
|
|
207
|
+
|
|
208
|
+
```python
|
|
209
|
+
def pressEnter() -> bool
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**返回值:**
|
|
213
|
+
|
|
214
|
+
| 类型 | 描述 |
|
|
215
|
+
| ------ | ---------------- |
|
|
216
|
+
| `bool` | 回车操作是否成功 |
|
|
217
|
+
|
|
218
|
+
**示例:**
|
|
219
|
+
|
|
220
|
+
```python
|
|
221
|
+
from kuaijs import ime
|
|
222
|
+
|
|
223
|
+
# 按下回车键
|
|
224
|
+
if ime.pressEnter():
|
|
225
|
+
print("回车键按下成功")
|
|
226
|
+
else:
|
|
227
|
+
print("回车键按下失败")
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### dismiss - 隐藏键盘
|
|
231
|
+
|
|
232
|
+
```python
|
|
233
|
+
def dismiss() -> bool
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**返回值:**
|
|
237
|
+
|
|
238
|
+
| 类型 | 描述 |
|
|
239
|
+
| ------ | ---------------- |
|
|
240
|
+
| `bool` | 隐藏操作是否成功 |
|
|
241
|
+
|
|
242
|
+
**示例:**
|
|
243
|
+
|
|
244
|
+
```python
|
|
245
|
+
from kuaijs import ime
|
|
246
|
+
|
|
247
|
+
# 隐藏键盘
|
|
248
|
+
if ime.dismiss():
|
|
249
|
+
print("键盘隐藏成功")
|
|
250
|
+
else:
|
|
251
|
+
print("键盘隐藏失败")
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
## 剪贴板操作
|
|
255
|
+
|
|
256
|
+
### getClipboard - 获取剪贴板内容
|
|
257
|
+
|
|
258
|
+
```python
|
|
259
|
+
def getClipboard() -> str
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**返回值:**
|
|
263
|
+
|
|
264
|
+
| 类型 | 描述 |
|
|
265
|
+
| ----- | ------------------ |
|
|
266
|
+
| `str` | 剪贴板中的文本内容 |
|
|
267
|
+
|
|
268
|
+
**示例:**
|
|
269
|
+
|
|
270
|
+
```python
|
|
271
|
+
from kuaijs import ime
|
|
272
|
+
|
|
273
|
+
# 获取剪贴板内容
|
|
274
|
+
clipboard_text = ime.getClipboard()
|
|
275
|
+
print(f"剪贴板内容: {clipboard_text}")
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### setClipboard - 设置剪贴板内容
|
|
279
|
+
|
|
280
|
+
```python
|
|
281
|
+
def setClipboard(text: str) -> bool
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**参数说明:**
|
|
285
|
+
|
|
286
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
287
|
+
| ------ | ---- | -------- | ------ | ------------------------ |
|
|
288
|
+
| `text` | str | 是 | - | 要设置到剪贴板的文本内容 |
|
|
289
|
+
|
|
290
|
+
**返回值:**
|
|
291
|
+
|
|
292
|
+
| 类型 | 描述 |
|
|
293
|
+
| ------ | ---------------- |
|
|
294
|
+
| `bool` | 设置操作是否成功 |
|
|
295
|
+
|
|
296
|
+
**示例:**
|
|
297
|
+
|
|
298
|
+
```python
|
|
299
|
+
from kuaijs import ime
|
|
300
|
+
|
|
301
|
+
# 设置剪贴板内容
|
|
302
|
+
if ime.setClipboard("要复制的文本"):
|
|
303
|
+
print("剪贴板设置成功")
|
|
304
|
+
else:
|
|
305
|
+
print("剪贴板设置失败")
|
|
306
|
+
```
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
# 日志模块 (Logger)
|
|
2
|
+
|
|
3
|
+
日志模块提供了完整的日志记录功能,支持不同的日志级别、文件输出、日志管理等。
|
|
4
|
+
|
|
5
|
+
- **日志级别** 开发环境默认 `debug`,打包环境默认 `info`。如需自定义日志级别,可使用 `setLoggerLevel` 方法。
|
|
6
|
+
- **日志存储路径** 日志文件默认存储在我的 iPhone->应用名称的文件夹->Logger 目录中。
|
|
7
|
+
- **日志文件大小** 每个日志文件最大 10MB,超过会自动创建新文件。
|
|
8
|
+
- **日志文件数量** 最多保留 10 个日志文件,超过会自动删除旧文件。
|
|
9
|
+
- **关闭日志输出** 可使用 `setLoggerLevel("off")` 关闭所有日志输出。
|
|
10
|
+
- **关闭存储日志** 可使用 `setLogToFile(False)` 关闭将日志输出到文件的功能。
|
|
11
|
+
|
|
12
|
+
## 日志级别
|
|
13
|
+
|
|
14
|
+
日志模块支持以下级别(按严重程度排序):
|
|
15
|
+
|
|
16
|
+
1. **error** - 错误日志,记录程序错误和异常
|
|
17
|
+
2. **warn** - 警告日志,记录潜在问题
|
|
18
|
+
3. **info** - 信息日志,记录一般信息
|
|
19
|
+
4. **debug** - 调试日志,记录详细的调试信息
|
|
20
|
+
5. **off** - 关闭日志输出
|
|
21
|
+
|
|
22
|
+
## 日志配置
|
|
23
|
+
|
|
24
|
+
### setLoggerLevel - 设置日志输出级别。
|
|
25
|
+
|
|
26
|
+
```python
|
|
27
|
+
def setLoggerLevel(level: str) -> None
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**参数:**
|
|
31
|
+
|
|
32
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
33
|
+
| ------- | ---- | -------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
34
|
+
| `level` | str | 是 | | 日志级别 <br>`error` 只输出错误日志 <br>`warn` 输出警告和错误日志 <br>`info` 输出信息、警告和错误日志 <br>`debug` 输出所有级别的日志 <br>`off` 关闭所有日志输出 |
|
|
35
|
+
|
|
36
|
+
**默认值:**
|
|
37
|
+
|
|
38
|
+
- 开发环境:`"debug"`
|
|
39
|
+
- 生产环境:`"info"`
|
|
40
|
+
|
|
41
|
+
**示例:**
|
|
42
|
+
|
|
43
|
+
```python
|
|
44
|
+
from kuaijs import logger
|
|
45
|
+
|
|
46
|
+
# 设置为调试级别(输出所有日志)
|
|
47
|
+
logger.setLoggerLevel("debug")
|
|
48
|
+
|
|
49
|
+
# 设置为信息级别(不输出调试日志)
|
|
50
|
+
logger.setLoggerLevel("info")
|
|
51
|
+
|
|
52
|
+
# 设置为错误级别(只输出错误日志)
|
|
53
|
+
logger.setLoggerLevel("error")
|
|
54
|
+
|
|
55
|
+
# 关闭所有日志
|
|
56
|
+
logger.setLoggerLevel("off")
|
|
57
|
+
|
|
58
|
+
# 根据环境动态设置
|
|
59
|
+
isDevelopment = True # 根据实际情况判断
|
|
60
|
+
logger.setLoggerLevel("debug" if isDevelopment else "info")
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### setLogToFile - 设置是否将日志输出到文件。
|
|
64
|
+
|
|
65
|
+
```python
|
|
66
|
+
def setLogToFile(enabled: bool) -> None
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**参数:**
|
|
70
|
+
|
|
71
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
72
|
+
| --------- | ---- | -------- | ------ | ------------------------- |
|
|
73
|
+
| `enabled` | bool | 是 | | 是否启用文件输出 默认开启 |
|
|
74
|
+
|
|
75
|
+
**示例:**
|
|
76
|
+
|
|
77
|
+
```python
|
|
78
|
+
from kuaijs import logger
|
|
79
|
+
|
|
80
|
+
# 启用文件日志(默认)
|
|
81
|
+
logger.setLogToFile(True)
|
|
82
|
+
|
|
83
|
+
# 禁用文件日志(只在控制台输出)
|
|
84
|
+
logger.setLogToFile(False)
|
|
85
|
+
|
|
86
|
+
# 根据配置动态设置
|
|
87
|
+
enableFileLog = True # 从配置文件读取
|
|
88
|
+
logger.setLogToFile(enableFileLog)
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### setMaxLogFileCount - 设置最大日志文件数量 默认 10 个文件
|
|
92
|
+
|
|
93
|
+
```python
|
|
94
|
+
def setMaxLogFileCount(count: int) -> None
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**注意事项:**
|
|
98
|
+
|
|
99
|
+
- 1053 版本开始支持
|
|
100
|
+
- 使用此方法请放到你的代码最前面,确保在其他日志输出之前设置。
|
|
101
|
+
|
|
102
|
+
**参数:**
|
|
103
|
+
|
|
104
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
105
|
+
| ------- | ---- | -------- | ------ | ---------------- |
|
|
106
|
+
| `count` | int | 是 | | 最大日志文件数量 |
|
|
107
|
+
|
|
108
|
+
**示例:**
|
|
109
|
+
|
|
110
|
+
```python
|
|
111
|
+
from kuaijs import logger
|
|
112
|
+
|
|
113
|
+
# 设置最大日志文件数量为 5 个文件
|
|
114
|
+
logger.setMaxLogFileCount(5)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### setMaxLogFileSize - 设置最大日志文件大小 默认 10MB
|
|
118
|
+
|
|
119
|
+
```python
|
|
120
|
+
def setMaxLogFileSize(size: int) -> None
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**注意事项:**
|
|
124
|
+
|
|
125
|
+
- 1053 版本开始支持
|
|
126
|
+
- 使用此方法请放到你的代码最前面,确保在其他日志输出之前设置。
|
|
127
|
+
|
|
128
|
+
**参数:**
|
|
129
|
+
|
|
130
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
131
|
+
| ------ | ---- | -------- | ------ | ---------------------------- |
|
|
132
|
+
| `size` | int | 是 | | 最大日志文件大小(单位:MB) |
|
|
133
|
+
|
|
134
|
+
**示例:**
|
|
135
|
+
|
|
136
|
+
```python
|
|
137
|
+
from kuaijs import logger
|
|
138
|
+
|
|
139
|
+
# 设置最大日志文件大小为 5MB
|
|
140
|
+
logger.setMaxLogFileSize(5)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### resetLogFile - 重置日志文件,创建新的日志文件。
|
|
144
|
+
|
|
145
|
+
```python
|
|
146
|
+
def resetLogFile() -> None
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**用途:**
|
|
150
|
+
|
|
151
|
+
- 避免单个日志文件过大
|
|
152
|
+
- 按时间或事件分割日志
|
|
153
|
+
- 清理历史日志
|
|
154
|
+
|
|
155
|
+
**示例:**
|
|
156
|
+
|
|
157
|
+
```python
|
|
158
|
+
from kuaijs import logger
|
|
159
|
+
|
|
160
|
+
# 手动重置日志文件
|
|
161
|
+
logger.resetLogFile()
|
|
162
|
+
logger.info("日志文件已重置")
|
|
163
|
+
|
|
164
|
+
# 重置日志文件
|
|
165
|
+
def reset_log_file():
|
|
166
|
+
logger.info("开始日志轮转")
|
|
167
|
+
logger.resetLogFile()
|
|
168
|
+
logger.info("日志轮转完成")
|
|
169
|
+
|
|
170
|
+
# 根据文件大小重置(需要配合文件系统检查)
|
|
171
|
+
def check_and_reset_log():
|
|
172
|
+
# 这里需要配合文件模块检查日志文件大小
|
|
173
|
+
# 如果文件过大则重置
|
|
174
|
+
logger.resetLogFile()
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## 日志输出方法
|
|
178
|
+
|
|
179
|
+
### debug - 输出调试级别的日志。
|
|
180
|
+
|
|
181
|
+
```python
|
|
182
|
+
def debug(*args: object) -> None
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**参数:**
|
|
186
|
+
|
|
187
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
188
|
+
| ------ | --------- | -------- | ------ | ---------------- |
|
|
189
|
+
| `args` | object... | 是 | | 要输出的日志内容 |
|
|
190
|
+
|
|
191
|
+
**用途:**
|
|
192
|
+
|
|
193
|
+
- 详细的程序执行信息
|
|
194
|
+
- 变量值和状态信息
|
|
195
|
+
- 函数调用跟踪
|
|
196
|
+
|
|
197
|
+
**示例:**
|
|
198
|
+
|
|
199
|
+
```python
|
|
200
|
+
from kuaijs import logger
|
|
201
|
+
import json
|
|
202
|
+
|
|
203
|
+
logger.debug("程序开始执行")
|
|
204
|
+
|
|
205
|
+
# 函数调用跟踪
|
|
206
|
+
def process_data(data):
|
|
207
|
+
logger.debug(f"process_data 开始,参数: {json.dumps(data)}")
|
|
208
|
+
|
|
209
|
+
# 处理逻辑...
|
|
210
|
+
|
|
211
|
+
logger.debug("process_data 完成")
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### info - 输出信息级别的日志。
|
|
215
|
+
|
|
216
|
+
```python
|
|
217
|
+
def info(*args: object) -> None
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**参数:**
|
|
221
|
+
|
|
222
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
223
|
+
| ------ | --------- | -------- | ------ | ---------------- |
|
|
224
|
+
| `args` | object... | 是 | | 要输出的日志内容 |
|
|
225
|
+
|
|
226
|
+
**用途:**
|
|
227
|
+
|
|
228
|
+
- 程序正常运行信息
|
|
229
|
+
- 重要操作的确认
|
|
230
|
+
- 状态变更通知
|
|
231
|
+
|
|
232
|
+
**示例:**
|
|
233
|
+
|
|
234
|
+
```python
|
|
235
|
+
from kuaijs import logger
|
|
236
|
+
|
|
237
|
+
logger.info("应用程序启动成功")
|
|
238
|
+
logger.info("用户登录成功")
|
|
239
|
+
logger.info("文件下载完成")
|
|
240
|
+
count = 100
|
|
241
|
+
logger.info(f"处理了 {count} 条记录")
|
|
242
|
+
|
|
243
|
+
# 操作确认
|
|
244
|
+
def save_settings(settings):
|
|
245
|
+
# 保存设置...
|
|
246
|
+
logger.info("设置已保存")
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### warn - 输出警告级别的日志。
|
|
250
|
+
|
|
251
|
+
```python
|
|
252
|
+
def warn(*args: object) -> None
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**参数:**
|
|
256
|
+
|
|
257
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
258
|
+
| ------ | --------- | -------- | ------ | ---------------- |
|
|
259
|
+
| `args` | object... | 是 | | 要输出的日志内容 |
|
|
260
|
+
|
|
261
|
+
**用途:**
|
|
262
|
+
|
|
263
|
+
- 潜在的问题
|
|
264
|
+
- 不推荐的操作
|
|
265
|
+
- 性能警告
|
|
266
|
+
- 兼容性问题
|
|
267
|
+
|
|
268
|
+
**示例:**
|
|
269
|
+
|
|
270
|
+
```python
|
|
271
|
+
from kuaijs import logger, device
|
|
272
|
+
import time
|
|
273
|
+
|
|
274
|
+
logger.warn("电池电量低于 20%")
|
|
275
|
+
logger.warn("网络连接不稳定")
|
|
276
|
+
logger.warn("使用了已废弃的 API")
|
|
277
|
+
logger.warn("内存使用率较高")
|
|
278
|
+
|
|
279
|
+
# 条件警告
|
|
280
|
+
battery = device.getBatteryInfo()
|
|
281
|
+
if battery.level < 20:
|
|
282
|
+
logger.warn(f"电池电量不足: {battery.level}%")
|
|
283
|
+
|
|
284
|
+
# 性能警告
|
|
285
|
+
def perform_heavy_task():
|
|
286
|
+
start_time = time.time() * 1000
|
|
287
|
+
|
|
288
|
+
# 执行耗时任务...
|
|
289
|
+
|
|
290
|
+
duration = time.time() * 1000 - start_time
|
|
291
|
+
if duration > 5000:
|
|
292
|
+
logger.warn(f"任务执行时间过长: {duration}ms")
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### error - 输出错误级别的日志。
|
|
296
|
+
|
|
297
|
+
```python
|
|
298
|
+
def error(*args: object) -> None
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
**参数:**
|
|
302
|
+
|
|
303
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
304
|
+
| ------ | --------- | -------- | ------ | ---------------- |
|
|
305
|
+
| `args` | object... | 是 | | 要输出的日志内容 |
|
|
306
|
+
|
|
307
|
+
**用途:**
|
|
308
|
+
|
|
309
|
+
- 程序错误和异常
|
|
310
|
+
- 操作失败
|
|
311
|
+
- 系统错误
|
|
312
|
+
- 致命问题
|
|
313
|
+
|
|
314
|
+
**示例:**
|
|
315
|
+
|
|
316
|
+
```python
|
|
317
|
+
from kuaijs import logger
|
|
318
|
+
|
|
319
|
+
logger.error("网络请求失败")
|
|
320
|
+
logger.error("文件读取错误")
|
|
321
|
+
logger.error("数据库连接失败")
|
|
322
|
+
|
|
323
|
+
# 异常处理
|
|
324
|
+
try:
|
|
325
|
+
# 可能出错的操作
|
|
326
|
+
# result = risky_operation()
|
|
327
|
+
pass
|
|
328
|
+
except Exception as e:
|
|
329
|
+
logger.error(f"操作失败: {str(e)}")
|
|
330
|
+
```
|