ms-vite-plugin 1.4.8 → 1.4.10

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.
@@ -1,61 +1,15 @@
1
1
  # 悬浮窗模块 (PIP)
2
2
 
3
- 悬浮窗模块提供了画中画(Picture in Picture)功能,允许在应用中显示悬浮的日志窗口,支持自定义样式。
3
+ 悬浮窗模块提供画中画(Picture in Picture)日志窗口能力。
4
4
 
5
5
  ## 功能特性
6
6
 
7
- - **悬浮窗显示**: 支持在屏幕上显示悬浮的日志窗口
8
- - **自定义样式**: 可配置窗口大小、字体、颜色等
9
- - **脚本控制配置**: 保留脚本控制配置接口,Video Call PiP 链路不再提供播放/暂停按钮回调
10
-
11
- ## 类型定义
12
-
13
- ### LogViewParams
14
-
15
- 悬浮窗参数配置。
16
-
17
- ```python
18
- from typing import TypedDict
19
-
20
- class LogViewParams(TypedDict):
21
- width: float # 悬浮窗内容宽度,默认 300
22
- height: float # 悬浮窗内容高度,支持最低 0.1pt
23
- textSize: int # 日志的字体大小
24
- textColor: str # 日志的文字颜色,格式如 #FFFFFF
25
- backgroundColor: str # 日志的背景颜色,格式如 #000000
26
- ```
7
+ - **模式切换**:切换日志、保活和关闭三种悬浮窗模式
8
+ - **状态查询**:判断悬浮窗是否正在显示
9
+ - **识别标记**:日志窗口左上角默认显示高对比标记,可用于截图识别悬浮窗位置
27
10
 
28
11
  ## API 参考
29
12
 
30
- ### setLogViewParams - 设置悬浮窗显示参数
31
-
32
- 设置悬浮窗日志窗口的显示参数。显示前调用会影响首次高度;显示后再次调用会同步更新当前 Video Call PiP 内容尺寸。
33
-
34
- ```python
35
- def setLogViewParams(params: LogViewParams) -> None
36
- ```
37
-
38
- **参数:**
39
-
40
- | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
41
- | -------- | --------------- | -------- | ------ | ---------------------- |
42
- | `params` | `LogViewParams` | 是 | - | 包含显示参数的配置对象 |
43
-
44
- **示例:**
45
-
46
- ```python
47
- from kuaijs import pip
48
-
49
- # 配置悬浮窗参数
50
- pip.setLogViewParams({
51
- "width": 300,
52
- "height": 400,
53
- "textSize": 14,
54
- "textColor": "#FFFFFF",
55
- "backgroundColor": "#000000"
56
- })
57
- ```
58
-
59
13
  ### isPipActive - 判断悬浮窗是否打开
60
14
 
61
15
  判断悬浮窗是否当前打开。
@@ -75,104 +29,76 @@ def isPipActive() -> bool
75
29
  ```python
76
30
  from kuaijs import pip
77
31
 
78
- # 检查悬浮窗是否打开
79
- is_active = pip.isPipActive()
80
- if is_active:
32
+ if pip.isPipActive():
81
33
  print("悬浮窗当前已打开")
82
- else:
83
- print("悬浮窗当前未打开")
84
34
  ```
85
35
 
86
- ### showLogWindow - 显示日志窗口
36
+ ### switchToLogMode - 切换到日志模式
87
37
 
88
- 显示悬浮窗日志窗口。应用必须在前台才可调用。
38
+ 切换到日志模式并尝试显示悬浮窗日志窗口。首次显示悬浮窗时 App 必须在前台。
89
39
 
90
40
  ```python
91
- def showLogWindow() -> bool
41
+ def switchToLogMode() -> bool
92
42
  ```
93
43
 
94
44
  **返回值:**
95
45
 
96
- | 类型 | 描述 |
97
- | ------ | --------------------------------- |
98
- | `bool` | `True` 代表成功,`False` 代表失败 |
46
+ | 类型 | 描述 |
47
+ | ------ | --------------------- |
48
+ | `bool` | `True` 代表已提交请求 |
99
49
 
100
50
  **示例:**
101
51
 
102
52
  ```python
103
53
  from kuaijs import pip, utils
104
54
 
105
- # 将应用切入前台
106
55
  utils.takeMeToFront()
107
-
108
- # 显示悬浮窗
109
- success = pip.showLogWindow()
110
- if success:
111
- print("悬浮窗显示成功")
112
- else:
113
- print("悬浮窗显示失败,请检查权限设置")
56
+ success = pip.switchToLogMode()
114
57
  ```
115
58
 
116
- ### closeLogWindow - 关闭日志窗口
59
+ ### switchToKeepAliveMode - 切换到保活模式
117
60
 
118
- 关闭悬浮窗日志窗口。应用必须在前台才可调用。
61
+ 切换到保活模式并尝试显示极小高度悬浮窗。首次显示悬浮窗时 App 必须在前台。
119
62
 
120
63
  ```python
121
- def closeLogWindow() -> bool
64
+ def switchToKeepAliveMode() -> bool
122
65
  ```
123
66
 
124
67
  **返回值:**
125
68
 
126
- | 类型 | 描述 |
127
- | ------ | --------------------------------- |
128
- | `bool` | `True` 代表成功,`False` 代表失败 |
69
+ | 类型 | 描述 |
70
+ | ------ | --------------------- |
71
+ | `bool` | `True` 代表已提交请求 |
129
72
 
130
73
  **示例:**
131
74
 
132
75
  ```python
133
76
  from kuaijs import pip, utils
134
77
 
135
- # 将应用切入前台
136
78
  utils.takeMeToFront()
137
-
138
- # 关闭悬浮窗
139
- success = pip.closeLogWindow()
140
- if success:
141
- print("悬浮窗关闭成功")
142
- else:
143
- print("悬浮窗关闭失败")
79
+ success = pip.switchToKeepAliveMode()
144
80
  ```
145
81
 
146
- ### setPipCtrlScript - 设置脚本控制权限
82
+ ### switchToOffMode - 切换到关闭模式
147
83
 
148
- 设置是否允许悬浮窗控制脚本的启停。当前 Video Call PiP 链路仅保存配置,不再提供播放/暂停按钮回调。
84
+ 切换到关闭模式并关闭悬浮窗。
149
85
 
150
86
  ```python
151
- def setPipCtrlScript(ctrl: bool) -> bool
87
+ def switchToOffMode() -> bool
152
88
  ```
153
89
 
154
- **参数:**
155
-
156
- | 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
157
- | ------ | ------ | -------- | ------ | ------------------------------------------- |
158
- | `ctrl` | `bool` | 是 | - | `True` 代表允许控制,`False` 代表不允许控制 |
159
-
160
90
  **返回值:**
161
91
 
162
- | 类型 | 描述 |
163
- | ------ | --------------------------------- |
164
- | `bool` | `True` 代表成功,`False` 代表失败 |
92
+ | 类型 | 描述 |
93
+ | ------ | --------------------- |
94
+ | `bool` | `True` 代表已提交请求 |
165
95
 
166
96
  **示例:**
167
97
 
168
98
  ```python
169
99
  from kuaijs import pip
170
100
 
171
- # 允许悬浮窗控制脚本
172
- ok1 = pip.setPipCtrlScript(True)
173
-
174
- # 禁止悬浮窗控制脚本
175
- ok2 = pip.setPipCtrlScript(False)
101
+ success = pip.switchToOffMode()
176
102
  ```
177
103
 
178
104
  ## 完整使用示例
@@ -180,35 +106,16 @@ ok2 = pip.setPipCtrlScript(False)
180
106
  ```python
181
107
  from kuaijs import pip, utils
182
108
 
183
- # 将应用切入前台
184
109
  utils.takeMeToFront()
185
-
186
- # 1. 配置悬浮窗参数
187
- pip.setLogViewParams({
188
- "width": 350,
189
- "height": 500,
190
- "textSize": 16,
191
- "textColor": "#00FF00", # 绿色文字
192
- "backgroundColor": "#1A1A1A" # 深灰色背景
193
- })
194
-
195
- # 2. 保存悬浮窗控制脚本配置
196
- pip.setPipCtrlScript(True)
197
-
198
- # 3. 显示悬浮窗
199
- pip.showLogWindow()
110
+ pip.switchToLogMode()
200
111
  ```
201
112
 
202
113
  ## 注意事项
203
114
 
204
- 1. **前台限制**:所有悬浮窗操作都必须在应用前台状态下进行
115
+ 1. **前台限制**:首次切换到日志模式或保活模式并启动悬浮窗时,App 必须在前台;悬浮窗已启动后可以继续切换日志/保活模式
205
116
  2. **设备兼容性**:仅支持 iOS 15+ 且具备画中画功能的设备
206
- 3. **尺寸限制**:`height` 支持最低 0.1pt,内部最高限制为 220pt;实际悬浮窗显示仍由 iOS Video Call PiP 决定
207
- 4. **配置时机**:`setLogViewParams()` 可在显示前或显示后调用,显示后会同步更新当前内容尺寸
208
- 5. **颜色格式**:颜色值必须使用十六进制格式(如:`#FFFFFF`)
209
- 6. **尺寸适配**:iOS 系统会对画中画窗口的尺寸进行限制和自动调整,实际显示的画中画窗口大小可能与设置的 `width` 和 `height` 参数不完全一致
210
- 7. **内容渲染**:画中画内容渲染会自动适配系统分配的实际窗口尺寸,而不是使用配置的尺寸参数
211
- 8. **脚本控制**:Video Call PiP 链路不再提供播放/暂停按钮回调,`setPipCtrlScript(True)` 当前仅保存配置
117
+ 3. **系统限制**:悬浮窗位置和实际显示尺寸由 iOS 管理
118
+ 4. **识别标记**:日志窗口左上角默认包含识别标记,便于通过截图识别悬浮窗位置
212
119
 
213
120
  ## 故障排除
214
121
 
@@ -216,15 +123,4 @@ pip.showLogWindow()
216
123
 
217
124
  - 确认设备支持悬浮窗功能
218
125
  - 检查悬浮窗权限是否已开启
219
- - 确认参数配置是否正确(高度不低于 0.1pt)
220
-
221
- ### 悬浮窗显示异常
222
-
223
- - 检查颜色值格式是否正确
224
- - 确认字体大小设置是否合理
225
- - 验证窗口尺寸是否在有效范围内
226
-
227
- ### 脚本控制无效
228
-
229
- - 当前 Video Call PiP 链路不再提供播放/暂停按钮回调
230
- - `setPipCtrlScript(True)` 仅保存配置,不会直接驱动脚本启停
126
+ - 确认应用当前在前台
@@ -10,6 +10,7 @@
10
10
  - **URL 操作**: 打开网页链接或应用 URL Scheme
11
11
  - **系统通知**: 发送系统通知消息
12
12
  - **内存管理**: 获取内存使用信息
13
+ - **CPU 管理**: 获取 CPU 使用率
13
14
  - **快点 Agent 服务**: 启动 快点 Agent 服务
14
15
 
15
16
  ## 类型定义
@@ -42,10 +43,11 @@ class InstalledAppInfo(TypedDict):
42
43
 
43
44
  ```python
44
45
  class MemoryInfo(TypedDict):
45
- used: int # 已使用内存(MB)
46
- available: int # 可用内存(MB)
47
- total: int # 总内存(MB)
48
- usagePercentage: float # 内存使用率(百分比)
46
+ used: int # 当前应用占用(MB)
47
+ available: int # 系统可用内存(MB)
48
+ total: int # 系统总内存(MB)
49
+ systemUsed: int # 系统已用内存(MB)
50
+ usagePercentage: float # 系统占用率(百分比)
49
51
  ```
50
52
 
51
53
  ## API 参考
@@ -387,25 +389,26 @@ def getMemoryInfo() -> MemoryInfo
387
389
 
388
390
  **返回值:**
389
391
  | 类型 | 描述 |
390
- | ----------------- | ---------------------- |
391
- | `used` | 已使用内存(单位:MB) |
392
- | `available` | 可用内存(单位:MB) |
393
- | `total` | 总内存(单位:MB) |
394
- | `usagePercentage` | 内存使用率(百分比) |
392
+ | ----------------- | ---------------------------- |
393
+ | `used` | 当前应用占用(单位:MB) |
394
+ | `available` | 系统可用内存(单位:MB) |
395
+ | `total` | 系统总内存(单位:MB) |
396
+ | `systemUsed` | 系统已用内存(单位:MB) |
397
+ | `usagePercentage` | 系统内存占用率(百分比) |
395
398
 
396
399
  **说明:**
397
400
 
398
- 该方法返回设备的完整内存使用信息,包括已使用内存、可用内存、总内存和使用率。
401
+ 该方法返回当前应用占用和系统内存概况。`usagePercentage` 表示系统整体占用率。
399
402
 
400
403
  **示例:**
401
404
 
402
405
  ```python
403
406
  from kuaijs import system
404
407
  mem = system.getMemoryInfo()
405
- print(mem.used, mem.available, mem.total, mem.usagePercentage)
408
+ print(f"应用: {mem.used}MB, 系统: {mem.systemUsed}/{mem.total}MB, 占用: {mem.usagePercentage}%")
406
409
 
407
410
  if mem.usagePercentage > 80:
408
- print("内存使用率过高,建议清理内存")
411
+ print("系统内存占用较高")
409
412
  ```
410
413
 
411
414
  #### getUsedMemory - 获取已使用内存。
@@ -465,6 +468,58 @@ usage = (used / total) * 100 if total else 0
465
468
  print(f"使用率: {usage:.1f}%")
466
469
  ```
467
470
 
471
+ #### getSystemUsedMemory - 获取系统已用内存。
472
+
473
+ ```python
474
+ def getSystemUsedMemory() -> int
475
+ ```
476
+
477
+ **返回值:**
478
+ | 类型 | 描述 |
479
+ | ---- | ------------ |
480
+ | `int`| 系统已用内存(MB) |
481
+
482
+ **说明:**
483
+
484
+ 该方法返回系统物理内存的已使用量,计算方式为系统总内存减去可用内存,与 `getMemoryInfo()` 返回的 `systemUsed` 一致。
485
+
486
+ **示例:**
487
+
488
+ ```python
489
+ from kuaijs import system
490
+
491
+ system_used = system.getSystemUsedMemory()
492
+ print(f"系统已用内存: {system_used}MB")
493
+
494
+ mem = system.getMemoryInfo()
495
+ print(f"getMemoryInfo systemUsed: {mem['systemUsed']}MB")
496
+ ```
497
+
498
+ ### CPU 管理
499
+
500
+ #### getCpuUsage - 获取 CPU 使用率。
501
+
502
+ ```python
503
+ def getCpuUsage() -> float
504
+ ```
505
+
506
+ **返回值:**
507
+ | 类型 | 描述 |
508
+ | ---- | ---- |
509
+ | `float` | 当前应用 CPU 使用率(百分比) |
510
+
511
+ **示例:**
512
+
513
+ ```python
514
+ from kuaijs import system
515
+
516
+ cpu_usage = system.getCpuUsage()
517
+ print(f"CPU 使用率: {cpu_usage}%")
518
+
519
+ if cpu_usage > 80:
520
+ print("CPU 使用率较高,建议降低脚本负载")
521
+ ```
522
+
468
523
  ### 快点 Agent 服务
469
524
 
470
525
  #### startAgent - 启动 快点 Agent 服务。