@ray-js/robot-data-stream 0.0.16-beta.1 → 0.0.16-beta.2
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.
|
@@ -47,7 +47,7 @@ export const useRoomProperty = () => {
|
|
|
47
47
|
setRoomProperty: data => {
|
|
48
48
|
return new Promise((resolve, reject) => {
|
|
49
49
|
try {
|
|
50
|
-
var _data$num, _data$suctions, _data$cleanCounts, _data$yMops, _data$sweepMopModes, _data$names
|
|
50
|
+
var _data$num, _data$suctions, _data$cleanCounts, _data$yMops, _data$sweepMopModes, _data$names;
|
|
51
51
|
if (!useMqtt) {
|
|
52
52
|
reject(new Error('useMqtt is not used'));
|
|
53
53
|
return;
|
|
@@ -58,7 +58,7 @@ export const useRoomProperty = () => {
|
|
|
58
58
|
ids
|
|
59
59
|
} = data;
|
|
60
60
|
const len = ids.length;
|
|
61
|
-
const sendData = _objectSpread({
|
|
61
|
+
const sendData = _objectSpread(_objectSpread({
|
|
62
62
|
num: (_data$num = data.num) !== null && _data$num !== void 0 ? _data$num : len,
|
|
63
63
|
ids,
|
|
64
64
|
suctions: (_data$suctions = data.suctions) !== null && _data$suctions !== void 0 ? _data$suctions : new Array(len).fill('closed'),
|
|
@@ -68,9 +68,10 @@ export const useRoomProperty = () => {
|
|
|
68
68
|
names: (_data$names = data.names) !== null && _data$names !== void 0 ? _data$names : new Array(len).fill(''),
|
|
69
69
|
nameLabels: data.nameLabels,
|
|
70
70
|
floorTypes: data.floorTypes,
|
|
71
|
-
orders: data.orders
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
orders: data.orders
|
|
72
|
+
}, data.routePreferences && {
|
|
73
|
+
routePreferences: data.routePreferences
|
|
74
|
+
}), normalizeWaterPreferencePayload(data.cisterns, data.waterValues));
|
|
74
75
|
|
|
75
76
|
// 使用 TypeBox Schema 进行参数验证(包含自定义验证逻辑)
|
|
76
77
|
const validatedData = validator.validate('set_room_property', sendData);
|
package/lib/mqtt/useSchedule.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
const _excluded = ["routePreferences"];
|
|
2
4
|
import "core-js/modules/esnext.iterator.map.js";
|
|
3
5
|
// 定时
|
|
4
6
|
import { encodeDeviceTimer0x30 } from '@ray-js/robot-protocol';
|
|
@@ -56,9 +58,12 @@ export const useSchedule = () => {
|
|
|
56
58
|
// 使用 TypeBox Schema 进行参数验证
|
|
57
59
|
const validatedData = validator.validate('set_schedule', message);
|
|
58
60
|
const list = validatedData.list.map(item => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
const {
|
|
62
|
+
routePreferences
|
|
63
|
+
} = item,
|
|
64
|
+
rest = _objectWithoutProperties(item, _excluded);
|
|
65
|
+
return _objectSpread(_objectSpread(_objectSpread({}, rest), normalizeWaterPreferencePayload(item.cisterns, item.waterValues)), routePreferences && {
|
|
66
|
+
routePreferences
|
|
62
67
|
});
|
|
63
68
|
});
|
|
64
69
|
if (useMqtt) {
|
|
@@ -2,6 +2,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
|
2
2
|
import "core-js/modules/esnext.iterator.constructor.js";
|
|
3
3
|
import "core-js/modules/esnext.iterator.for-each.js";
|
|
4
4
|
import "core-js/modules/esnext.iterator.map.js";
|
|
5
|
+
import "core-js/modules/esnext.iterator.some.js";
|
|
5
6
|
// 选区清扫
|
|
6
7
|
import { encodeRoomClean0x14, requestRoomClean0x15 } from '@ray-js/robot-protocol';
|
|
7
8
|
import { useContext } from 'react';
|
|
@@ -84,15 +85,14 @@ export const useSelectRoomClean = () => {
|
|
|
84
85
|
const cleanCounts = [];
|
|
85
86
|
const yMops = [];
|
|
86
87
|
const sweepMopModes = [];
|
|
87
|
-
const
|
|
88
|
+
const prefs = rooms.map(room => room.routePreference);
|
|
88
89
|
rooms.forEach(room => {
|
|
89
|
-
var _room$suction, _room$cleanTimes, _room$yMop, _room$sweepMopMode
|
|
90
|
+
var _room$suction, _room$cleanTimes, _room$yMop, _room$sweepMopMode;
|
|
90
91
|
ids.push(room.roomId);
|
|
91
92
|
suctions.push((_room$suction = room.suction) !== null && _room$suction !== void 0 ? _room$suction : '');
|
|
92
93
|
cleanCounts.push((_room$cleanTimes = room.cleanTimes) !== null && _room$cleanTimes !== void 0 ? _room$cleanTimes : 1);
|
|
93
94
|
yMops.push((_room$yMop = room.yMop) !== null && _room$yMop !== void 0 ? _room$yMop : -1);
|
|
94
95
|
sweepMopModes.push((_room$sweepMopMode = room.sweepMopMode) !== null && _room$sweepMopMode !== void 0 ? _room$sweepMopMode : 'only_sweep');
|
|
95
|
-
routePreferences.push((_room$routePreference = room.routePreference) !== null && _room$routePreference !== void 0 ? _room$routePreference : 'standard');
|
|
96
96
|
});
|
|
97
97
|
const waterPayload = normalizeWaterPreferencePayload(rooms.map(room => {
|
|
98
98
|
var _room$cistern;
|
|
@@ -101,14 +101,16 @@ export const useSelectRoomClean = () => {
|
|
|
101
101
|
var _room$waterValue;
|
|
102
102
|
return (_room$waterValue = room.waterValue) !== null && _room$waterValue !== void 0 ? _room$waterValue : '';
|
|
103
103
|
}));
|
|
104
|
-
sendStructuredMessage(RoomCleanSetEnum.set, _objectSpread(_objectSpread({
|
|
104
|
+
sendStructuredMessage(RoomCleanSetEnum.set, _objectSpread(_objectSpread(_objectSpread({
|
|
105
105
|
ids,
|
|
106
106
|
suctions
|
|
107
107
|
}, waterPayload), {}, {
|
|
108
108
|
cleanCounts,
|
|
109
109
|
yMops,
|
|
110
|
-
sweepMopModes
|
|
111
|
-
|
|
110
|
+
sweepMopModes
|
|
111
|
+
}, prefs.some(Boolean) && {
|
|
112
|
+
routePreferences: prefs.map(p => p !== null && p !== void 0 ? p : 'standard')
|
|
113
|
+
}), {}, {
|
|
112
114
|
num: rooms.length
|
|
113
115
|
}), resolve, error => reject(handleMqttError(error, 'Failed to set room clean')), RoomCleanSetEnum.query // 响应类型是 query,不是 set
|
|
114
116
|
);
|
|
@@ -146,10 +148,7 @@ export const useSelectRoomClean = () => {
|
|
|
146
148
|
var _room$sweepMopMode2;
|
|
147
149
|
return (_room$sweepMopMode2 = room.sweepMopMode) !== null && _room$sweepMopMode2 !== void 0 ? _room$sweepMopMode2 : 'only_sweep';
|
|
148
150
|
});
|
|
149
|
-
const
|
|
150
|
-
var _room$routePreference2;
|
|
151
|
-
return (_room$routePreference2 = room.routePreference) !== null && _room$routePreference2 !== void 0 ? _room$routePreference2 : 'standard';
|
|
152
|
-
});
|
|
151
|
+
const prefs = rooms.map(room => room.routePreference);
|
|
153
152
|
resolve(_objectSpread(_objectSpread({
|
|
154
153
|
success: true,
|
|
155
154
|
errCode: 0,
|
|
@@ -161,8 +160,9 @@ export const useSelectRoomClean = () => {
|
|
|
161
160
|
}, waterPayload), {}, {
|
|
162
161
|
cleanCounts,
|
|
163
162
|
yMops,
|
|
164
|
-
sweepMopModes
|
|
165
|
-
|
|
163
|
+
sweepMopModes
|
|
164
|
+
}, prefs.some(Boolean) && {
|
|
165
|
+
routePreferences: prefs.map(p => p !== null && p !== void 0 ? p : 'standard')
|
|
166
166
|
}));
|
|
167
167
|
} catch (error) {
|
|
168
168
|
reject(handleMqttError(error, 'Failed to set room clean'));
|
package/lib/mqtt/useSpotClean.js
CHANGED
|
@@ -67,20 +67,21 @@ export const useSpotClean = () => {
|
|
|
67
67
|
cleanCounts = new Array(num).fill(1),
|
|
68
68
|
yMops = new Array(num).fill(-1),
|
|
69
69
|
sweepMopModes = new Array(num).fill('only_sweep'),
|
|
70
|
-
routePreferences
|
|
70
|
+
routePreferences,
|
|
71
71
|
names
|
|
72
72
|
} = validatedData;
|
|
73
73
|
if (useMqtt) {
|
|
74
|
-
sendStructuredMessage(SpotCleanEnum.set, _objectSpread(_objectSpread({
|
|
74
|
+
sendStructuredMessage(SpotCleanEnum.set, _objectSpread(_objectSpread(_objectSpread({
|
|
75
75
|
num,
|
|
76
76
|
polygons: spots.map(spot => pointsToString([spot], origin)),
|
|
77
77
|
suctions
|
|
78
78
|
}, waterPayload), {}, {
|
|
79
79
|
cleanCounts,
|
|
80
80
|
yMops,
|
|
81
|
-
sweepMopModes
|
|
81
|
+
sweepMopModes
|
|
82
|
+
}, routePreferences && {
|
|
82
83
|
routePreferences
|
|
83
|
-
}, names && {
|
|
84
|
+
}), names && {
|
|
84
85
|
names
|
|
85
86
|
}), resolve, error => reject(handleMqttError(error, 'Failed to set spot clean')), SpotCleanEnum.query // 响应类型是 query,不是 set
|
|
86
87
|
);
|
|
@@ -94,7 +95,7 @@ export const useSpotClean = () => {
|
|
|
94
95
|
point: spots[0]
|
|
95
96
|
});
|
|
96
97
|
devices.common.model.actions.command_trans.set(command);
|
|
97
|
-
resolve(_objectSpread(_objectSpread({
|
|
98
|
+
resolve(_objectSpread(_objectSpread(_objectSpread({
|
|
98
99
|
success: true,
|
|
99
100
|
errCode: 0,
|
|
100
101
|
reqType: SpotCleanEnum.query,
|
|
@@ -105,9 +106,10 @@ export const useSpotClean = () => {
|
|
|
105
106
|
}, waterPayload), {}, {
|
|
106
107
|
cleanCounts,
|
|
107
108
|
yMops,
|
|
108
|
-
sweepMopModes
|
|
109
|
+
sweepMopModes
|
|
110
|
+
}, routePreferences && {
|
|
109
111
|
routePreferences
|
|
110
|
-
}, names && {
|
|
112
|
+
}), names && {
|
|
111
113
|
names
|
|
112
114
|
}));
|
|
113
115
|
} catch (error) {
|
package/lib/mqtt/useZoneClean.js
CHANGED
|
@@ -81,7 +81,7 @@ export const useZoneClean = () => {
|
|
|
81
81
|
cleanCounts = new Array(num).fill(1),
|
|
82
82
|
yMops = new Array(num).fill(-1),
|
|
83
83
|
sweepMopModes = new Array(num).fill('only_sweep'),
|
|
84
|
-
routePreferences
|
|
84
|
+
routePreferences
|
|
85
85
|
} = params;
|
|
86
86
|
const zoneCleanData = _objectSpread(_objectSpread({
|
|
87
87
|
zones: zones.map(_ref => {
|
|
@@ -101,7 +101,8 @@ export const useZoneClean = () => {
|
|
|
101
101
|
}, waterPayload), {}, {
|
|
102
102
|
cleanCounts,
|
|
103
103
|
yMops,
|
|
104
|
-
sweepMopModes
|
|
104
|
+
sweepMopModes
|
|
105
|
+
}, routePreferences && {
|
|
105
106
|
routePreferences
|
|
106
107
|
});
|
|
107
108
|
|
|
@@ -124,7 +125,8 @@ export const useZoneClean = () => {
|
|
|
124
125
|
}, waterPayload), {}, {
|
|
125
126
|
cleanCounts: validatedData.cleanCounts,
|
|
126
127
|
yMops: validatedData.yMops,
|
|
127
|
-
sweepMopModes: validatedData.sweepMopModes
|
|
128
|
+
sweepMopModes: validatedData.sweepMopModes
|
|
129
|
+
}, validatedData.routePreferences && {
|
|
128
130
|
routePreferences: validatedData.routePreferences
|
|
129
131
|
});
|
|
130
132
|
if (useMqtt) {
|