@ray-js/robot-data-stream 0.0.14 → 0.0.15-beta.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.
Files changed (157) hide show
  1. package/lib/api/sweeperP2p.js +1 -1
  2. package/lib/mqtt/createCommonOptions.d.ts +4 -2
  3. package/lib/mqtt/createCommonOptions.js +10 -5
  4. package/lib/mqtt/hooks/useStructuredMessage.d.ts +17 -0
  5. package/lib/mqtt/hooks/useStructuredMessage.js +206 -0
  6. package/lib/mqtt/mqttProvider.d.ts +28 -1
  7. package/lib/mqtt/mqttProvider.js +72 -9
  8. package/lib/mqtt/promise.d.ts +57 -4
  9. package/lib/mqtt/promise.js +115 -36
  10. package/lib/mqtt/type/fun.d.ts +233 -0
  11. package/lib/mqtt/type/fun.js +145 -0
  12. package/lib/mqtt/type/index.d.ts +0 -7
  13. package/lib/mqtt/type/index.js +0 -1
  14. package/lib/mqtt/type/protocols/base.d.ts +21 -0
  15. package/lib/mqtt/type/protocols/base.js +32 -0
  16. package/lib/mqtt/type/protocols/carpetCleanProtocol.d.ts +14 -0
  17. package/lib/mqtt/type/protocols/carpetCleanProtocol.js +14 -0
  18. package/lib/mqtt/type/protocols/carpetProtocol.d.ts +102 -0
  19. package/lib/mqtt/type/protocols/carpetProtocol.js +202 -0
  20. package/lib/mqtt/type/protocols/devInfoProtocol.d.ts +11 -0
  21. package/lib/mqtt/type/protocols/devInfoProtocol.js +10 -0
  22. package/lib/mqtt/type/protocols/deviceModelProtocol.d.ts +31 -0
  23. package/lib/mqtt/type/protocols/deviceModelProtocol.js +32 -0
  24. package/lib/mqtt/type/protocols/furnitureModelProtocol.d.ts +27 -0
  25. package/lib/mqtt/type/protocols/furnitureModelProtocol.js +27 -0
  26. package/lib/mqtt/type/protocols/historyMapProtocol.d.ts +39 -0
  27. package/lib/mqtt/type/protocols/historyMapProtocol.js +37 -0
  28. package/lib/mqtt/type/protocols/index.d.ts +20 -0
  29. package/lib/mqtt/type/protocols/index.js +20 -0
  30. package/lib/mqtt/type/protocols/partDivisionProtocol.d.ts +20 -0
  31. package/lib/mqtt/type/protocols/partDivisionProtocol.js +12 -0
  32. package/lib/mqtt/type/protocols/partMergeProtocol.d.ts +13 -0
  33. package/lib/mqtt/type/protocols/partMergeProtocol.js +12 -0
  34. package/lib/mqtt/type/protocols/passwordProtocol.d.ts +24 -0
  35. package/lib/mqtt/type/protocols/passwordProtocol.js +25 -0
  36. package/lib/mqtt/type/protocols/quietHoursProtocol.d.ts +29 -0
  37. package/lib/mqtt/type/protocols/quietHoursProtocol.js +35 -0
  38. package/lib/mqtt/type/protocols/resetMapProtocol.d.ts +4 -0
  39. package/lib/mqtt/type/protocols/resetMapProtocol.js +1 -0
  40. package/lib/mqtt/type/protocols/roomPropertyProtocol.d.ts +42 -0
  41. package/lib/mqtt/type/protocols/roomPropertyProtocol.js +113 -0
  42. package/lib/mqtt/type/protocols/scheduleProtocol.d.ts +62 -0
  43. package/lib/mqtt/type/protocols/scheduleProtocol.js +100 -0
  44. package/lib/mqtt/type/protocols/selectRoomCleanProtocol.d.ts +27 -0
  45. package/lib/mqtt/type/protocols/selectRoomCleanProtocol.js +40 -0
  46. package/lib/mqtt/type/protocols/spotCleanProtocol.d.ts +38 -0
  47. package/lib/mqtt/type/protocols/spotCleanProtocol.js +72 -0
  48. package/lib/mqtt/type/protocols/virtualAreaProtocol.d.ts +32 -0
  49. package/lib/mqtt/type/protocols/virtualAreaProtocol.js +36 -0
  50. package/lib/mqtt/type/protocols/virtualWallProtocol.d.ts +27 -0
  51. package/lib/mqtt/type/protocols/virtualWallProtocol.js +25 -0
  52. package/lib/mqtt/type/protocols/voiceProtocol.d.ts +21 -0
  53. package/lib/mqtt/type/protocols/voiceProtocol.js +23 -0
  54. package/lib/mqtt/type/protocols/wifiMapProtocol.d.ts +16 -0
  55. package/lib/mqtt/type/protocols/wifiMapProtocol.js +14 -0
  56. package/lib/mqtt/type/protocols/zoneCleanProtocol.d.ts +47 -0
  57. package/lib/mqtt/type/protocols/zoneCleanProtocol.js +49 -0
  58. package/lib/mqtt/useCarpet.d.ts +7 -67
  59. package/lib/mqtt/useCarpet.js +101 -181
  60. package/lib/mqtt/useCarpetClean.d.ts +2 -11
  61. package/lib/mqtt/useCarpetClean.js +26 -50
  62. package/lib/mqtt/useDevInfo.d.ts +8 -6
  63. package/lib/mqtt/useDevInfo.js +44 -36
  64. package/lib/mqtt/useDeviceModel.d.ts +6 -19
  65. package/lib/mqtt/useDeviceModel.js +31 -42
  66. package/lib/mqtt/useFurnitureModel.d.ts +6 -18
  67. package/lib/mqtt/useFurnitureModel.js +31 -43
  68. package/lib/mqtt/useHistoryMap.d.ts +2 -18
  69. package/lib/mqtt/useHistoryMap.js +102 -119
  70. package/lib/mqtt/usePartDivision.d.ts +2 -9
  71. package/lib/mqtt/usePartDivision.js +48 -57
  72. package/lib/mqtt/usePartMerge.d.ts +2 -8
  73. package/lib/mqtt/usePartMerge.js +34 -49
  74. package/lib/mqtt/usePassword.d.ts +6 -13
  75. package/lib/mqtt/usePassword.js +84 -74
  76. package/lib/mqtt/useQuiteHours.d.ts +4 -37
  77. package/lib/mqtt/useQuiteHours.js +66 -100
  78. package/lib/mqtt/useResetMap.d.ts +2 -8
  79. package/lib/mqtt/useResetMap.js +27 -34
  80. package/lib/mqtt/useRoomProperty.d.ts +8 -9
  81. package/lib/mqtt/useRoomProperty.js +67 -65
  82. package/lib/mqtt/useSchedule.d.ts +3 -23
  83. package/lib/mqtt/useSchedule.js +72 -101
  84. package/lib/mqtt/useSelectRoomClean.d.ts +3 -24
  85. package/lib/mqtt/useSelectRoomClean.js +107 -133
  86. package/lib/mqtt/useSpotClean.d.ts +5 -15
  87. package/lib/mqtt/useSpotClean.js +68 -121
  88. package/lib/mqtt/useVirtualArea.d.ts +6 -17
  89. package/lib/mqtt/useVirtualArea.js +109 -119
  90. package/lib/mqtt/useVirtualWall.d.ts +2 -18
  91. package/lib/mqtt/useVirtualWall.js +69 -90
  92. package/lib/mqtt/useVoice.d.ts +2 -16
  93. package/lib/mqtt/useVoice.js +48 -68
  94. package/lib/mqtt/useWifiMap.d.ts +6 -5
  95. package/lib/mqtt/useWifiMap.js +43 -42
  96. package/lib/mqtt/useZoneClean.d.ts +2 -21
  97. package/lib/mqtt/useZoneClean.js +125 -137
  98. package/lib/myLib/zod/mini/index.d.cts +1 -0
  99. package/lib/myLib/zod/mini/index.d.ts +1 -0
  100. package/lib/myLib/zod/mini/index.js +1 -0
  101. package/lib/myLib/zod/mini/package.json +6 -0
  102. package/lib/myLib/zod/src/mini/index.d.ts +1 -0
  103. package/lib/myLib/zod/src/mini/index.js +1 -0
  104. package/lib/myLib/zod/src/v4/core/api.d.ts +306 -0
  105. package/lib/myLib/zod/src/v4/core/api.js +1256 -0
  106. package/lib/myLib/zod/src/v4/core/checks.d.ts +278 -0
  107. package/lib/myLib/zod/src/v4/core/checks.js +816 -0
  108. package/lib/myLib/zod/src/v4/core/config.d.ts +9 -0
  109. package/lib/myLib/zod/src/v4/core/config.js +5 -0
  110. package/lib/myLib/zod/src/v4/core/core.d.ts +70 -0
  111. package/lib/myLib/zod/src/v4/core/core.js +95 -0
  112. package/lib/myLib/zod/src/v4/core/doc.d.ts +14 -0
  113. package/lib/myLib/zod/src/v4/core/doc.js +42 -0
  114. package/lib/myLib/zod/src/v4/core/errors.d.ts +220 -0
  115. package/lib/myLib/zod/src/v4/core/errors.js +232 -0
  116. package/lib/myLib/zod/src/v4/core/index.d.ts +15 -0
  117. package/lib/myLib/zod/src/v4/core/index.js +15 -0
  118. package/lib/myLib/zod/src/v4/core/json-schema-generator.d.ts +65 -0
  119. package/lib/myLib/zod/src/v4/core/json-schema-generator.js +120 -0
  120. package/lib/myLib/zod/src/v4/core/json-schema-processors.d.ts +49 -0
  121. package/lib/myLib/zod/src/v4/core/json-schema-processors.js +593 -0
  122. package/lib/myLib/zod/src/v4/core/json-schema.d.ts +88 -0
  123. package/lib/myLib/zod/src/v4/core/json-schema.js +1 -0
  124. package/lib/myLib/zod/src/v4/core/parse.d.ts +49 -0
  125. package/lib/myLib/zod/src/v4/core/parse.js +147 -0
  126. package/lib/myLib/zod/src/v4/core/regexes.d.ts +78 -0
  127. package/lib/myLib/zod/src/v4/core/regexes.js +146 -0
  128. package/lib/myLib/zod/src/v4/core/registries.d.ts +35 -0
  129. package/lib/myLib/zod/src/v4/core/registries.js +51 -0
  130. package/lib/myLib/zod/src/v4/core/schemas.d.ts +1136 -0
  131. package/lib/myLib/zod/src/v4/core/schemas.js +2745 -0
  132. package/lib/myLib/zod/src/v4/core/standard-schema.d.ts +126 -0
  133. package/lib/myLib/zod/src/v4/core/standard-schema.js +1 -0
  134. package/lib/myLib/zod/src/v4/core/to-json-schema.d.ts +114 -0
  135. package/lib/myLib/zod/src/v4/core/to-json-schema.js +488 -0
  136. package/lib/myLib/zod/src/v4/core/util.d.ts +199 -0
  137. package/lib/myLib/zod/src/v4/core/util.js +656 -0
  138. package/lib/myLib/zod/src/v4/core/versions.d.ts +5 -0
  139. package/lib/myLib/zod/src/v4/core/versions.js +5 -0
  140. package/lib/myLib/zod/src/v4/core/zsf.d.ts +91 -0
  141. package/lib/myLib/zod/src/v4/core/zsf.js +1 -0
  142. package/lib/myLib/zod/src/v4/mini/checks.d.ts +1 -0
  143. package/lib/myLib/zod/src/v4/mini/checks.js +1 -0
  144. package/lib/myLib/zod/src/v4/mini/coerce.d.ts +7 -0
  145. package/lib/myLib/zod/src/v4/mini/coerce.js +27 -0
  146. package/lib/myLib/zod/src/v4/mini/external.d.ts +11 -0
  147. package/lib/myLib/zod/src/v4/mini/external.js +16 -0
  148. package/lib/myLib/zod/src/v4/mini/index.d.ts +530 -0
  149. package/lib/myLib/zod/src/v4/mini/index.js +30 -0
  150. package/lib/myLib/zod/src/v4/mini/iso.d.ts +22 -0
  151. package/lib/myLib/zod/src/v4/mini/iso.js +46 -0
  152. package/lib/myLib/zod/src/v4/mini/parse.d.ts +1 -0
  153. package/lib/myLib/zod/src/v4/mini/parse.js +1 -0
  154. package/lib/myLib/zod/src/v4/mini/schemas.js +1244 -0
  155. package/lib/utils/index.d.ts +1 -0
  156. package/lib/utils/index.js +2 -1
  157. package/package.json +5 -3
@@ -0,0 +1,20 @@
1
+ export * from './scheduleProtocol';
2
+ export * from './carpetProtocol';
3
+ export * from './zoneCleanProtocol';
4
+ export * from './wifiMapProtocol';
5
+ export * from './voiceProtocol';
6
+ export * from './virtualWallProtocol';
7
+ export * from './virtualAreaProtocol';
8
+ export * from './spotCleanProtocol';
9
+ export * from './selectRoomCleanProtocol';
10
+ export * from './resetMapProtocol';
11
+ export * from './quietHoursProtocol';
12
+ export * from './passwordProtocol';
13
+ export * from './partMergeProtocol';
14
+ export * from './partDivisionProtocol';
15
+ export * from './historyMapProtocol';
16
+ export * from './furnitureModelProtocol';
17
+ export * from './deviceModelProtocol';
18
+ export * from './carpetCleanProtocol';
19
+ export * from './devInfoProtocol';
20
+ export * from './roomPropertyProtocol';
@@ -0,0 +1,20 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ export declare const pointsSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
3
+ x: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
4
+ y: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
5
+ }, z.core.$strip>>;
6
+ export declare const roomIdSchema: any;
7
+ export declare const originSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
8
+ x: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
9
+ y: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
10
+ }, z.core.$strip>;
11
+ declare const partDivisionResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
12
+ success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
13
+ errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
14
+ reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
15
+ version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
16
+ taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
17
+ }, z.core.$strip>;
18
+ export type PartDivisionResponse = z.infer<typeof partDivisionResponseSchema>;
19
+ export type TSetPartDivision = (points: z.infer<typeof pointsSchema>, roomId: z.infer<typeof roomIdSchema>, origin: z.infer<typeof originSchema>) => Promise<PartDivisionResponse>;
20
+ export {};
@@ -0,0 +1,12 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ import { BaseResponseSchema, Point } from './base';
3
+ export const pointsSchema = z.array(Point).check(z.minLength(1));
4
+ export const roomIdSchema = z.union([z.int(), z.string()]);
5
+ export const originSchema = Point;
6
+
7
+ // 房间分隔响应 Schema(BaseResponseSchema 已包含所有必需字段)
8
+ const partDivisionResponseSchema = BaseResponseSchema;
9
+
10
+ // 类型导出
11
+
12
+ // 函数类型定义
@@ -0,0 +1,13 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ export declare const setPartMergeSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<any>;
3
+ declare const partMergeResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
4
+ success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
5
+ errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
6
+ reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
7
+ version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
8
+ taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
9
+ }, z.core.$strip>;
10
+ export type SetPartMergeData = z.infer<typeof setPartMergeSchema>;
11
+ export type PartMergeResponse = z.infer<typeof partMergeResponseSchema>;
12
+ export type TSetPartMerge = (data: SetPartMergeData) => Promise<PartMergeResponse>;
13
+ export {};
@@ -0,0 +1,12 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ import { BaseResponseSchema } from './base';
3
+
4
+ // 设置分区合并参数 Schema
5
+ export const setPartMergeSchema = z.array(z.union([z.int(), z.string()])).check(z.minLength(2));
6
+
7
+ // 分区合并响应 Schema(BaseResponseSchema 已包含所有必需字段)
8
+ const partMergeResponseSchema = BaseResponseSchema;
9
+
10
+ // 类型导出
11
+
12
+ // 函数类型定义
@@ -0,0 +1,24 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ export declare const setPasswordSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
3
+ password: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
4
+ oldPassword: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
5
+ taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
6
+ }, z.core.$strip>;
7
+ export declare const checkPasswordSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
8
+ password: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
9
+ taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
10
+ }, z.core.$strip>;
11
+ declare const passwordResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
12
+ success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
13
+ errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
14
+ reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
15
+ version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
16
+ taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
17
+ }, z.core.$strip>;
18
+ export type SetPasswordData = z.infer<typeof setPasswordSchema>;
19
+ export type CheckPasswordData = z.infer<typeof checkPasswordSchema>;
20
+ export type PasswordResponse = z.infer<typeof passwordResponseSchema>;
21
+ export type TRequestPassword = () => Promise<PasswordResponse>;
22
+ export type TSetPassword = (data: SetPasswordData) => Promise<PasswordResponse>;
23
+ export type TCheckPassword = (data: CheckPasswordData) => Promise<PasswordResponse>;
24
+ export {};
@@ -0,0 +1,25 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ import { BaseResponseSchema } from './base';
3
+
4
+ // 设置密码参数 Schema
5
+ export const setPasswordSchema = z.object({
6
+ password: z.string(),
7
+ // 密码(MD5 加密后的字符串)
8
+ oldPassword: z.optional(z.string()),
9
+ // 旧密码(MD5 加密后的字符串,可选)
10
+ taskId: z.optional(z.string()) // 任务ID(可选)
11
+ });
12
+
13
+ // 校验密码参数 Schema
14
+ export const checkPasswordSchema = z.object({
15
+ password: z.string(),
16
+ // 密码(MD5 加密后的字符串)
17
+ taskId: z.optional(z.string()) // 任务ID(可选)
18
+ });
19
+
20
+ // 密码响应 Schema(基础响应)
21
+ const passwordResponseSchema = BaseResponseSchema;
22
+
23
+ // 类型导出
24
+
25
+ // 函数类型定义
@@ -0,0 +1,29 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ export declare const setQuietHoursSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
3
+ startTime: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
4
+ hour: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
5
+ minute: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
6
+ }, z.core.$strip>;
7
+ endTime: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
8
+ hour: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
9
+ minute: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
10
+ }, z.core.$strip>;
11
+ active: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
12
+ day: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
13
+ version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
14
+ }, z.core.$strip>;
15
+ declare const quietHoursResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
16
+ success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
17
+ errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
18
+ reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
19
+ version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
20
+ taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
21
+ active: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
22
+ time: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
23
+ day: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
24
+ }, z.core.$strip>;
25
+ export type SetQuietHoursData = z.infer<typeof setQuietHoursSchema>;
26
+ export type QuietHoursResponse = z.infer<typeof quietHoursResponseSchema>;
27
+ export type TRequestQuietHours = () => Promise<QuietHoursResponse>;
28
+ export type TSetQuietHours = (data: SetQuietHoursData) => Promise<QuietHoursResponse>;
29
+ export {};
@@ -0,0 +1,35 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ import { BaseResponseSchema } from './base';
3
+
4
+ // 时间对象 Schema
5
+ const timeSchema = z.object({
6
+ hour: z.int().check(z.gte(0), z.lte(23)),
7
+ minute: z.int().check(z.gte(0), z.lte(59))
8
+ });
9
+
10
+ // 设置勿扰模式参数 Schema
11
+ export const setQuietHoursSchema = z.object({
12
+ startTime: timeSchema,
13
+ // 开始时间
14
+ endTime: timeSchema,
15
+ // 结束时间
16
+ active: z.int().check(z.gte(0), z.lte(1)),
17
+ // 1:开启 0:关闭
18
+ day: z.int(),
19
+ // 是否有跨天,1:有 0:无
20
+ version: z.optional(z.string()) // 协议版本(可选)
21
+ });
22
+
23
+ // 勿扰模式响应 Schema
24
+ const quietHoursResponseSchema = z.extend(BaseResponseSchema, {
25
+ // 是否激活,0 表示未激活,1 表示激活
26
+ active: z.int(),
27
+ // 时间段数组,每个元素为 "开始时间, 结束时间" 的字符串
28
+ time: z.array(z.string()),
29
+ // 星期几,1 表示星期一,2 表示星期二,以此类推
30
+ day: z.int()
31
+ });
32
+
33
+ // 类型导出
34
+
35
+ // 函数类型定义
@@ -0,0 +1,4 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ import { BaseResponseSchema } from './base';
3
+ export type ResetMapResponse = z.infer<typeof BaseResponseSchema>;
4
+ export type TSetResetMap = () => Promise<ResetMapResponse>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,42 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ export declare const setRoomPropertySchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
3
+ num: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
4
+ ids: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
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>>>;
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
+ 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
+ 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
+ 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
+ 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
+ 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
+ }, z.core.$strip>;
14
+ declare const roomPropertyResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
15
+ success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
16
+ errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
17
+ reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
18
+ version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
19
+ taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
20
+ 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>>>;
22
+ 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
+ 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
+ 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>>>;
25
+ 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>>;
26
+ num: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
27
+ mapId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
28
+ 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
+ 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
+ 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>>;
31
+ }, z.core.$strip>;
32
+ /**
33
+ * 验证设置房间属性协议数据
34
+ * @param data 已验证基础 schema 的数据
35
+ * @throws MqttError 验证失败时抛出
36
+ */
37
+ export declare function validateSetRoomProperty(data: SetRoomPropertyData): void;
38
+ export type TRequestRoomProperty = () => Promise<RoomPropertyResponse>;
39
+ export type TSetRoomProperty = (data: SetRoomPropertyData) => Promise<RoomPropertyResponse>;
40
+ export type SetRoomPropertyData = z.infer<typeof setRoomPropertySchema>;
41
+ export type RoomPropertyResponse = z.infer<typeof roomPropertyResponseSchema>;
42
+ export {};
@@ -0,0 +1,113 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ import { MqttError } from '../../promise';
3
+ import { BaseResponseSchema } from './base';
4
+
5
+ /**
6
+ * 验证失败错误代码
7
+ * -2 表示数据验证失败
8
+ */
9
+ const VALIDATION_ERROR_CODE = -2;
10
+
11
+ // 设置房间属性参数 Schema
12
+ export const setRoomPropertySchema = z.object({
13
+ // 房间数量(可选,如果不提供则使用 ids.length)
14
+ num: z.optional(z.int().check(z.gte(1))),
15
+ // 房间id集合(必需)
16
+ ids: z.array(z.int()).check(z.minLength(1)),
17
+ // 吸力
18
+ suctions: z.optional(z.array(z.string())),
19
+ // 拖地水量
20
+ cisterns: z.optional(z.array(z.string())),
21
+ // 清扫次数
22
+ cleanCounts: z.optional(z.array(z.int())),
23
+ // 拖地模式
24
+ yMops: z.optional(z.array(z.int())),
25
+ // 扫拖模式
26
+ sweepMopModes: z.optional(z.array(z.string())),
27
+ // 房间地板类型
28
+ floorTypes: z.optional(z.array(z.int())),
29
+ // 房间名称
30
+ names: z.optional(z.array(z.string())),
31
+ // 房间顺序
32
+ orders: z.optional(z.array(z.int()))
33
+ });
34
+
35
+ // 房间属性响应 Schema
36
+ const roomPropertyResponseSchema = z.extend(BaseResponseSchema, {
37
+ // RoomPreferenceFieldsSchema 的字段
38
+ suctions: z.optional(z.array(z.string())),
39
+ cisterns: z.optional(z.array(z.string())),
40
+ cleanCounts: z.optional(z.array(z.int())),
41
+ yMops: z.optional(z.array(z.int())),
42
+ sweepMopModes: z.optional(z.array(z.string())),
43
+ ids: z.optional(z.array(z.int())),
44
+ // 房间数量
45
+ num: z.int(),
46
+ // 地图id
47
+ mapId: z.int(),
48
+ // 房间地板类型
49
+ floorTypes: z.optional(z.array(z.int())),
50
+ // 房间名称
51
+ names: z.optional(z.array(z.string())),
52
+ // 房间顺序
53
+ orders: z.optional(z.array(z.int()))
54
+ });
55
+
56
+ /**
57
+ * 验证设置房间属性协议数据
58
+ * @param data 已验证基础 schema 的数据
59
+ * @throws MqttError 验证失败时抛出
60
+ */
61
+ export function validateSetRoomProperty(data) {
62
+ const {
63
+ ids,
64
+ num
65
+ } = data;
66
+ const len = ids.length;
67
+
68
+ // 验证 num 与 ids 长度一致(如果提供了 num)
69
+ if (num !== undefined && num !== len) {
70
+ throw new MqttError(`num (${num}) must equal ids length (${len})`, {
71
+ errCode: VALIDATION_ERROR_CODE,
72
+ reqType: 'set_room_property'
73
+ });
74
+ }
75
+
76
+ // 验证数组长度一致性(如果提供了数组字段)
77
+ const validateLength = (name, array) => {
78
+ if (array.length !== len) {
79
+ throw new MqttError(`${name} length must be ${len}, actual is ${array.length}`, {
80
+ errCode: VALIDATION_ERROR_CODE,
81
+ reqType: 'set_room_property'
82
+ });
83
+ }
84
+ };
85
+ if (data.suctions) {
86
+ validateLength('suctions', data.suctions);
87
+ }
88
+ if (data.cisterns) {
89
+ validateLength('cisterns', data.cisterns);
90
+ }
91
+ if (data.cleanCounts) {
92
+ validateLength('cleanCounts', data.cleanCounts);
93
+ }
94
+ if (data.yMops) {
95
+ validateLength('yMops', data.yMops);
96
+ }
97
+ if (data.sweepMopModes) {
98
+ validateLength('sweepMopModes', data.sweepMopModes);
99
+ }
100
+ if (data.floorTypes) {
101
+ validateLength('floorTypes', data.floorTypes);
102
+ }
103
+ if (data.names) {
104
+ validateLength('names', data.names);
105
+ }
106
+ if (data.orders) {
107
+ validateLength('orders', data.orders);
108
+ }
109
+ }
110
+
111
+ // 函数类型定义
112
+
113
+ // 类型导出
@@ -0,0 +1,62 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ export declare const ScheduleItemSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
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>>>;
5
+ 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
+ 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
+ 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
+ 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>>;
9
+ active: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
10
+ cycle: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
11
+ time: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
12
+ }, z.core.$strip>;
13
+ export declare const setScheduleSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
14
+ list: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
15
+ 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>>>;
17
+ 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
+ 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
+ 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
+ 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>>;
21
+ active: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
22
+ cycle: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
23
+ time: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
24
+ }, z.core.$strip>>;
25
+ num: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
26
+ version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
27
+ }, z.core.$strip>;
28
+ export declare const requestScheduleSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
29
+ version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
30
+ }, z.core.$strip>;
31
+ /**
32
+ * 验证定时任务协议数据
33
+ * @param data 已验证基础 schema 的数据
34
+ * @throws MqttError 验证失败时抛出
35
+ */
36
+ export declare function validateSetSchedule(data: SetScheduleData): void;
37
+ declare const ScheduleResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
38
+ success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
39
+ errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
40
+ reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
41
+ version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
42
+ taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
43
+ list: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
44
+ 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>>>;
46
+ 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
+ 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
+ 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
+ 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>>;
50
+ active: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
51
+ cycle: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
52
+ time: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
53
+ }, z.core.$strip>>;
54
+ num: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
55
+ }, z.core.$strip>;
56
+ export type SetScheduleData = z.infer<typeof setScheduleSchema>;
57
+ export type ScheduleResponse = z.infer<typeof ScheduleResponseSchema>;
58
+ export type TRequestSchedule = (message?: {
59
+ version?: string;
60
+ }) => Promise<ScheduleResponse>;
61
+ export type TSetSchedule = (message: SetScheduleData) => Promise<ScheduleResponse>;
62
+ export {};
@@ -0,0 +1,100 @@
1
+ import "core-js/modules/esnext.iterator.constructor.js";
2
+ import "core-js/modules/esnext.iterator.for-each.js";
3
+ import * as z from '../../../myLib/zod/mini';
4
+ import { MqttError } from '../../promise';
5
+ import { BaseResponseSchema, RoomPreferenceFieldsSchema } from './base';
6
+
7
+ /**
8
+ * 验证失败错误代码
9
+ * -2 表示数据验证失败
10
+ */
11
+ const VALIDATION_ERROR_CODE = -2;
12
+
13
+ // 定时任务项 Schema
14
+ export const ScheduleItemSchema = z.extend(RoomPreferenceFieldsSchema, {
15
+ // 定时是否有效,0:定时关闭 1:定时开启
16
+ active: z.int().check(z.gte(0), z.lte(1)),
17
+ // 周循环,周一到周日
18
+ cycle: z.array(z.int().check(z.gte(0), z.lte(6))).check(z.length(7)),
19
+ // 执行时间, [小时, 分钟]
20
+ time: z.array(z.int()).check(z.length(2))
21
+ });
22
+
23
+ // 定时任务数据 Schema
24
+ export const setScheduleSchema = z.object({
25
+ list: z.array(ScheduleItemSchema).check(z.minLength(0)),
26
+ num: z.int().check(z.gte(0)),
27
+ version: z.optional(z.string()) // 版本号
28
+ });
29
+
30
+ // 请求定时数据的参数 Schema
31
+ export const requestScheduleSchema = z.object({
32
+ version: z.optional(z.string())
33
+ });
34
+
35
+ /**
36
+ * 验证定时任务协议数据
37
+ * @param data 已验证基础 schema 的数据
38
+ * @throws MqttError 验证失败时抛出
39
+ */
40
+ export function validateSetSchedule(data) {
41
+ const {
42
+ num,
43
+ list
44
+ } = data;
45
+
46
+ // 验证 num 必须等于 list.length
47
+ if (num !== list.length) {
48
+ throw new MqttError(`num 必须等于 list.length,实际 num=${num}, list.length=${list.length}`, {
49
+ errCode: VALIDATION_ERROR_CODE,
50
+ reqType: 'set_schedule'
51
+ });
52
+ }
53
+
54
+ // 如果 list 为空,直接返回(允许清空所有定时任务)
55
+ if (list.length === 0) {
56
+ return;
57
+ }
58
+
59
+ // 验证每个定时任务项
60
+ list.forEach((item, index) => {
61
+ // 验证 time 数组的有效性
62
+ if (item.time.length !== 2) {
63
+ throw new MqttError(`list[${index}].time 必须包含 2 个元素 [小时, 分钟]`, {
64
+ errCode: VALIDATION_ERROR_CODE,
65
+ reqType: 'set_schedule'
66
+ });
67
+ }
68
+ const [hour, minute] = item.time;
69
+ if (hour < 0 || hour >= 24) {
70
+ throw new MqttError(`list[${index}].time[0] 小时必须在 0-23 之间,实际为 ${hour}`, {
71
+ errCode: VALIDATION_ERROR_CODE,
72
+ reqType: 'set_schedule'
73
+ });
74
+ }
75
+ if (minute < 0 || minute >= 60) {
76
+ throw new MqttError(`list[${index}].time[1] 分钟必须在 0-59 之间,实际为 ${minute}`, {
77
+ errCode: VALIDATION_ERROR_CODE,
78
+ reqType: 'set_schedule'
79
+ });
80
+ }
81
+
82
+ // 验证 cycle 数组长度
83
+ if (item.cycle.length !== 7) {
84
+ throw new MqttError(`list[${index}].cycle 必须包含 7 个元素 (周一到周日),实际为 ${item.cycle.length}`, {
85
+ errCode: VALIDATION_ERROR_CODE,
86
+ reqType: 'set_schedule'
87
+ });
88
+ }
89
+ });
90
+ }
91
+
92
+ // 定时任务响应 Schema
93
+ const ScheduleResponseSchema = z.extend(BaseResponseSchema, {
94
+ list: z.array(ScheduleItemSchema),
95
+ num: z.int().check(z.gte(0))
96
+ });
97
+
98
+ // 类型导出
99
+
100
+ // 函数类型定义
@@ -0,0 +1,27 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ export declare const setSelectRoomCleanSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
3
+ roomId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat;
4
+ suction: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
5
+ cistern: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
6
+ cleanTimes: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
7
+ yMop: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
8
+ sweepMopMode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniOptional<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>>;
9
+ }, z.core.$strip>>;
10
+ declare const selectRoomCleanResponseSchema: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniObject<{
11
+ success: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniBoolean<boolean>;
12
+ errCode: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumber<number>;
13
+ reqType: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
14
+ version: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
15
+ taskId: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniString<string>;
16
+ ids: import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniArray<import("../../../myLib/zod/src/v4/mini/schemas").ZodMiniNumberFormat>;
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>>>;
18
+ 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>>>;
19
+ 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>>;
20
+ 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>>;
21
+ 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>>>;
22
+ }, z.core.$strip>;
23
+ export type SetSelectRoomCleanData = z.infer<typeof setSelectRoomCleanSchema>;
24
+ export type SelectRoomCleanResponse = z.infer<typeof selectRoomCleanResponseSchema>;
25
+ export type TRequestSelectRoomClean = () => Promise<SelectRoomCleanResponse>;
26
+ export type TSetSelectRoomClean = (data: SetSelectRoomCleanData) => Promise<SelectRoomCleanResponse>;
27
+ export {};
@@ -0,0 +1,40 @@
1
+ import * as z from '../../../myLib/zod/mini';
2
+ import { BaseResponseSchema } from './base';
3
+
4
+ // 房间信息 Schema
5
+ const roomInfoSchema = z.object({
6
+ roomId: z.int(),
7
+ // 房间id
8
+ suction: z.optional(z.string()),
9
+ // 吸力, closed - 关闭 gentle - 安静 normal - 正常 strong - 强劲 max - 超强 ,默认值为''
10
+ cistern: z.string(),
11
+ // 拖地水量 "closed"- 关闭,"low"-低,"middle"-中,"high"-高,默认值为''
12
+ cleanTimes: z.optional(z.int()),
13
+ // 清扫次数 默认值1
14
+ yMop: z.optional(z.int()),
15
+ // 拖地模式 1:开启Y型拖地 0:关闭Y型拖地 -1 未设置 默认值-1
16
+ sweepMopMode: z.optional(z.string()) // 扫拖模式 "only_sweep":仅扫,"only_mop":仅拖,"both_work":扫拖同时,"clean_before_mop":先扫后拖,默认值为'only_sweep'
17
+ });
18
+
19
+ // 设置选区清扫参数 Schema
20
+ export const setSelectRoomCleanSchema = z.array(roomInfoSchema).check(z.minLength(1)); // 房间信息数组
21
+
22
+ // 选区清扫响应 Schema
23
+ const selectRoomCleanResponseSchema = z.extend(BaseResponseSchema, {
24
+ // 房间id
25
+ ids: z.array(z.int()),
26
+ // 吸力, closed - 关闭 gentle - 安静 normal - 正常 strong - 强劲 max - 超强 ,默认值为''
27
+ suctions: z.optional(z.array(z.string())),
28
+ // 拖地水量 "closed"- 关闭,"low"-低,"middle"-中,"high"-高,默认值为''
29
+ cisterns: z.optional(z.array(z.string())),
30
+ // 清扫次数 默认值1
31
+ cleanCounts: z.optional(z.array(z.int())),
32
+ // 拖地模式 1:开启Y型拖地 0:关闭Y型拖地 -1 未设置 默认值-1
33
+ yMops: z.optional(z.array(z.int())),
34
+ // 扫拖模式 "only_sweep":仅扫,"only_mop":仅拖,"both_work":扫拖同时,"clean_before_mop":先扫后拖,默认值为'only_sweep'
35
+ sweepMopModes: z.optional(z.array(z.string()))
36
+ });
37
+
38
+ // 类型导出
39
+
40
+ // 函数类型定义