@ray-js/robot-data-stream 0.0.15-beta.13 → 0.0.15-beta.15

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/constant.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export declare const SUCTION_MAP: Record<string, number>;
2
2
  export declare const CISTERN_MAP: Record<string, number>;
3
3
  export declare const CLEAN_MODE_MAP: Record<string, number>;
4
+ export declare const ROUTE_PREFERENCE_MAP: Record<string, number>;
4
5
  export declare enum FileNameEnum {
5
6
  map = "map.bin",
6
7
  mapStructured = "map_structured.bin",
package/lib/constant.js CHANGED
@@ -28,6 +28,17 @@ export const CLEAN_MODE_MAP = {
28
28
  clean_before_mop: 3,
29
29
  sweep_after_mop: 3
30
30
  };
31
+
32
+ // 路线偏好(四种清洁偏好)
33
+ export const ROUTE_PREFERENCE_MAP = {
34
+ standard: 0,
35
+ // 标准
36
+ fast: 1,
37
+ // 快速
38
+ deep: 2,
39
+ // 深度
40
+ custom: 3 // 自定义
41
+ };
31
42
  export let FileNameEnum = /*#__PURE__*/function (FileNameEnum) {
32
43
  FileNameEnum["map"] = "map.bin";
33
44
  FileNameEnum["mapStructured"] = "map_structured.bin";
@@ -48,11 +48,13 @@ export declare const ProtocolSchemas: {
48
48
  set_schedule: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
49
49
  list: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
50
50
  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>>>;
51
- cisterns: 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>>>;
51
+ cisterns: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
52
+ waterValues: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
52
53
  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>>;
53
54
  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>>;
54
55
  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>>>;
55
56
  ids: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
57
+ 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>>>;
56
58
  active: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
57
59
  cycle: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
58
60
  time: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
@@ -125,11 +127,13 @@ export declare const ProtocolSchemas: {
125
127
  }, z.core.$strip>;
126
128
  set_spot_clean: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
127
129
  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>>>;
128
- cisterns: 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>>>;
130
+ cisterns: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
131
+ waterValues: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
129
132
  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>>;
130
133
  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>>;
131
134
  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>>>;
132
135
  ids: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
136
+ 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>>>;
133
137
  spots: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
134
138
  x: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
135
139
  y: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
@@ -204,13 +208,15 @@ export declare const ProtocolSchemas: {
204
208
  num: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
205
209
  ids: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
206
210
  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>>>;
207
- cisterns: 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>>>;
211
+ cisterns: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
208
212
  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>>;
209
213
  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>>;
210
214
  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>>>;
211
215
  floorTypes: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
212
216
  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>>>;
213
217
  orders: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
218
+ 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>>>;
219
+ waterValues: import("../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
214
220
  }, z.core.$strip>;
215
221
  };
216
222
  export type ProtocolTypes = {
@@ -5,11 +5,13 @@ export declare const Point: import("../../../myLib/zod/src/v4/mini/schemas").Zod
5
5
  }, z.core.$strip>;
6
6
  export declare const RoomPreferenceFieldsSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
7
7
  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>>>;
8
- cisterns: 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>>>;
8
+ cisterns: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
9
+ waterValues: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
9
10
  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>>;
10
11
  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>>;
11
12
  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>>>;
12
13
  ids: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
14
+ 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>>>;
13
15
  }, z.core.$strip>;
14
16
  export declare const BaseResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
15
17
  success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
@@ -10,8 +10,10 @@ export const Point = z.object({
10
10
  export const RoomPreferenceFieldsSchema = z.object({
11
11
  // 吸力, closed - 关闭 gentle - 安静 normal - 正常 strong - 强劲 max - 超强 ,默认值为''
12
12
  suctions: z.optional(z.array(z.string())),
13
- // 拖地水量 "closed"- 关闭,"low"-低,"middle"-中,"high"-高,默认值为''
14
- cisterns: z.optional(z.array(z.string())),
13
+ // 拖地水量 "closed"- 关闭,"low"-低,"middle"-中,"high"-高,默认值为'',兼容number类型
14
+ cisterns: z.optional(z.array(z.union([z.string(), z.number()]))),
15
+ // 自定义水量的值
16
+ waterValues: z.optional(z.array(z.union([z.string(), z.number()]))),
15
17
  // 清扫次数 默认值1
16
18
  cleanCounts: z.optional(z.array(z.int())),
17
19
  // 拖地模式 1:开启Y型拖地 0:关闭Y型拖地 -1 未设置 默认值-1
@@ -19,7 +21,9 @@ export const RoomPreferenceFieldsSchema = z.object({
19
21
  // 扫拖模式 "only_sweep":仅扫,"only_mop":仅拖,"both_work":扫拖同时,"clean_before_mop":先扫后拖,默认值为'only_sweep'
20
22
  sweepMopModes: z.optional(z.array(z.string())),
21
23
  // 房间id集合
22
- ids: z.optional(z.array(z.int()))
24
+ ids: z.optional(z.array(z.int())),
25
+ // 路线偏好(四种清洁偏好): "standard"-标准, "fast"-快速, "deep"-深度, "custom"-自定义,默认值为'standard'
26
+ routePreferences: z.optional(z.array(z.string()))
23
27
  });
24
28
 
25
29
  // BaseResponse Schema(用于响应类型)
@@ -3,13 +3,15 @@ export declare const setRoomPropertySchema: import("../../../myLib/zod/src/v4/mi
3
3
  num: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
4
4
  ids: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
5
5
  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>>>;
6
- cisterns: 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>>>;
6
+ cisterns: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
7
7
  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>>;
8
8
  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>>;
9
9
  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>>>;
10
10
  floorTypes: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
11
11
  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>>>;
12
12
  orders: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
13
+ 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>>>;
14
+ waterValues: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
13
15
  }, z.core.$strip>;
14
16
  declare const roomPropertyResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
15
17
  success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
@@ -18,7 +20,7 @@ declare const roomPropertyResponseSchema: import("../../../myLib/zod/src/v4/mini
18
20
  version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
19
21
  taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
20
22
  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>>>;
21
- cisterns: 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>>>;
23
+ cisterns: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
22
24
  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>>;
23
25
  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>>;
24
26
  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>>>;
@@ -28,6 +30,8 @@ declare const roomPropertyResponseSchema: import("../../../myLib/zod/src/v4/mini
28
30
  floorTypes: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
29
31
  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>>>;
30
32
  orders: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
33
+ 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>>>;
34
+ waterValues: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
31
35
  }, z.core.$strip>;
32
36
  /**
33
37
  * 验证设置房间属性协议数据
@@ -16,8 +16,8 @@ export const setRoomPropertySchema = z.object({
16
16
  ids: z.array(z.int()).check(z.minLength(1)),
17
17
  // 吸力
18
18
  suctions: z.optional(z.array(z.string())),
19
- // 拖地水量
20
- cisterns: z.optional(z.array(z.string())),
19
+ // 拖地水量,兼容 string 和 number 类型
20
+ cisterns: z.optional(z.array(z.union([z.string(), z.number()]))),
21
21
  // 清扫次数
22
22
  cleanCounts: z.optional(z.array(z.int())),
23
23
  // 拖地模式
@@ -29,14 +29,18 @@ export const setRoomPropertySchema = z.object({
29
29
  // 房间名称
30
30
  names: z.optional(z.array(z.string())),
31
31
  // 房间顺序
32
- orders: z.optional(z.array(z.int()))
32
+ orders: z.optional(z.array(z.int())),
33
+ // 路线偏好
34
+ routePreferences: z.optional(z.array(z.string())),
35
+ // 自定义水量
36
+ waterValues: z.optional(z.array(z.union([z.string(), z.number()])))
33
37
  });
34
38
 
35
39
  // 房间属性响应 Schema
36
40
  const roomPropertyResponseSchema = z.extend(BaseResponseSchema, {
37
41
  // RoomPreferenceFieldsSchema 的字段
38
42
  suctions: z.optional(z.array(z.string())),
39
- cisterns: z.optional(z.array(z.string())),
43
+ cisterns: z.optional(z.array(z.union([z.string(), z.number()]))),
40
44
  cleanCounts: z.optional(z.array(z.int())),
41
45
  yMops: z.optional(z.array(z.int())),
42
46
  sweepMopModes: z.optional(z.array(z.string())),
@@ -50,7 +54,11 @@ const roomPropertyResponseSchema = z.extend(BaseResponseSchema, {
50
54
  // 房间名称
51
55
  names: z.optional(z.array(z.string())),
52
56
  // 房间顺序
53
- orders: z.optional(z.array(z.int()))
57
+ orders: z.optional(z.array(z.int())),
58
+ // 路线偏好
59
+ routePreferences: z.optional(z.array(z.string())),
60
+ // 自定义水量
61
+ waterValues: z.optional(z.array(z.union([z.string(), z.number()])))
54
62
  });
55
63
 
56
64
  /**
@@ -106,6 +114,12 @@ export function validateSetRoomProperty(data) {
106
114
  if (data.orders) {
107
115
  validateLength('orders', data.orders);
108
116
  }
117
+ if (data.routePreferences) {
118
+ validateLength('routePreferences', data.routePreferences);
119
+ }
120
+ if (data.waterValues) {
121
+ validateLength('waterValues', data.waterValues);
122
+ }
109
123
  }
110
124
 
111
125
  // 函数类型定义
@@ -1,11 +1,13 @@
1
1
  import * as z from '../../../myLib/zod/mini';
2
2
  export declare const ScheduleItemSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
3
3
  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>>>;
4
- cisterns: 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>>>;
4
+ cisterns: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
5
+ waterValues: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
5
6
  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>>;
6
7
  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>>;
7
8
  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>>>;
8
9
  ids: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
10
+ 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>>>;
9
11
  active: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
10
12
  cycle: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
11
13
  time: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
@@ -13,11 +15,13 @@ export declare const ScheduleItemSchema: import("../../../myLib/zod/src/v4/mini/
13
15
  export declare const setScheduleSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
14
16
  list: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
15
17
  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>>>;
16
- cisterns: 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>>>;
18
+ cisterns: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
19
+ waterValues: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
17
20
  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>>;
18
21
  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>>;
19
22
  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>>>;
20
23
  ids: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
24
+ 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>>>;
21
25
  active: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
22
26
  cycle: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
23
27
  time: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
@@ -42,11 +46,13 @@ declare const ScheduleResponseSchema: import("../../../myLib/zod/src/v4/mini/sch
42
46
  taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
43
47
  list: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
44
48
  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>>>;
45
- cisterns: 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>>>;
49
+ cisterns: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
50
+ waterValues: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
46
51
  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>>;
47
52
  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>>;
48
53
  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>>>;
49
54
  ids: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
55
+ 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>>>;
50
56
  active: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
51
57
  cycle: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
52
58
  time: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
@@ -1,11 +1,13 @@
1
1
  import * as z from '../../../myLib/zod/mini';
2
2
  export declare const setSpotCleanSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
3
3
  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>>>;
4
- cisterns: 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>>>;
4
+ cisterns: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
5
+ waterValues: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>>;
5
6
  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>>;
6
7
  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>>;
7
8
  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>>>;
8
9
  ids: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>>;
10
+ 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>>>;
9
11
  spots: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
10
12
  x: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
11
13
  y: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
@@ -45,7 +45,7 @@ export const useRoomProperty = () => {
45
45
  setRoomProperty: data => {
46
46
  return new Promise((resolve, reject) => {
47
47
  try {
48
- var _data$num, _data$suctions, _data$cisterns, _data$cleanCounts, _data$yMops, _data$sweepMopModes, _data$names;
48
+ var _data$num, _data$suctions, _data$cleanCounts, _data$yMops, _data$sweepMopModes, _data$names, _data$routePreference;
49
49
  if (!useMqtt) {
50
50
  reject(new Error('useMqtt is not used'));
51
51
  return;
@@ -60,14 +60,20 @@ export const useRoomProperty = () => {
60
60
  num: (_data$num = data.num) !== null && _data$num !== void 0 ? _data$num : len,
61
61
  ids,
62
62
  suctions: (_data$suctions = data.suctions) !== null && _data$suctions !== void 0 ? _data$suctions : new Array(len).fill('closed'),
63
- cisterns: (_data$cisterns = data.cisterns) !== null && _data$cisterns !== void 0 ? _data$cisterns : new Array(len).fill('closed'),
64
63
  cleanCounts: (_data$cleanCounts = data.cleanCounts) !== null && _data$cleanCounts !== void 0 ? _data$cleanCounts : new Array(len).fill(1),
65
64
  yMops: (_data$yMops = data.yMops) !== null && _data$yMops !== void 0 ? _data$yMops : new Array(len).fill(-1),
66
65
  sweepMopModes: (_data$sweepMopModes = data.sweepMopModes) !== null && _data$sweepMopModes !== void 0 ? _data$sweepMopModes : new Array(len).fill('only_sweep'),
67
66
  names: (_data$names = data.names) !== null && _data$names !== void 0 ? _data$names : new Array(len).fill(''),
68
67
  floorTypes: data.floorTypes,
69
- orders: data.orders
68
+ orders: data.orders,
69
+ routePreferences: (_data$routePreference = data.routePreferences) !== null && _data$routePreference !== void 0 ? _data$routePreference : new Array(len).fill('standard')
70
70
  };
71
+ // 自定义水量:有传则带上,与 cisterns 并存以兼容旧端
72
+ if (data.waterValues) {
73
+ sendData.waterValues = data.waterValues;
74
+ } else {
75
+ sendData.waterValues = new Array(len).fill('');
76
+ }
71
77
 
72
78
  // 使用 TypeBox Schema 进行参数验证(包含自定义验证逻辑)
73
79
  const validatedData = validator.validate('set_room_property', sendData);
@@ -2,7 +2,7 @@ import "core-js/modules/esnext.iterator.map.js";
2
2
  // 定时
3
3
  import { encodeDeviceTimer0x30 } from '@ray-js/robot-protocol';
4
4
  import { useContext } from 'react';
5
- import { CISTERN_MAP, CLEAN_MODE_MAP, SUCTION_MAP } from '../constant';
5
+ import { CISTERN_MAP, CLEAN_MODE_MAP, SUCTION_MAP, ROUTE_PREFERENCE_MAP } from '../constant';
6
6
  import { handleMqttError, useStructuredMessage } from './hooks/useStructuredMessage';
7
7
  import { SingletonContext } from './mqttProvider';
8
8
  import { ScheduleEnum } from './type';
@@ -72,13 +72,14 @@ export const useSchedule = () => {
72
72
  cleanCounts,
73
73
  cycle,
74
74
  cisterns,
75
- time
75
+ time,
76
+ routePreferences
76
77
  } = _ref;
77
78
  return {
78
79
  effectiveness: active,
79
80
  cleanMode: CLEAN_MODE_MAP[(sweepMopModes === null || sweepMopModes === void 0 ? void 0 : sweepMopModes[0]) || ''],
80
81
  fanLevel: SUCTION_MAP[(suctions === null || suctions === void 0 ? void 0 : suctions[0]) || ''],
81
- waterLevel: CISTERN_MAP[(cisterns === null || cisterns === void 0 ? void 0 : cisterns[0]) || ''],
82
+ waterLevel: typeof (cisterns === null || cisterns === void 0 ? void 0 : cisterns[0]) === 'number' ? cisterns[0] : CISTERN_MAP[(cisterns === null || cisterns === void 0 ? void 0 : cisterns[0]) || ''],
82
83
  time: {
83
84
  hour: time[0],
84
85
  minute: time[1]
@@ -86,7 +87,8 @@ export const useSchedule = () => {
86
87
  week: cycle,
87
88
  sweepCount: (cleanCounts === null || cleanCounts === void 0 ? void 0 : cleanCounts[0]) || 1,
88
89
  roomIds: ids || [],
89
- roomNum: (ids === null || ids === void 0 ? void 0 : ids.length) || 0
90
+ roomNum: (ids === null || ids === void 0 ? void 0 : ids.length) || 0,
91
+ routePreference: ROUTE_PREFERENCE_MAP[(routePreferences === null || routePreferences === void 0 ? void 0 : routePreferences[0]) || 'standard']
90
92
  };
91
93
  })
92
94
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ray-js/robot-data-stream",
3
- "version": "0.0.15-beta.13",
3
+ "version": "0.0.15-beta.15",
4
4
  "description": "扫地机P2P数据流标准化组件",
5
5
  "main": "lib/index",
6
6
  "files": [