@ray-js/robot-data-stream 0.0.16-beta.1 → 0.0.16-beta.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/lib/mqtt/hooks/useStructuredMessage.d.ts +2 -7
- package/lib/mqtt/hooks/useStructuredMessage.js +1 -1
- package/lib/mqtt/type/index.d.ts +0 -12
- package/lib/mqtt/type/index.js +0 -14
- package/lib/mqtt/type/protocols/base.d.ts +23 -24
- package/lib/mqtt/type/protocols/base.js +1 -38
- package/lib/mqtt/type/protocols/carpetCleanProtocol.d.ts +6 -13
- package/lib/mqtt/type/protocols/carpetCleanProtocol.js +1 -14
- package/lib/mqtt/type/protocols/carpetProtocol.d.ts +52 -96
- package/lib/mqtt/type/protocols/carpetProtocol.js +1 -202
- package/lib/mqtt/type/protocols/devInfoProtocol.d.ts +5 -11
- package/lib/mqtt/type/protocols/devInfoProtocol.js +1 -10
- package/lib/mqtt/type/protocols/deviceModelProtocol.d.ts +14 -29
- package/lib/mqtt/type/protocols/deviceModelProtocol.js +1 -32
- package/lib/mqtt/type/protocols/furnitureModelProtocol.d.ts +15 -25
- package/lib/mqtt/type/protocols/furnitureModelProtocol.js +1 -27
- package/lib/mqtt/type/protocols/historyMapProtocol.d.ts +19 -36
- package/lib/mqtt/type/protocols/historyMapProtocol.js +1 -37
- package/lib/mqtt/type/protocols/partDivisionProtocol.d.ts +6 -20
- package/lib/mqtt/type/protocols/partDivisionProtocol.js +1 -12
- package/lib/mqtt/type/protocols/partMergeProtocol.d.ts +3 -12
- package/lib/mqtt/type/protocols/partMergeProtocol.js +1 -12
- package/lib/mqtt/type/protocols/passwordProtocol.d.ts +11 -21
- package/lib/mqtt/type/protocols/passwordProtocol.js +1 -25
- package/lib/mqtt/type/protocols/quietHoursProtocol.d.ts +17 -27
- package/lib/mqtt/type/protocols/quietHoursProtocol.js +1 -35
- package/lib/mqtt/type/protocols/resetMapProtocol.d.ts +2 -3
- package/lib/mqtt/type/protocols/roomPropertyProtocol.d.ts +32 -46
- package/lib/mqtt/type/protocols/roomPropertyProtocol.js +1 -134
- package/lib/mqtt/type/protocols/scheduleProtocol.d.ts +18 -69
- package/lib/mqtt/type/protocols/scheduleProtocol.js +1 -117
- package/lib/mqtt/type/protocols/selectRoomCleanProtocol.d.ts +22 -29
- package/lib/mqtt/type/protocols/selectRoomCleanProtocol.js +1 -48
- package/lib/mqtt/type/protocols/spotCleanProtocol.d.ts +18 -42
- package/lib/mqtt/type/protocols/spotCleanProtocol.js +1 -94
- package/lib/mqtt/type/protocols/virtualAreaProtocol.d.ts +17 -30
- package/lib/mqtt/type/protocols/virtualAreaProtocol.js +1 -36
- package/lib/mqtt/type/protocols/virtualWallProtocol.d.ts +11 -25
- package/lib/mqtt/type/protocols/virtualWallProtocol.js +1 -25
- package/lib/mqtt/type/protocols/voiceProtocol.d.ts +11 -19
- package/lib/mqtt/type/protocols/voiceProtocol.js +1 -23
- package/lib/mqtt/type/protocols/wifiMapProtocol.d.ts +6 -15
- package/lib/mqtt/type/protocols/wifiMapProtocol.js +1 -15
- package/lib/mqtt/type/protocols/zoneCleanProtocol.d.ts +37 -50
- package/lib/mqtt/type/protocols/zoneCleanProtocol.js +1 -76
- package/lib/mqtt/useCarpet.js +21 -35
- package/lib/mqtt/useCarpetClean.js +1 -4
- package/lib/mqtt/useDeviceModel.js +1 -4
- package/lib/mqtt/useFurnitureModel.js +1 -4
- package/lib/mqtt/useHistoryMap.js +8 -21
- package/lib/mqtt/usePartDivision.js +6 -20
- package/lib/mqtt/usePartMerge.js +1 -3
- package/lib/mqtt/usePassword.js +2 -9
- package/lib/mqtt/useQuiteHours.js +1 -4
- package/lib/mqtt/useRoomProperty.js +7 -10
- package/lib/mqtt/useSchedule.js +13 -13
- package/lib/mqtt/useSelectRoomClean.js +13 -15
- package/lib/mqtt/useSpotClean.js +12 -15
- package/lib/mqtt/useVirtualArea.js +1 -4
- package/lib/mqtt/useVirtualWall.js +1 -4
- package/lib/mqtt/useVoice.js +4 -7
- package/lib/mqtt/useWifiMap.js +1 -5
- package/lib/mqtt/useZoneClean.js +11 -13
- package/package.json +1 -1
- package/lib/mqtt/type/fun.d.ts +0 -248
- package/lib/mqtt/type/fun.js +0 -146
- package/lib/myLib/zod/mini/index.d.cts +0 -1
- package/lib/myLib/zod/mini/index.d.ts +0 -1
- package/lib/myLib/zod/mini/index.js +0 -1
- package/lib/myLib/zod/mini/package.json +0 -6
- package/lib/myLib/zod/src/mini/index.d.ts +0 -1
- package/lib/myLib/zod/src/mini/index.js +0 -1
- package/lib/myLib/zod/src/v4/core/api.d.ts +0 -306
- package/lib/myLib/zod/src/v4/core/api.js +0 -1256
- package/lib/myLib/zod/src/v4/core/checks.d.ts +0 -278
- package/lib/myLib/zod/src/v4/core/checks.js +0 -816
- package/lib/myLib/zod/src/v4/core/config.d.ts +0 -9
- package/lib/myLib/zod/src/v4/core/config.js +0 -5
- package/lib/myLib/zod/src/v4/core/core.d.ts +0 -70
- package/lib/myLib/zod/src/v4/core/core.js +0 -95
- package/lib/myLib/zod/src/v4/core/doc.d.ts +0 -14
- package/lib/myLib/zod/src/v4/core/doc.js +0 -42
- package/lib/myLib/zod/src/v4/core/errors.d.ts +0 -220
- package/lib/myLib/zod/src/v4/core/errors.js +0 -232
- package/lib/myLib/zod/src/v4/core/index.d.ts +0 -15
- package/lib/myLib/zod/src/v4/core/index.js +0 -15
- package/lib/myLib/zod/src/v4/core/json-schema-generator.d.ts +0 -65
- package/lib/myLib/zod/src/v4/core/json-schema-generator.js +0 -120
- package/lib/myLib/zod/src/v4/core/json-schema-processors.d.ts +0 -49
- package/lib/myLib/zod/src/v4/core/json-schema-processors.js +0 -593
- package/lib/myLib/zod/src/v4/core/json-schema.d.ts +0 -88
- package/lib/myLib/zod/src/v4/core/json-schema.js +0 -1
- package/lib/myLib/zod/src/v4/core/parse.d.ts +0 -49
- package/lib/myLib/zod/src/v4/core/parse.js +0 -147
- package/lib/myLib/zod/src/v4/core/regexes.d.ts +0 -78
- package/lib/myLib/zod/src/v4/core/regexes.js +0 -146
- package/lib/myLib/zod/src/v4/core/registries.d.ts +0 -35
- package/lib/myLib/zod/src/v4/core/registries.js +0 -51
- package/lib/myLib/zod/src/v4/core/schemas.d.ts +0 -1136
- package/lib/myLib/zod/src/v4/core/schemas.js +0 -2745
- package/lib/myLib/zod/src/v4/core/standard-schema.d.ts +0 -126
- package/lib/myLib/zod/src/v4/core/standard-schema.js +0 -1
- package/lib/myLib/zod/src/v4/core/to-json-schema.d.ts +0 -114
- package/lib/myLib/zod/src/v4/core/to-json-schema.js +0 -488
- package/lib/myLib/zod/src/v4/core/util.d.ts +0 -199
- package/lib/myLib/zod/src/v4/core/util.js +0 -656
- package/lib/myLib/zod/src/v4/core/versions.d.ts +0 -5
- package/lib/myLib/zod/src/v4/core/versions.js +0 -5
- package/lib/myLib/zod/src/v4/core/zsf.d.ts +0 -91
- package/lib/myLib/zod/src/v4/core/zsf.js +0 -1
- package/lib/myLib/zod/src/v4/mini/checks.d.ts +0 -1
- package/lib/myLib/zod/src/v4/mini/checks.js +0 -1
- package/lib/myLib/zod/src/v4/mini/coerce.d.ts +0 -7
- package/lib/myLib/zod/src/v4/mini/coerce.js +0 -27
- package/lib/myLib/zod/src/v4/mini/external.d.ts +0 -11
- package/lib/myLib/zod/src/v4/mini/external.js +0 -16
- package/lib/myLib/zod/src/v4/mini/index.d.ts +0 -530
- package/lib/myLib/zod/src/v4/mini/index.js +0 -30
- package/lib/myLib/zod/src/v4/mini/iso.d.ts +0 -22
- package/lib/myLib/zod/src/v4/mini/iso.js +0 -46
- package/lib/myLib/zod/src/v4/mini/parse.d.ts +0 -1
- package/lib/myLib/zod/src/v4/mini/parse.js +0 -1
- package/lib/myLib/zod/src/v4/mini/schemas.js +0 -1244
|
@@ -1,32 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
19
|
-
reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
20
|
-
version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
21
|
-
taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
22
|
-
num: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
23
|
-
modes: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
|
|
24
|
-
polygons: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
25
|
-
names: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
26
|
-
mapId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
27
|
-
}, z.core.$strip>;
|
|
28
|
-
export type SetVirtualAreaData = z.infer<typeof setVirtualAreaSchema>;
|
|
29
|
-
export type VirtualAreaResponse = z.infer<typeof virtualAreaResponseSchema>;
|
|
1
|
+
import type { BaseResponse, Point } from './base';
|
|
2
|
+
export interface VirtualAreaItem {
|
|
3
|
+
points: Point[];
|
|
4
|
+
name: string;
|
|
5
|
+
mode: number;
|
|
6
|
+
}
|
|
7
|
+
export interface SetVirtualAreaData {
|
|
8
|
+
data: VirtualAreaItem[];
|
|
9
|
+
origin: Point;
|
|
10
|
+
}
|
|
11
|
+
export interface VirtualAreaResponse extends BaseResponse {
|
|
12
|
+
num: number;
|
|
13
|
+
modes: number[];
|
|
14
|
+
polygons: string[];
|
|
15
|
+
names: string[];
|
|
16
|
+
mapId: number;
|
|
17
|
+
}
|
|
30
18
|
export type TRequestVirtualArea = () => Promise<VirtualAreaResponse>;
|
|
31
19
|
export type TSetVirtualArea = (data: SetVirtualAreaData) => Promise<VirtualAreaResponse>;
|
|
32
|
-
export {};
|
|
@@ -1,36 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseResponseSchema, Point } from './base';
|
|
3
|
-
|
|
4
|
-
// 虚拟区域项 Schema
|
|
5
|
-
const virtualAreaItemSchema = z.object({
|
|
6
|
-
points: z.array(Point),
|
|
7
|
-
// 区域点集
|
|
8
|
-
name: z.string(),
|
|
9
|
-
// 区域名称
|
|
10
|
-
mode: z.int() // 模式
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
// 设置虚拟区域参数 Schema
|
|
14
|
-
export const setVirtualAreaSchema = z.object({
|
|
15
|
-
data: z.array(virtualAreaItemSchema),
|
|
16
|
-
// 虚拟区域的数据数组
|
|
17
|
-
origin: Point // 原点坐标
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// 虚拟区域响应 Schema
|
|
21
|
-
const virtualAreaResponseSchema = z.extend(BaseResponseSchema, {
|
|
22
|
-
// 虚拟区域的数量
|
|
23
|
-
num: z.int(),
|
|
24
|
-
// 模式数组,每个元素为一个区域的模式
|
|
25
|
-
modes: z.array(z.int()),
|
|
26
|
-
// 多边形数组,每个元素为一个多边形的坐标字符串
|
|
27
|
-
polygons: z.array(z.string()),
|
|
28
|
-
// 名称数组,每个元素为一个区域的名称
|
|
29
|
-
names: z.array(z.string()),
|
|
30
|
-
// 地图ID
|
|
31
|
-
mapId: z.int()
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// 类型导出
|
|
35
|
-
|
|
36
|
-
// 函数类型定义
|
|
1
|
+
export {};
|
|
@@ -1,27 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
data:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
declare const virtualWallResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
|
|
13
|
-
success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
|
|
14
|
-
errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
15
|
-
reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
16
|
-
version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
17
|
-
taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
18
|
-
modes: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
|
|
19
|
-
num: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
20
|
-
mapId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
21
|
-
points: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
|
|
22
|
-
}, z.core.$strip>;
|
|
23
|
-
export type SetVirtualWallData = z.infer<typeof setVirtualWallSchema>;
|
|
24
|
-
export type VirtualWallResponse = z.infer<typeof virtualWallResponseSchema>;
|
|
1
|
+
import type { BaseResponse, Point } from './base';
|
|
2
|
+
export interface SetVirtualWallData {
|
|
3
|
+
data: Point[][];
|
|
4
|
+
origin: Point;
|
|
5
|
+
}
|
|
6
|
+
export interface VirtualWallResponse extends BaseResponse {
|
|
7
|
+
modes: number[];
|
|
8
|
+
num: number;
|
|
9
|
+
mapId: number;
|
|
10
|
+
points: string[];
|
|
11
|
+
}
|
|
25
12
|
export type TRequestVirtualWall = () => Promise<VirtualWallResponse>;
|
|
26
13
|
export type TSetVirtualWall = (data: SetVirtualWallData) => Promise<VirtualWallResponse>;
|
|
27
|
-
export {};
|
|
@@ -1,25 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseResponseSchema, Point } from './base';
|
|
3
|
-
|
|
4
|
-
// 设置虚拟墙参数 Schema
|
|
5
|
-
export const setVirtualWallSchema = z.object({
|
|
6
|
-
data: z.array(z.array(Point)),
|
|
7
|
-
// 虚拟墙的点数组(二维数组)
|
|
8
|
-
origin: Point // 原点坐标
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
// 虚拟墙响应 Schema
|
|
12
|
-
const virtualWallResponseSchema = z.extend(BaseResponseSchema, {
|
|
13
|
-
// 虚拟墙的模式
|
|
14
|
-
modes: z.array(z.int()),
|
|
15
|
-
// 虚拟墙的数量
|
|
16
|
-
num: z.int(),
|
|
17
|
-
// 地图ID
|
|
18
|
-
mapId: z.int(),
|
|
19
|
-
// 虚拟墙的点数组(字符串格式)
|
|
20
|
-
points: z.array(z.string())
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
// 类型导出
|
|
24
|
-
|
|
25
|
-
// 函数类型定义
|
|
1
|
+
export {};
|
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
id:
|
|
4
|
-
url:
|
|
5
|
-
md5:
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
13
|
-
id: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
14
|
-
schedule: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
15
|
-
status: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
|
|
16
|
-
}, z.core.$strip>;
|
|
17
|
-
export type SetVoiceData = z.infer<typeof setVoiceSchema>;
|
|
18
|
-
export type VoiceLanguageResponse = z.infer<typeof voiceLanguageResponseSchema>;
|
|
1
|
+
import type { BaseResponse } from './base';
|
|
2
|
+
export interface SetVoiceData {
|
|
3
|
+
id: number;
|
|
4
|
+
url: string;
|
|
5
|
+
md5: string;
|
|
6
|
+
}
|
|
7
|
+
export interface VoiceLanguageResponse extends BaseResponse {
|
|
8
|
+
id: number;
|
|
9
|
+
schedule: number;
|
|
10
|
+
status: number;
|
|
11
|
+
}
|
|
19
12
|
export type TRequestVoiceInUse = () => Promise<VoiceLanguageResponse>;
|
|
20
13
|
export type TSetVoice = (data: SetVoiceData) => Promise<VoiceLanguageResponse>;
|
|
21
|
-
export {};
|
|
@@ -1,23 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseResponseSchema } from './base';
|
|
3
|
-
|
|
4
|
-
// 设置语音语言参数 Schema
|
|
5
|
-
export const setVoiceSchema = z.object({
|
|
6
|
-
id: z.int(),
|
|
7
|
-
url: z.string(),
|
|
8
|
-
md5: z.string()
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
// 语音语言响应 Schema
|
|
12
|
-
const voiceLanguageResponseSchema = z.extend(BaseResponseSchema, {
|
|
13
|
-
// 语音语言ID
|
|
14
|
-
id: z.int(),
|
|
15
|
-
// 进度百分比
|
|
16
|
-
schedule: z.int(),
|
|
17
|
-
// 状态码
|
|
18
|
-
status: z.int()
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
// 类型导出
|
|
22
|
-
|
|
23
|
-
// 函数类型定义
|
|
1
|
+
export {};
|
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
taskId
|
|
4
|
-
switch
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
|
|
8
|
-
errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
|
|
9
|
-
reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
10
|
-
version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
11
|
-
taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
|
|
12
|
-
}, z.core.$strip>;
|
|
13
|
-
export type SetWifiMapData = z.infer<typeof setWifiMapSchema>;
|
|
14
|
-
export type WifiMapResponse = z.infer<typeof wifiMapResponseSchema>;
|
|
1
|
+
import type { BaseResponse } from './base';
|
|
2
|
+
export interface SetWifiMapData {
|
|
3
|
+
taskId?: string;
|
|
4
|
+
switch?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export type WifiMapResponse = BaseResponse;
|
|
15
7
|
export type TRequestWifiMap = () => Promise<WifiMapResponse>;
|
|
16
8
|
export type TSetWifiMap = (data: SetWifiMapData) => Promise<WifiMapResponse>;
|
|
17
|
-
export {};
|
|
@@ -1,15 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseResponseSchema } from './base';
|
|
3
|
-
|
|
4
|
-
// 设置 WiFi 地图参数 Schema
|
|
5
|
-
export const setWifiMapSchema = z.object({
|
|
6
|
-
taskId: z.optional(z.string()),
|
|
7
|
-
switch: z.optional(z.boolean())
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
// WiFi 地图响应 Schema(BaseResponseSchema 已包含所有必需字段)
|
|
11
|
-
const wifiMapResponseSchema = BaseResponseSchema;
|
|
12
|
-
|
|
13
|
-
// 类型导出
|
|
14
|
-
|
|
15
|
-
// 函数类型定义
|
|
1
|
+
export {};
|
|
@@ -1,52 +1,39 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
names: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
39
|
-
suctions: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
40
|
-
cisterns: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
|
|
41
|
-
waterValues: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
|
|
42
|
-
cleanCounts: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
43
|
-
yMops: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
|
|
44
|
-
sweepMopModes: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
45
|
-
routePreferences: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>>;
|
|
46
|
-
}, z.core.$strip>;
|
|
47
|
-
export type SetZoneCleanData = z.infer<typeof setZoneCleanSchema>;
|
|
48
|
-
export type ZoneCleanResponse = z.infer<typeof setZoneCleanResponseSchema>;
|
|
49
|
-
export declare function validateSetZoneClean(data: SetZoneCleanData): void;
|
|
1
|
+
import type { BaseResponse, Point, StringOrNumber } from './base';
|
|
2
|
+
export interface ZoneAdvancedConfig {
|
|
3
|
+
id: number;
|
|
4
|
+
localSave: number;
|
|
5
|
+
cleanMode: number;
|
|
6
|
+
order: number;
|
|
7
|
+
cleanTimes: number;
|
|
8
|
+
suction: number;
|
|
9
|
+
cistern: number;
|
|
10
|
+
}
|
|
11
|
+
export interface ZoneCleanItem {
|
|
12
|
+
points: Point[];
|
|
13
|
+
name?: string;
|
|
14
|
+
advanced?: ZoneAdvancedConfig;
|
|
15
|
+
}
|
|
16
|
+
export interface SetZoneCleanData {
|
|
17
|
+
zones: ZoneCleanItem[];
|
|
18
|
+
origin: Point;
|
|
19
|
+
suctions?: string[];
|
|
20
|
+
cisterns?: StringOrNumber[];
|
|
21
|
+
waterValues?: StringOrNumber[];
|
|
22
|
+
cleanCounts?: number[];
|
|
23
|
+
yMops?: number[];
|
|
24
|
+
sweepMopModes?: string[];
|
|
25
|
+
routePreferences?: string[];
|
|
26
|
+
}
|
|
27
|
+
export interface ZoneCleanResponse extends BaseResponse {
|
|
28
|
+
polygons: string[];
|
|
29
|
+
names?: string[];
|
|
30
|
+
suctions?: string[];
|
|
31
|
+
cisterns?: StringOrNumber[];
|
|
32
|
+
waterValues?: StringOrNumber[];
|
|
33
|
+
cleanCounts?: number[];
|
|
34
|
+
yMops?: number[];
|
|
35
|
+
sweepMopModes?: string[];
|
|
36
|
+
routePreferences?: string[];
|
|
37
|
+
}
|
|
50
38
|
export type TSetZoneClean = (data: SetZoneCleanData) => Promise<ZoneCleanResponse>;
|
|
51
39
|
export type TRequestZoneClean = () => Promise<ZoneCleanResponse>;
|
|
52
|
-
export {};
|
|
@@ -1,76 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { MqttError } from '../../promise';
|
|
3
|
-
import { BaseResponseSchema, Point } from './base';
|
|
4
|
-
const VALIDATION_ERROR_CODE = -2;
|
|
5
|
-
const zoneSchema = z.object({
|
|
6
|
-
// 区域点集
|
|
7
|
-
points: z.array(Point),
|
|
8
|
-
// 区域名称
|
|
9
|
-
name: z.optional(z.string()),
|
|
10
|
-
// 区域高级设置
|
|
11
|
-
advanced: z.optional(z.object({
|
|
12
|
-
id: z.int(),
|
|
13
|
-
localSave: z.int(),
|
|
14
|
-
cleanMode: z.int(),
|
|
15
|
-
order: z.int(),
|
|
16
|
-
cleanTimes: z.int(),
|
|
17
|
-
suction: z.int(),
|
|
18
|
-
cistern: z.int()
|
|
19
|
-
}))
|
|
20
|
-
});
|
|
21
|
-
export const setZoneCleanSchema = z.object({
|
|
22
|
-
zones: z.array(zoneSchema),
|
|
23
|
-
origin: Point,
|
|
24
|
-
suctions: z.optional(z.array(z.string())),
|
|
25
|
-
cisterns: z.optional(z.array(z.union([z.string(), z.number()]))),
|
|
26
|
-
waterValues: z.optional(z.array(z.union([z.string(), z.number()]))),
|
|
27
|
-
cleanCounts: z.optional(z.array(z.int())),
|
|
28
|
-
yMops: z.optional(z.array(z.int())),
|
|
29
|
-
sweepMopModes: z.optional(z.array(z.string())),
|
|
30
|
-
routePreferences: z.optional(z.array(z.string()))
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
// 划区清扫响应 Schema
|
|
34
|
-
const setZoneCleanResponseSchema = z.extend(BaseResponseSchema, {
|
|
35
|
-
// 区域坐标
|
|
36
|
-
polygons: z.array(z.string()),
|
|
37
|
-
// 区域名称
|
|
38
|
-
names: z.optional(z.array(z.string())),
|
|
39
|
-
// 吸力, closed - 关闭 gentle - 安静 normal - 正常 strong - 强劲 max - 超强 ,默认值为''
|
|
40
|
-
suctions: z.optional(z.array(z.string())),
|
|
41
|
-
// 拖地水量 "closed"- 关闭,"low"-低,"middle"-中,"high"-高,默认值为''
|
|
42
|
-
cisterns: z.optional(z.array(z.union([z.string(), z.number()]))),
|
|
43
|
-
// 自定义拖地水量
|
|
44
|
-
waterValues: z.optional(z.array(z.union([z.string(), z.number()]))),
|
|
45
|
-
// 清扫次数 默认值1
|
|
46
|
-
cleanCounts: z.optional(z.array(z.int())),
|
|
47
|
-
// 拖地模式 1:开启Y型拖地 0:关闭Y型拖地 -1 未设置 默认值-1
|
|
48
|
-
yMops: z.optional(z.array(z.int())),
|
|
49
|
-
// 扫拖模式 "only_sweep":仅扫,"only_mop":仅拖,"both_work":扫拖同时,"clean_before_mop":先扫后拖,默认值为'only_sweep'
|
|
50
|
-
sweepMopModes: z.optional(z.array(z.string())),
|
|
51
|
-
// 路线偏好
|
|
52
|
-
routePreferences: z.optional(z.array(z.string()))
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
// 类型导出
|
|
56
|
-
|
|
57
|
-
export function validateSetZoneClean(data) {
|
|
58
|
-
const num = data.zones.length;
|
|
59
|
-
const validateLength = (name, value) => {
|
|
60
|
-
if (value && value.length !== num) {
|
|
61
|
-
throw new MqttError(`${name} length must be ${num}, actual is ${value.length}`, {
|
|
62
|
-
errCode: VALIDATION_ERROR_CODE,
|
|
63
|
-
reqType: 'set_zone_clean'
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
validateLength('suctions', data.suctions);
|
|
68
|
-
validateLength('cisterns', data.cisterns);
|
|
69
|
-
validateLength('waterValues', data.waterValues);
|
|
70
|
-
validateLength('cleanCounts', data.cleanCounts);
|
|
71
|
-
validateLength('yMops', data.yMops);
|
|
72
|
-
validateLength('sweepMopModes', data.sweepMopModes);
|
|
73
|
-
validateLength('routePreferences', data.routePreferences);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// 函数类型定义
|
|
1
|
+
export {};
|
package/lib/mqtt/useCarpet.js
CHANGED
|
@@ -4,7 +4,6 @@ import { pointsToString } from '../utils';
|
|
|
4
4
|
import { pickBy } from 'lodash-es';
|
|
5
5
|
import { CarpetEnum } from './type/requestType';
|
|
6
6
|
import { useStructuredMessage, handleMqttError } from './hooks/useStructuredMessage';
|
|
7
|
-
import { validator } from './type/fun';
|
|
8
7
|
|
|
9
8
|
// 导出类型供外部使用
|
|
10
9
|
|
|
@@ -50,17 +49,15 @@ export const useCarpet = () => {
|
|
|
50
49
|
addCarpet: carpetInfo => {
|
|
51
50
|
return new Promise((resolve, reject) => {
|
|
52
51
|
try {
|
|
53
|
-
// 使用 TypeBox Schema 进行参数验证
|
|
54
|
-
const validatedData = validator.validate('add_carpet', carpetInfo);
|
|
55
52
|
const sendData = {
|
|
56
|
-
shape:
|
|
57
|
-
polygons:
|
|
58
|
-
num:
|
|
59
|
-
type:
|
|
60
|
-
cleanMode:
|
|
61
|
-
autoBoost:
|
|
62
|
-
fineCleaning:
|
|
63
|
-
sideBrushRotating:
|
|
53
|
+
shape: carpetInfo.shape,
|
|
54
|
+
polygons: carpetInfo.polygons.map(i => pointsToString(i)),
|
|
55
|
+
num: carpetInfo.num,
|
|
56
|
+
type: carpetInfo.type,
|
|
57
|
+
cleanMode: carpetInfo.cleanMode,
|
|
58
|
+
autoBoost: carpetInfo.autoBoost,
|
|
59
|
+
fineCleaning: carpetInfo.fineCleaning,
|
|
60
|
+
sideBrushRotating: carpetInfo.sideBrushRotating
|
|
64
61
|
};
|
|
65
62
|
sendStructuredMessage(CarpetEnum.add, {
|
|
66
63
|
carpetInfo: sendData
|
|
@@ -73,13 +70,8 @@ export const useCarpet = () => {
|
|
|
73
70
|
updateCarpet: carpetInfo => {
|
|
74
71
|
return new Promise((resolve, reject) => {
|
|
75
72
|
try {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
// 构建发送数据,只包含传入的字段
|
|
80
|
-
// 先处理需要特殊转换的字段
|
|
81
|
-
const processedData = _objectSpread(_objectSpread({}, validatedData), validatedData.polygons !== undefined && {
|
|
82
|
-
polygons: validatedData.polygons.map(i => pointsToString(i))
|
|
73
|
+
const processedData = _objectSpread(_objectSpread({}, carpetInfo), carpetInfo.polygons !== undefined && {
|
|
74
|
+
polygons: carpetInfo.polygons.map(i => pointsToString(i))
|
|
83
75
|
});
|
|
84
76
|
|
|
85
77
|
// 使用 lodash pickBy 过滤掉 undefined 值
|
|
@@ -95,11 +87,9 @@ export const useCarpet = () => {
|
|
|
95
87
|
deleteCarpet: data => {
|
|
96
88
|
return new Promise((resolve, reject) => {
|
|
97
89
|
try {
|
|
98
|
-
// 使用 TypeBox Schema 进行参数验证
|
|
99
|
-
const validatedData = validator.validate('delete_carpet', data);
|
|
100
90
|
sendStructuredMessage(CarpetEnum.delete, {
|
|
101
91
|
carpetInfo: {
|
|
102
|
-
ids:
|
|
92
|
+
ids: data.ids
|
|
103
93
|
}
|
|
104
94
|
}, resolve, error => reject(handleMqttError(error, 'Failed to delete carpet')), CarpetEnum.delete);
|
|
105
95
|
} catch (error) {
|
|
@@ -111,9 +101,7 @@ export const useCarpet = () => {
|
|
|
111
101
|
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
112
102
|
return new Promise((resolve, reject) => {
|
|
113
103
|
try {
|
|
114
|
-
|
|
115
|
-
const validatedParams = validator.validate('query_carpet', data);
|
|
116
|
-
sendStructuredMessage(CarpetEnum.query, validatedParams, resolve, error => reject(handleMqttError(error, 'Failed to query carpet')), CarpetEnum.query);
|
|
104
|
+
sendStructuredMessage(CarpetEnum.query, data, resolve, error => reject(handleMqttError(error, 'Failed to query carpet')), CarpetEnum.query);
|
|
117
105
|
} catch (error) {
|
|
118
106
|
reject(handleMqttError(error, 'Failed to query carpet'));
|
|
119
107
|
}
|
|
@@ -122,18 +110,16 @@ export const useCarpet = () => {
|
|
|
122
110
|
setCarpet: carpetInfo => {
|
|
123
111
|
return new Promise((resolve, reject) => {
|
|
124
112
|
try {
|
|
125
|
-
// 使用 TypeBox Schema 进行参数验证
|
|
126
|
-
const validatedData = validator.validate('set_carpet', carpetInfo);
|
|
127
113
|
const sendData = {
|
|
128
|
-
num:
|
|
129
|
-
polygons:
|
|
130
|
-
cleanMode:
|
|
131
|
-
autoBoost:
|
|
132
|
-
fineCleaning:
|
|
133
|
-
sideBrushRotating:
|
|
134
|
-
shape:
|
|
135
|
-
ids:
|
|
136
|
-
type:
|
|
114
|
+
num: carpetInfo.num,
|
|
115
|
+
polygons: carpetInfo.polygons.map(i => pointsToString(i)),
|
|
116
|
+
cleanMode: carpetInfo.cleanMode,
|
|
117
|
+
autoBoost: carpetInfo.autoBoost,
|
|
118
|
+
fineCleaning: carpetInfo.fineCleaning,
|
|
119
|
+
sideBrushRotating: carpetInfo.sideBrushRotating,
|
|
120
|
+
shape: carpetInfo.shape,
|
|
121
|
+
ids: carpetInfo.ids,
|
|
122
|
+
type: carpetInfo.type
|
|
137
123
|
};
|
|
138
124
|
sendStructuredMessage(CarpetEnum.set, sendData, resolve, error => reject(handleMqttError(error, 'Failed to set carpet')), CarpetEnum.query);
|
|
139
125
|
} catch (error) {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// 地毯清扫
|
|
2
2
|
import { handleMqttError, useStructuredMessage } from './hooks/useStructuredMessage';
|
|
3
|
-
import { validator } from './type/fun';
|
|
4
3
|
import { CarpetCleanEnum } from './type/requestType';
|
|
5
4
|
|
|
6
5
|
/**
|
|
@@ -37,10 +36,8 @@ export const useCarpetClean = () => {
|
|
|
37
36
|
setCarpetClean: data => {
|
|
38
37
|
return new Promise((resolve, reject) => {
|
|
39
38
|
try {
|
|
40
|
-
// 使用 TypeBox Schema 进行参数验证
|
|
41
|
-
const validatedData = validator.validate('set_carpet_clean', data);
|
|
42
39
|
sendStructuredMessage(CarpetCleanEnum.set, {
|
|
43
|
-
ids:
|
|
40
|
+
ids: data
|
|
44
41
|
}, resolve, error => reject(handleMqttError(error, 'Failed to set carpet clean')), CarpetCleanEnum.set);
|
|
45
42
|
} catch (error) {
|
|
46
43
|
reject(handleMqttError(error, 'Failed to set carpet clean'));
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DeviceModelEnum } from './type/requestType';
|
|
2
2
|
import { useStructuredMessage, handleMqttError } from './hooks/useStructuredMessage';
|
|
3
|
-
import { validator } from './type/fun';
|
|
4
3
|
/**
|
|
5
4
|
* 自定义 Hook,用于设备模型管理
|
|
6
5
|
* @returns 包含 requestDeviceList 和 setDeviceModel 函数的对象
|
|
@@ -35,10 +34,8 @@ export const useDeviceModel = () => {
|
|
|
35
34
|
setDeviceModel: data => {
|
|
36
35
|
return new Promise((resolve, reject) => {
|
|
37
36
|
try {
|
|
38
|
-
// 使用 TypeBox Schema 进行参数验证
|
|
39
|
-
const validatedData = validator.validate('set_device_model', data);
|
|
40
37
|
sendStructuredMessage(DeviceModelEnum.set, {
|
|
41
|
-
modelInfos:
|
|
38
|
+
modelInfos: data
|
|
42
39
|
}, resolve, error => reject(handleMqttError(error, 'Failed to set device model')), DeviceModelEnum.query);
|
|
43
40
|
} catch (error) {
|
|
44
41
|
reject(handleMqttError(error, 'Failed to set device model'));
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FurnitureModelEnum } from './type/requestType';
|
|
2
2
|
import { useStructuredMessage, handleMqttError } from './hooks/useStructuredMessage';
|
|
3
|
-
import { validator } from './type/fun';
|
|
4
3
|
/**
|
|
5
4
|
* 自定义 Hook,用于家具模型管理
|
|
6
5
|
* @returns 包含 requestFurnitureList 和 setFurnitureModel 函数的对象
|
|
@@ -35,10 +34,8 @@ export const useFurnitureModel = () => {
|
|
|
35
34
|
setFurnitureModel: data => {
|
|
36
35
|
return new Promise((resolve, reject) => {
|
|
37
36
|
try {
|
|
38
|
-
// 使用 TypeBox Schema 进行参数验证
|
|
39
|
-
const validatedData = validator.validate('set_furniture_model', data);
|
|
40
37
|
sendStructuredMessage(FurnitureModelEnum.set, {
|
|
41
|
-
modelInfos:
|
|
38
|
+
modelInfos: data
|
|
42
39
|
}, resolve, error => reject(handleMqttError(error, 'Failed to set furniture model')), FurnitureModelEnum.query);
|
|
43
40
|
} catch (error) {
|
|
44
41
|
reject(handleMqttError(error, 'Failed to set furniture model'));
|