ms-types 0.0.17 → 0.0.18

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ms-types",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
package/types/action.d.ts CHANGED
@@ -38,6 +38,23 @@ declare namespace action {
38
38
  jitter: boolean,
39
39
  steps: number
40
40
  ): boolean;
41
+ /**
42
+ * 随机点击
43
+ * @param x1 区域左上角x坐标
44
+ * @param y1 区域左上角y坐标
45
+ * @param x2 区域右下角x坐标
46
+ * @param y2 区域右下角y坐标
47
+ * @param duration 持续时间
48
+ * @returns 随机点击是否成功
49
+ * @example action.clickRandom(100, 100, 200, 200, 20)
50
+ */
51
+ function clickRandom(
52
+ x1: number,
53
+ y1: number,
54
+ x2: number,
55
+ y2: number,
56
+ duration: number
57
+ ): boolean;
41
58
  /**
42
59
  * 长按滑动
43
60
  * @param startX 起始坐标x
@@ -63,6 +80,28 @@ declare namespace action {
63
80
  jitter: boolean,
64
81
  steps: number
65
82
  ): boolean;
83
+ /**
84
+ * 3点曲线滑动(先快后慢,拟人化轨迹)
85
+ * 使用二次贝塞尔曲线算法,添加随机偏移和时间抖动,模拟真实人手操作
86
+ * @param startX 起始x坐标
87
+ * @param startY 起始y坐标
88
+ * @param midX 中间点x坐标(控制曲线弯曲程度)
89
+ * @param midY 中间点y坐标(控制曲线弯曲程度)
90
+ * @param endX 目标x坐标
91
+ * @param endY 目标y坐标
92
+ * @param duration 总持续时间(毫秒),实际执行时间会有随机变化
93
+ * @returns 曲线滑动是否成功
94
+ * @example action.swipeCurve(100, 100, 200, 150, 300, 200, 1000)
95
+ */
96
+ function swipeCurve(
97
+ startX: number,
98
+ startY: number,
99
+ midX: number,
100
+ midY: number,
101
+ endX: number,
102
+ endY: number,
103
+ duration: number
104
+ ): boolean;
66
105
  /**
67
106
  * 返回首页
68
107
  * @returns 返回首页是否成功
@@ -14,7 +14,7 @@ declare namespace appleOcr {
14
14
  * @example
15
15
  * const results = appleOcr.recognize("screen", 0, 0, 100, 100, ["zh-Hans", "en-US"])
16
16
  * results.forEach(result => {
17
- * console.log(`文本: ${result.text}, 置信度: ${result.confidence}`)
17
+ * logger.info(`文本: ${result.text}, 置信度: ${result.confidence}`)
18
18
  * })
19
19
  */
20
20
  function recognize(
package/types/global.d.ts CHANGED
@@ -37,11 +37,24 @@ declare const __package__: {
37
37
  /**
38
38
  * 应用版本
39
39
  */
40
- version: string;
40
+ appVersion: string;
41
41
  /**
42
- * 应用描述
42
+ * 应用 Id
43
43
  */
44
- description: string;
44
+ appId: string;
45
+ /**
46
+ * 应用更新参数
47
+ */
48
+ update: {
49
+ /**
50
+ * 应用更新地址
51
+ */
52
+ url: string;
53
+ /**
54
+ * 应用更新超时时间
55
+ */
56
+ timeout: number;
57
+ };
45
58
  [key: string]: any;
46
59
  };
47
60
 
@@ -60,6 +73,52 @@ declare function exit(): void;
60
73
  */
61
74
  declare function time(): number;
62
75
  /**
63
- * 把 app 切换到前台
76
+ * 把 app 切换到前台 utils.takeMeToFront 的别名
77
+ * @see utils.takeMeToFront
64
78
  */
65
79
  declare function takeMeToFront(): void;
80
+ /**
81
+ * 重启脚本
82
+ * @param delay 延迟时间 毫秒
83
+ */
84
+ declare function restartScript(delay: number): void;
85
+ /**
86
+ * 日志调试 - 输出调试级别的日志
87
+ * 用于详细的程序执行信息、变量值和状态信息、函数调用跟踪
88
+ * @param message 日志消息内容
89
+ * @see logger.debug
90
+ * @example
91
+ * logd("程序开始执行");
92
+ * logd(`当前用户: ${username}`);
93
+ */
94
+ declare function logd(message: string): void;
95
+ /**
96
+ * 日志信息 - 输出信息级别的日志
97
+ * 用于程序正常运行信息、重要操作的确认、状态变更通知
98
+ * @param message 日志消息内容
99
+ * @see logger.info
100
+ * @example
101
+ * logi("应用程序启动成功");
102
+ * logi("用户登录成功");
103
+ */
104
+ declare function logi(message: string): void;
105
+ /**
106
+ * 日志警告 - 输出警告级别的日志
107
+ * 用于潜在的问题、不推荐的操作、性能警告、兼容性问题
108
+ * @param message 日志消息内容
109
+ * @see logger.warn
110
+ * @example
111
+ * logw("电池电量低于 20%");
112
+ * logw("网络连接不稳定");
113
+ */
114
+ declare function logw(message: string): void;
115
+ /**
116
+ * 日志错误 - 输出错误级别的日志
117
+ * 用于程序错误和异常、操作失败、系统错误、致命问题
118
+ * @param message 日志消息内容
119
+ * @see logger.error
120
+ * @example
121
+ * loge("网络请求失败");
122
+ * loge("文件读取错误");
123
+ */
124
+ declare function loge(message: string): void;
@@ -0,0 +1,106 @@
1
+ /**
2
+ * 热更新模块类型定义
3
+ * 提供应用热更新功能,包括检查更新、下载更新包、MD5校验等
4
+ */
5
+
6
+ /**
7
+ * 热更新检查结果
8
+ */
9
+ interface HotUpdateResult {
10
+ /** 是否需要更新 */
11
+ needUpdate: boolean;
12
+ /** 错误信息(当检查失败时) */
13
+ error?: string;
14
+ /** 服务器返回的更新数据(当 needUpdate 为 true 时) */
15
+ data?: HotUpdateResponse;
16
+ }
17
+
18
+ /**
19
+ * 热更新服务器响应数据结构
20
+ */
21
+ interface HotUpdateResponse {
22
+ /** 新包的下载地址 */
23
+ download_url: string;
24
+ /** 新包的版本号 */
25
+ version: number;
26
+ /** 下载msbundle文件超时时间(秒) */
27
+ download_timeout: number;
28
+ /** 是否用对话框的形式展示 */
29
+ dialog: boolean;
30
+ /** 对话框中要显示的消息 */
31
+ msg: string;
32
+ /** 对话框模式下是否强制更新 */
33
+ force: boolean;
34
+ /** 更新包文件的MD5值,用于校验文件完整性 */
35
+ md5?: string;
36
+ }
37
+
38
+ /**
39
+ * 热更新配置选项
40
+ */
41
+ interface HotUpdateOptions {
42
+ /** 检查更新的服务器URL,未提供时从 package.json 的 update.url 读取 */
43
+ url?: string;
44
+ /** 当前版本号,未提供时从 package.json 的 appVersion 读取 */
45
+ version?: number;
46
+ /** 超时时间(毫秒),未提供时从 package.json 的 update.timeout 读取,默认10000毫秒 */
47
+ timeout?: number;
48
+ }
49
+
50
+ declare namespace hotUpdate {
51
+ /**
52
+ * 检查更新(同步调用)
53
+ * @param options 更新配置选项(可选,不传则从package.json读取配置)
54
+ * @returns 检查结果
55
+ *
56
+ * @example
57
+ * // 检查更新(使用默认配置)
58
+ * const result = hotUpdate.checkUpdate();
59
+ *
60
+ * // 或者传入自定义配置
61
+ * const result2 = hotUpdate.checkUpdate({
62
+ * url: 'https://api.example.com/check-update'
63
+ * });
64
+ *
65
+ * if (result.needUpdate) {
66
+ * logger.info('发现新版本');
67
+ * // 手动决定是否更新
68
+ * const installResult = hotUpdate.downloadAndInstall();
69
+ * logger.info('安装结果:', installResult);
70
+ * } else {
71
+ * logger.error('检查更新失败:', result.error);
72
+ * }
73
+ */
74
+ function checkUpdate(options?: HotUpdateOptions): HotUpdateResult;
75
+
76
+ /**
77
+ * 手动下载并安装更新, 执行成功后会自动重启脚本
78
+ * @returns 安装结果
79
+ * @example
80
+ * ```javascript
81
+ * const checkResult = hotUpdate.checkUpdate();
82
+ * if (checkResult.needUpdate) {
83
+ * const installResult = hotUpdate.downloadAndInstall();
84
+ * if (installResult.updated) {
85
+ * logger.info('更新安装成功');
86
+ * } else {
87
+ * logger.error('更新安装失败:', installResult.error);
88
+ * }
89
+ * }
90
+ * ```
91
+ */
92
+ function downloadAndInstall(): {
93
+ updated: boolean;
94
+ error?: string;
95
+ };
96
+
97
+ /**
98
+ * 获取当前应用版本号
99
+ * 从 package.json 文件中读取 appVersion 字段并返回数字类型版本号
100
+ * @returns {number} 当前版本号,如果获取失败则返回 0
101
+ * @example
102
+ * const version = hotUpdate.getCurrentVersion();
103
+ * logger.info('当前版本:', version); // 输出: 当前版本: 123
104
+ */
105
+ function getCurrentVersion(): number;
106
+ }
package/types/index.d.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  /// <reference path="device.d.ts" />
5
5
  /// <reference path="file.d.ts" />
6
6
  /// <reference path="global.d.ts" />
7
+ /// <reference path="hotUpdate.d.ts" />
7
8
  /// <reference path="http.d.ts" />
8
9
  /// <reference path="image.d.ts" />
9
10
  /// <reference path="ime.d.ts" />
@@ -9,7 +9,7 @@ declare namespace paddleOcr {
9
9
  * @example
10
10
  * const loaded = paddleOcr.loadV5(true)
11
11
  * if (loaded) {
12
- * console.log("加载成功")
12
+ * logger.info("加载成功")
13
13
  * }
14
14
  */
15
15
  function loadV5(useGpu: boolean): boolean;
@@ -24,7 +24,7 @@ declare namespace paddleOcr {
24
24
  * @example
25
25
  * const results = paddleOcr.recognize("screen", 0, 0, 100, 100)
26
26
  * if (results.length > 0) {
27
- * console.log("识别到文本")
27
+ * logger.info("识别到文本")
28
28
  * }
29
29
  */
30
30
  function recognize(
package/types/system.d.ts CHANGED
@@ -158,4 +158,14 @@ declare namespace system {
158
158
  * logger.info(`可用内存: ${availableMemory}MB`)
159
159
  */
160
160
  function getAvailableMemory(): number;
161
+ /**
162
+ * 启动 WDA 服务
163
+ * @returns 是否启动成功
164
+ * @example
165
+ * const started = system.startWDA()
166
+ * if (started) {
167
+ * logger.info("WDA 启动成功")
168
+ * }
169
+ */
170
+ function startWDA(): boolean;
161
171
  }
package/types/ui.d.ts CHANGED
@@ -1,74 +1,112 @@
1
- /**
2
- * 注册UI函数 网页页面使用,给主进程调用
3
- * @param name 函数名称
4
- * @param func 函数
5
- */
6
- declare function registerUIFunc(
7
- name: string,
8
- func: (data: Record<string, any>) => void
9
- ): void;
1
+ declare namespace ms {
2
+ /**
3
+ * 注册UI函数 网页页面使用,给主进程调用
4
+ * @param name 函数名称
5
+ * @param func 函数
6
+ */
7
+ function registerUIFunc(
8
+ name: string,
9
+ func: (data: Record<string, any>) => void
10
+ ): void;
10
11
 
11
- /**
12
- * 发送事件 网页页面使用 给主进程发送事件
13
- * @param event 事件名称
14
- * @param data 事件参数
15
- */
16
- declare function emitEvent(event: string, data: Record<string, any>): void;
12
+ /**
13
+ * 发送事件 网页页面使用 给主进程发送事件
14
+ * @param event 事件名称
15
+ * @param data 事件参数
16
+ */
17
+ function emitEvent(event: string, data: Record<string, any>): void;
18
+
19
+ /**
20
+ * 启动脚本 网页页面使用
21
+ * @returns 如果启动成功返回true,否则返回false
22
+ */
23
+ function startTask(): Promise<boolean>;
24
+
25
+ /**
26
+ * 停止脚本 网页页面使用
27
+ * @returns 如果停止成功返回false,否则返回true
28
+ */
29
+ function stopTask(): Promise<boolean>;
30
+
31
+ /**
32
+ * 检查脚本是否正在运行 网页页面使用
33
+ * @returns 如果脚本正在运行返回true,否则返回false
34
+ */
35
+ function isTaskRunning(): Promise<boolean>;
36
+
37
+ /**
38
+ * 设置配置项
39
+ * @param key 配置项键
40
+ * @param value 配置项值
41
+ * @returns 如果设置成功返回true,否则返回false
42
+ */
43
+ function setConfig(key: string, value: any): Promise<boolean>;
44
+
45
+ /**
46
+ * 获取配置项
47
+ * @param key 配置项键
48
+ * @returns 配置项值
49
+ */
50
+ function getConfig(key: string): Promise<any>;
51
+
52
+ /**
53
+ * 移除配置项
54
+ * @param key 配置项键
55
+ * @returns 如果移除成功返回true,否则返回false
56
+ */
57
+ function removeConfig(key: string): Promise<boolean>;
58
+
59
+ /**
60
+ * 获取所有配置的字典
61
+ * @returns 包含所有配置的字典
62
+ */
63
+ function getAllConfig(): Promise<Record<string, any>>;
64
+
65
+ /**
66
+ * 设置所有配置
67
+ * @param configs 包含所有配置的字典
68
+ * @returns 如果设置成功返回true,否则返回false
69
+ */
70
+ function setAllConfig(configs: Record<string, any>): Promise<boolean>;
71
+
72
+ /**
73
+ * 获取WDA状态
74
+ * @returns 如果WDA正在运行返回true,否则返回false
75
+ */
76
+ function getWDAStatus(): Promise<boolean>;
77
+
78
+ /**
79
+ * 启动WDA服务
80
+ * @returns 如果调用成功返回true,否则返回false。注意:返回值仅表示调用是否成功,不代表WDA服务是否启动成功
81
+ */
82
+ function startWDA(): Promise<boolean>;
83
+ }
17
84
 
18
85
  /**
19
- * UI模块 包含加载html文件、调用js方法等功能
86
+ * UI模块 提供WebView相关功能
20
87
  */
21
88
  declare namespace ui {
22
- interface WebView {
23
- /**
24
- * 显示WebView
25
- * @example
26
- * webview.show()
27
- */
28
- show(): void;
29
- /**
30
- * 关闭WebView
31
- * @example
32
- * webview.close()
33
- */
34
- close(): void;
35
- /**
36
- * 调用WebView中的方法
37
- * @param key 方法名
38
- * @param data 方法参数
39
- * @example
40
- * webview.call("jsMethod", {
41
- * name: "magicscript",
42
- * })
43
- */
44
- call(key: string, data: Record<string, any>): void;
45
- }
46
89
  /**
47
- * 创建WebView
48
- * @param file 文件名
49
- * @param onEvent 事件回调
50
- * @returns WebView实例
90
+ * 设置事件回调函数
91
+ * @param onEvent 事件回调函数
51
92
  * @example
52
- * const webview = ui.newWebView("index.html", (event, data) => {
93
+ * ui.onEvent((event, data) => {
53
94
  * // 接收网页发送的事件
54
- * if(event === "page.loaded") {
55
- * logger.info("页面加载完成")
56
- * } else if(event === "page.close") {
57
- * logger.info("页面关闭")
58
- * } else if(event === "console.log") {
59
- * logger.info("网页调用console.log:" + data)
60
- * } else {
61
- * // 自定义事件
62
- * logger.info(event, data)
63
- * }
95
+ * logger.info(`event: ${event}, data: ${JSON.stringify(data)}`)
64
96
  * })
65
- * webview.show()
66
- * webview.call("jsMethod", {
97
+ */
98
+ function onEvent(
99
+ onEvent: (event: string, data: Record<string, any>) => void
100
+ ): void;
101
+
102
+ /**
103
+ * 调用WebView中的JavaScript函数
104
+ * @param key 函数名 registerUIFunc 注册的函数名
105
+ * @param data 传递的数据
106
+ * @example
107
+ * ui.call("jsMethod", {
67
108
  * name: "magicscript",
68
109
  * })
69
110
  */
70
- function newWebView(
71
- file: string,
72
- onEvent: (event: string, data: string | Record<string, any>) => void
73
- ): WebView;
111
+ function call(key: string, data: any): void;
74
112
  }
package/types/yolo.d.ts CHANGED
@@ -49,7 +49,7 @@ declare interface YoloResult {
49
49
  */
50
50
  declare namespace yolo {
51
51
  /**
52
- * 加载YOLOv11模型
52
+ * 加载YOLOv11模型 (兼容 yolov8 模型)
53
53
  * @param paramPath ncnn模型的param文件的绝对路径
54
54
  * @param binPath ncnn模型的bin文件绝对路径
55
55
  * @param nc 模型的标签数量,可在标签集data.yaml中看到