ms-vite-plugin 1.4.51 → 1.4.52

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.
@@ -5,13 +5,16 @@
5
5
  **注意**
6
6
 
7
7
  - 仅支持快点 Agent 模式
8
- - 用完调用 `releaseNode()` 释放;找完节点即可释放,不必等点击结束
8
+ - 用完应释放选择器,两种写法自行选择:
9
+ - **自动**:`local selector <close> = node.createNodeSelector()`,离开当前作用域释放
10
+ - **手动**:`selector:releaseNode()`,找完节点即可释放,不必等点击结束
11
+ - 普通 `local selector = ...` 若既不用 `<close>` 也不调 `releaseNode()`,不会立刻释放
9
12
 
10
13
  **基本流程**
11
14
 
12
15
  ```text
13
16
  createNodeSelector → 设置筛选条件 → getOneNodeInfo / getNodeInfo
14
- → 点击 / 输入 / 设值等 → releaseNode
17
+ → 点击 / 输入 / 设值等 → 自动 <close> 或手动 releaseNode
15
18
  ```
16
19
 
17
20
  ---
@@ -30,7 +33,9 @@ function node.createNodeSelector(params) end
30
33
  | `mode` | `1` | 抓取模式,可选 `1` / `2` / `3`,默认 `1` |
31
34
 
32
35
  ```lua
33
- local selector = node.createNodeSelector()
36
+ -- 自动释放:离开作用域时释放
37
+ local selector <close> = node.createNodeSelector()
38
+ -- 手动释放:用完后自己调 releaseNode
34
39
  local shallow = node.createNodeSelector({ maxDepth = 15 })
35
40
  local listPage = node.createNodeSelector({ mode = 2 })
36
41
  ```
@@ -88,7 +93,7 @@ local listPage = node.createNodeSelector({ mode = 2 })
88
93
 
89
94
  | 方法 | 说明 |
90
95
  | --- | --- |
91
- | `releaseNode()` | 释放内存 |
96
+ | `releaseNode()` | 立刻释放选择器;与 `<close>` 二选一即可,重复调用安全 |
92
97
  | `loadNode(timeout?)` | 重新加载界面节点,默认超时 5000ms |
93
98
  | `clearSelector()` | 清除已设置的筛选条件 |
94
99
  | `xml(timeout?)` | 获取界面 XML,失败返回 `nil` |
@@ -102,7 +107,10 @@ local selector = node.createNodeSelector()
102
107
  local nodes = selector:label("确定"):getNodeInfo(5000)
103
108
  local one = selector:getOneNodeInfo(3000)
104
109
  local xml = selector:xml()
105
- selector:releaseNode()
110
+ selector:releaseNode() -- 手动释放
111
+
112
+ -- 或自动释放:
113
+ -- local selector <close> = node.createNodeSelector()
106
114
  ```
107
115
 
108
116
  ### 筛选条件
@@ -168,7 +176,7 @@ selector
168
176
 
169
177
  ```lua
170
178
  local node = require("node")
171
- local selector = node.createNodeSelector()
179
+ local selector <close> = node.createNodeSelector()
172
180
  local btn = selector:label("确定"):type("XCUIElementTypeButton"):getOneNodeInfo(3000)
173
181
 
174
182
  if btn then
@@ -199,7 +207,7 @@ end
199
207
  ```lua
200
208
  local node = require("node")
201
209
  local ime = require("ime")
202
- local selector = node.createNodeSelector()
210
+ local selector <close> = node.createNodeSelector()
203
211
 
204
212
  local user = selector:type("XCUIElementTypeTextField"):getOneNodeInfo(5000)
205
213
  if user then
@@ -232,7 +240,7 @@ end
232
240
 
233
241
  ```lua
234
242
  local node = require("node")
235
- local selector = node.createNodeSelector({ mode = 2 })
243
+ local selector <close> = node.createNodeSelector({ mode = 2 })
236
244
  local item = selector:label("第 30 项"):getOneNodeInfo(5000)
237
245
  if item then
238
246
  item:clickCenter()
@@ -262,3 +270,6 @@ selector:releaseNode()
262
270
 
263
271
  **输入叠在旧文字后面**
264
272
  节点没有输入方法,请先 `ime.clearText()` 再 `ime.input()`。
273
+
274
+ **要不要释放**
275
+ 要。用 `<close>` 自动释放,或用完调 `releaseNode()`,两种都行。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ms-vite-plugin",
3
- "version": "1.4.51",
3
+ "version": "1.4.52",
4
4
  "type": "commonjs",
5
5
  "license": "MIT",
6
6
  "publishConfig": {