@ray-js/lock-sdk 1.0.1 → 1.0.3-beta-1
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/api/index.js +13 -15
- package/lib/api/linkage.d.ts +0 -18
- package/lib/api/linkage.js +61 -81
- package/lib/api/lock.d.ts +0 -69
- package/lib/api/lock.js +91 -113
- package/lib/api/log.d.ts +0 -33
- package/lib/api/log.js +33 -38
- package/lib/api/setting.d.ts +0 -11
- package/lib/api/setting.js +17 -30
- package/lib/api/temp.d.ts +0 -48
- package/lib/api/temp.js +85 -115
- package/lib/api/user.d.ts +5 -54
- package/lib/api/user.js +40 -52
- package/lib/api/video.d.ts +0 -5
- package/lib/api/video.js +9 -15
- package/lib/config/dp-code/index.d.ts +0 -117
- package/lib/config/dp-code/index.js +79 -221
- package/lib/config/dp-map/common.d.ts +0 -3
- package/lib/config/dp-map/common.js +101 -116
- package/lib/config/dp-map/normal.js +29 -50
- package/lib/config/dp-map/open.d.ts +0 -16
- package/lib/config/dp-map/open.js +62 -63
- package/lib/config/dp-map/unlock-method-big.d.ts +0 -60
- package/lib/config/dp-map/unlock-method-big.js +196 -233
- package/lib/config/dp-map/unlock-method.d.ts +0 -63
- package/lib/config/dp-map/unlock-method.js +189 -227
- package/lib/config/index.d.ts +0 -25
- package/lib/config/index.js +21 -54
- package/lib/constant.d.ts +12 -40
- package/lib/constant.js +83 -136
- package/lib/event.d.ts +0 -6
- package/lib/event.js +1 -8
- package/lib/index.d.ts +0 -7
- package/lib/index.js +45 -71
- package/lib/interface.d.ts +0 -523
- package/lib/interface.js +1 -1
- package/lib/linkage.d.ts +0 -18
- package/lib/linkage.js +125 -162
- package/lib/log.d.ts +0 -50
- package/lib/log.js +255 -290
- package/lib/media.d.ts +0 -34
- package/lib/media.js +6 -77
- package/lib/open.d.ts +0 -35
- package/lib/open.js +129 -224
- package/lib/other.d.ts +8 -26
- package/lib/other.js +107 -159
- package/lib/parse/index.d.ts +0 -4
- package/lib/parse/index.js +13 -19
- package/lib/signal.d.ts +0 -13
- package/lib/signal.js +17 -31
- package/lib/sleep.d.ts +0 -42
- package/lib/sleep.js +41 -98
- package/lib/state.d.ts +0 -38
- package/lib/state.js +223 -369
- package/lib/sync/remote-serect-key.d.ts +0 -4
- package/lib/sync/remote-serect-key.js +33 -49
- package/lib/sync/t0.d.ts +0 -3
- package/lib/sync/t0.js +14 -21
- package/lib/sync/temp.d.ts +0 -5
- package/lib/sync/temp.js +68 -77
- package/lib/sync/unlock-mothod.d.ts +0 -3
- package/lib/sync/unlock-mothod.js +28 -40
- package/lib/temporary.d.ts +0 -149
- package/lib/temporary.js +469 -593
- package/lib/unlock-method.d.ts +0 -185
- package/lib/unlock-method.js +479 -650
- package/lib/user.d.ts +2 -81
- package/lib/user.js +202 -336
- package/lib/utils/base64-to-hex.js +10 -10
- package/lib/utils/byte.d.ts +0 -16
- package/lib/utils/byte.js +57 -68
- package/lib/utils/constant.js +7 -11
- package/lib/utils/device.d.ts +46 -83
- package/lib/utils/device.js +294 -322
- package/lib/utils/errors.js +75 -122
- package/lib/utils/event.js +79 -135
- package/lib/utils/hex-to-base64.js +5 -5
- package/lib/utils/hex-to-bytes.d.ts +0 -5
- package/lib/utils/hex-to-bytes.js +10 -15
- package/lib/utils/index.d.ts +0 -42
- package/lib/utils/index.js +247 -377
- package/lib/utils/log.d.ts +1 -4
- package/lib/utils/log.js +71 -74
- package/lib/utils/publishDps.d.ts +0 -5
- package/lib/utils/publishDps.js +58 -80
- package/package.json +3 -4
package/lib/other.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["themeColor"];
|
|
4
1
|
import dpUtils from "@ray-js/tuya-dp-transform";
|
|
5
2
|
import config from "./config";
|
|
6
3
|
import dpCodes from "./config/dp-code";
|
|
@@ -9,170 +6,121 @@ import { getDpValue } from "./state";
|
|
|
9
6
|
import { openPanel } from "./utils/device";
|
|
10
7
|
import { getError } from "./utils/errors";
|
|
11
8
|
import { publishDps } from "./utils/publishDps";
|
|
12
|
-
const {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
return
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
9
|
+
const { alarmLock, unlockFingerprint, unlockPassword, unlockCard, unlockKey, unlockPhoneRemote, } = dpCodes;
|
|
10
|
+
const abilityMap = {
|
|
11
|
+
backHome: "supportBackHome",
|
|
12
|
+
alarm: "supportAlarm",
|
|
13
|
+
};
|
|
14
|
+
export const openScene = async (options) => {
|
|
15
|
+
const dpIds = [
|
|
16
|
+
unlockFingerprint,
|
|
17
|
+
unlockPassword,
|
|
18
|
+
unlockCard,
|
|
19
|
+
unlockKey,
|
|
20
|
+
unlockPhoneRemote,
|
|
21
|
+
].reduce((acc, item) => {
|
|
22
|
+
const id = config.idsByCode[item];
|
|
23
|
+
if (id) {
|
|
24
|
+
acc.push(id);
|
|
25
|
+
}
|
|
26
|
+
return acc;
|
|
27
|
+
}, []);
|
|
28
|
+
const { themeColor = "#ff592a", executorRange = ["unlock", "lock"], abilities = [], } = options || {};
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
openPanel({
|
|
31
|
+
deviceId: config.devInfo.devId,
|
|
32
|
+
extraInfo: {
|
|
33
|
+
productId: config.devInfo.productId,
|
|
34
|
+
bizClientId: "tyqawbz9jf6oqvynya",
|
|
35
|
+
productVersion: "1.0.0",
|
|
36
|
+
i18nTime: "12344",
|
|
37
|
+
uiType: "SMART_MINIPG",
|
|
38
|
+
},
|
|
39
|
+
initialProps: {
|
|
40
|
+
openDpLists: dpIds.join(","),
|
|
41
|
+
dpCode: alarmLock,
|
|
42
|
+
themeColor,
|
|
43
|
+
withConfig: {
|
|
44
|
+
powerCode: {
|
|
45
|
+
tyabihqarm: abilities.map((ability) => abilityMap[ability] || ability),
|
|
46
|
+
tyabixjkg8: executorRange,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
success: resolve,
|
|
51
|
+
fail: reject,
|
|
52
|
+
});
|
|
56
53
|
});
|
|
57
|
-
});
|
|
58
54
|
};
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* 判断是否支持蓝牙控制
|
|
62
|
-
* @returns boolean
|
|
63
|
-
*/
|
|
64
55
|
export const isSupportBleControl = () => {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
// 通讯能力不支持蓝牙时,不支持蓝牙控制
|
|
80
|
-
if (!hasBle) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
if (hasThread) {
|
|
84
|
-
var _devInfo$meta;
|
|
85
|
-
// 仅支持 Matter + BLE,当元数据里无 threadWithBLE 此标记时,表示蓝牙未激活
|
|
86
|
-
if (!(devInfo !== null && devInfo !== void 0 && (_devInfo$meta = devInfo.meta) !== null && _devInfo$meta !== void 0 && _devInfo$meta["threadWithBLE"])) {
|
|
87
|
-
return false;
|
|
56
|
+
const { devInfo, codesById, communication } = config;
|
|
57
|
+
if (!codesById[dpCodes.unlockBle]) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
const hasThread = communication.includes(ProductCommunicationType.THREAD);
|
|
61
|
+
const hasWifi = communication.includes(ProductCommunicationType.WIFI);
|
|
62
|
+
const hasBle = communication.includes(ProductCommunicationType.BLUETOOTH);
|
|
63
|
+
if (!hasBle) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
if (hasThread) {
|
|
67
|
+
if (!devInfo?.meta?.["threadWithBLE"]) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
88
70
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
return true;
|
|
71
|
+
if (hasWifi && hasBle) {
|
|
72
|
+
if (devInfo.wifiEnableState === 1) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
94
75
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (!getDpValue(dpCodes.bleControl) || !hasReportTime) {
|
|
105
|
-
return true;
|
|
76
|
+
const bleControlDp = codesById[dpCodes.bleControl];
|
|
77
|
+
if (bleControlDp) {
|
|
78
|
+
const reportTIme = devInfo?.dpsTime?.[bleControlDp];
|
|
79
|
+
const hasReportTime = !reportTIme ||
|
|
80
|
+
Math.floor(Number(reportTIme) / 1000) <= devInfo.activeTime;
|
|
81
|
+
if (!getDpValue(dpCodes.bleControl) || !hasReportTime) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
return getDpValue(dpCodes.bleControl);
|
|
106
85
|
}
|
|
107
|
-
return
|
|
108
|
-
}
|
|
109
|
-
return true;
|
|
86
|
+
return true;
|
|
110
87
|
};
|
|
111
|
-
const periodDpMap = [
|
|
112
|
-
|
|
113
|
-
},
|
|
114
|
-
|
|
115
|
-
},
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
*/
|
|
128
|
-
export const getDpPeriodTime = dpCode => {
|
|
129
|
-
const {
|
|
130
|
-
dpSchema
|
|
131
|
-
} = config;
|
|
132
|
-
const dpValue = getDpValue(dpCode);
|
|
133
|
-
if (typeof dpSchema[dpCode] !== "undefined" && dpValue) {
|
|
134
|
-
var _data$startHour, _data$startMinute, _data$endHour, _data$endMinute;
|
|
135
|
-
const data = dpUtils.parse(getDpValue(dpCodes.dormantTimeSet),
|
|
136
|
-
// @ts-expect-error
|
|
137
|
-
periodDpMap);
|
|
88
|
+
const periodDpMap = [
|
|
89
|
+
{ name: "startHour" },
|
|
90
|
+
{ name: "startMinute" },
|
|
91
|
+
{ name: "endHour" },
|
|
92
|
+
{ name: "endMinute" },
|
|
93
|
+
];
|
|
94
|
+
export const getDpPeriodTime = (dpCode) => {
|
|
95
|
+
const { dpSchema } = config;
|
|
96
|
+
const dpValue = getDpValue(dpCode);
|
|
97
|
+
if (typeof dpSchema[dpCode] !== "undefined" && dpValue) {
|
|
98
|
+
const data = dpUtils.parse(getDpValue(dpCodes.dormantTimeSet), periodDpMap);
|
|
99
|
+
return {
|
|
100
|
+
start: (data.startHour ?? 0) * 60 + (data.startMinute ?? 0),
|
|
101
|
+
end: (data.endHour ?? 0) * 60 + (data.endMinute ?? 0),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
138
104
|
return {
|
|
139
|
-
|
|
140
|
-
|
|
105
|
+
start: 0,
|
|
106
|
+
end: 0,
|
|
141
107
|
};
|
|
142
|
-
}
|
|
143
|
-
return {
|
|
144
|
-
start: 0,
|
|
145
|
-
end: 0
|
|
146
|
-
};
|
|
147
108
|
};
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* 设置时间段
|
|
151
|
-
* @param dpCode - 待设置时段的 dp
|
|
152
|
-
* @param params 休眠时间段数据
|
|
153
|
-
* start: 开始时间(分钟)
|
|
154
|
-
* end: 结束时间(分钟)
|
|
155
|
-
* @returns Promise<void>
|
|
156
|
-
*/
|
|
157
109
|
export const updateDpPeriodTime = (dpCode, data) => {
|
|
158
|
-
|
|
159
|
-
dpSchema
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
// @ts-expect-error
|
|
176
|
-
periodDpMap)
|
|
177
|
-
});
|
|
178
|
-
};
|
|
110
|
+
const { dpSchema } = config;
|
|
111
|
+
if (typeof dpSchema[dpCode] === "undefined") {
|
|
112
|
+
throw getError(1014);
|
|
113
|
+
}
|
|
114
|
+
const startHour = Math.floor(data.start / 60);
|
|
115
|
+
const startMinute = data.start % 60;
|
|
116
|
+
const endHour = Math.floor(data.end / 60);
|
|
117
|
+
const endMinute = data.end % 60;
|
|
118
|
+
return publishDps({
|
|
119
|
+
dormant_time_set: dpUtils.format({
|
|
120
|
+
startHour,
|
|
121
|
+
startMinute,
|
|
122
|
+
endHour,
|
|
123
|
+
endMinute,
|
|
124
|
+
}, periodDpMap),
|
|
125
|
+
});
|
|
126
|
+
};
|
package/lib/parse/index.d.ts
CHANGED
package/lib/parse/index.js
CHANGED
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
1
|
import dpUtils from "@ray-js/tuya-dp-transform";
|
|
3
2
|
import { capabilities as capabilitiesMap } from "../config/dp-map/normal";
|
|
4
3
|
import { ModuleType } from "../constant";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
rotateType: data.rotateType === 1 ? 0 : data.rotateType === 0 ? 1 : data.rotateType
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
return data;
|
|
22
|
-
};
|
|
4
|
+
export const parseCapabilities = (dpValue) => {
|
|
5
|
+
if (!dpValue) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const data = dpUtils.parse(dpValue, capabilitiesMap);
|
|
9
|
+
if (data.tyep === ModuleType.M7258) {
|
|
10
|
+
return {
|
|
11
|
+
...data,
|
|
12
|
+
rotateType: data.rotateType === 1 ? 0 : data.rotateType === 0 ? 1 : data.rotateType,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return data;
|
|
16
|
+
};
|
package/lib/signal.d.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 获取设备信号强度
|
|
3
|
-
* 此方法只向设备触发动作不返回信号强度,信号强度变化通过 onSignalChange 监听
|
|
4
|
-
* @returns
|
|
5
|
-
*/
|
|
6
1
|
export declare const getWiFiSignal: () => Promise<{
|
|
7
2
|
fetchedData: Record<string, {
|
|
8
3
|
fetchedData: any;
|
|
@@ -13,14 +8,6 @@ type WiFiSignalChangeListener = (params: {
|
|
|
13
8
|
signal: number;
|
|
14
9
|
level: "good" | "normal" | "weak" | "bad";
|
|
15
10
|
}) => void;
|
|
16
|
-
/**
|
|
17
|
-
* 监听设备信号强度变化
|
|
18
|
-
* @returns
|
|
19
|
-
*/
|
|
20
11
|
export declare const onWiFiSignalChange: (cb: WiFiSignalChangeListener) => void;
|
|
21
|
-
/**
|
|
22
|
-
* 监听设备信号强度变化
|
|
23
|
-
* @returns
|
|
24
|
-
*/
|
|
25
12
|
export declare const offWiFiSignalChange: (cb: WiFiSignalChangeListener) => void;
|
|
26
13
|
export {};
|
package/lib/signal.js
CHANGED
|
@@ -2,37 +2,23 @@ import config from "./config";
|
|
|
2
2
|
import { sendMqttMessage } from "./utils/device";
|
|
3
3
|
import { getError } from "./utils/errors";
|
|
4
4
|
import emitter from "./utils/event";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 获取设备信号强度
|
|
8
|
-
* 此方法只向设备触发动作不返回信号强度,信号强度变化通过 onSignalChange 监听
|
|
9
|
-
* @returns
|
|
10
|
-
*/
|
|
11
5
|
export const getWiFiSignal = () => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
6
|
+
if (config.devInfo.isCloudOnline) {
|
|
7
|
+
return sendMqttMessage({
|
|
8
|
+
deviceId: config.devInfo.devId,
|
|
9
|
+
protocol: 22,
|
|
10
|
+
message: {
|
|
11
|
+
reqType: "sigQry",
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
throw getError(1001);
|
|
17
|
+
}
|
|
23
18
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
emitter.on("onWiFiSignalChange", cb);
|
|
19
|
+
export const onWiFiSignalChange = (cb) => {
|
|
20
|
+
emitter.on("onWiFiSignalChange", cb);
|
|
21
|
+
};
|
|
22
|
+
export const offWiFiSignalChange = (cb) => {
|
|
23
|
+
emitter.off("onWiFiSignalChange", cb);
|
|
30
24
|
};
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* 监听设备信号强度变化
|
|
34
|
-
* @returns
|
|
35
|
-
*/
|
|
36
|
-
export const offWiFiSignalChange = cb => {
|
|
37
|
-
emitter.off("onWiFiSignalChange", cb);
|
|
38
|
-
};
|
package/lib/sleep.d.ts
CHANGED
|
@@ -1,61 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 判断锁是否处于休眠状态
|
|
3
|
-
* @returns true 表示为休眠中
|
|
4
|
-
*/
|
|
5
1
|
export declare const isSleep: () => boolean;
|
|
6
|
-
/**
|
|
7
|
-
* 判断锁是否支持休眠功能
|
|
8
|
-
* @returns true 表示支持休眠功能
|
|
9
|
-
*/
|
|
10
2
|
export declare const hasSleepAbility: () => boolean;
|
|
11
|
-
/**
|
|
12
|
-
* 判断休眠功能是否已启用
|
|
13
|
-
* @returns true 表示休眠功能已启用
|
|
14
|
-
* false 表示休眠功能已禁用
|
|
15
|
-
*/
|
|
16
3
|
export declare const isEnabledSleep: () => import("./interface").DpValue;
|
|
17
|
-
/**
|
|
18
|
-
* 启用休眠
|
|
19
|
-
* @returns Promise<void>
|
|
20
|
-
*/
|
|
21
4
|
export declare const enableSleep: () => Promise<Record<string, import("./interface").DpValue>>;
|
|
22
|
-
/**
|
|
23
|
-
* 禁用休眠
|
|
24
|
-
* @returns Promise<void>
|
|
25
|
-
*/
|
|
26
5
|
export declare const disableSleep: () => Promise<Record<string, import("./interface").DpValue>>;
|
|
27
|
-
/**
|
|
28
|
-
* 获取休眠时间段
|
|
29
|
-
* @returns 返回休眠时间段
|
|
30
|
-
* start: 开始时间(分钟)
|
|
31
|
-
* end: 结束时间(分钟)
|
|
32
|
-
*/
|
|
33
6
|
export declare const getSleepPeriod: () => {
|
|
34
7
|
start: number;
|
|
35
8
|
end: number;
|
|
36
9
|
};
|
|
37
|
-
/**
|
|
38
|
-
* 设置休眠时间段
|
|
39
|
-
* @param params 休眠时间段
|
|
40
|
-
* startTime: 开始时间(分钟)
|
|
41
|
-
* endTime: 结束时间(分钟)
|
|
42
|
-
* @returns Promise<void>
|
|
43
|
-
*/
|
|
44
10
|
export declare const updateSleepPeriod: (params: {
|
|
45
11
|
start: number;
|
|
46
12
|
end: number;
|
|
47
13
|
}) => Promise<Record<string, import("./interface").DpValue>>;
|
|
48
|
-
/**
|
|
49
|
-
* 注册休眠状态变更事件
|
|
50
|
-
* @param callback 休眠状态变更回调
|
|
51
|
-
*/
|
|
52
14
|
export declare const onSleepStatusChange: (callback: (args: {
|
|
53
15
|
sleep: boolean;
|
|
54
16
|
}) => void) => void;
|
|
55
|
-
/**
|
|
56
|
-
* 注销休眠状态变更事件
|
|
57
|
-
* @param callback 休眠状态变更回调
|
|
58
|
-
*/
|
|
59
17
|
export declare const offSleepStatusChange: (callback: (args: {
|
|
60
18
|
sleep: boolean;
|
|
61
19
|
}) => void) => void;
|
package/lib/sleep.js
CHANGED
|
@@ -6,116 +6,59 @@ import emitter from "./utils/event";
|
|
|
6
6
|
import { SLEEP_EVENT } from "./event";
|
|
7
7
|
import dpCodes from "./config/dp-code";
|
|
8
8
|
import { getDpPeriodTime, updateDpPeriodTime } from "./other";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 判断锁是否处于休眠状态
|
|
12
|
-
* @returns true 表示为休眠中
|
|
13
|
-
*/
|
|
14
9
|
export const isSleep = () => {
|
|
15
|
-
|
|
16
|
-
dpSchema
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const linkMode = getDpValue(dpCodes.linkMode);
|
|
22
|
-
return linkMode === "sleep" || linkMode === "lock_sleep";
|
|
10
|
+
const { dpSchema } = config;
|
|
11
|
+
if (typeof dpSchema[dpCodes.linkMode] === "undefined") {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const linkMode = getDpValue(dpCodes.linkMode);
|
|
15
|
+
return linkMode === "sleep" || linkMode === "lock_sleep";
|
|
23
16
|
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* 判断锁是否支持休眠功能
|
|
27
|
-
* @returns true 表示支持休眠功能
|
|
28
|
-
*/
|
|
29
17
|
export const hasSleepAbility = () => {
|
|
30
|
-
|
|
31
|
-
dpSchema
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
const { dpSchema } = config;
|
|
19
|
+
return ((typeof dpSchema[dpCodes.dormantSwitch] !== "undefined" ||
|
|
20
|
+
typeof dpSchema[dpCodes.onlineSwitch] !== "undefined") &&
|
|
21
|
+
typeof dpSchema[dpCodes.dormantTimeSet] !== "undefined");
|
|
34
22
|
};
|
|
35
|
-
const setSleepStatus = async status => {
|
|
36
|
-
|
|
37
|
-
dpSchema
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
throw getError(1014);
|
|
23
|
+
const setSleepStatus = async (status) => {
|
|
24
|
+
const { dpSchema } = config;
|
|
25
|
+
if (typeof dpSchema[dpCodes.onlineSwitch] !== "undefined") {
|
|
26
|
+
return publishDps({
|
|
27
|
+
[dpCodes.onlineSwitch]: status,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (typeof dpSchema[dpCodes.dormantSwitch] !== "undefined") {
|
|
31
|
+
return publishDps({
|
|
32
|
+
[dpCodes.dormantSwitch]: status,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
throw getError(1014);
|
|
50
36
|
};
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* 判断休眠功能是否已启用
|
|
54
|
-
* @returns true 表示休眠功能已启用
|
|
55
|
-
* false 表示休眠功能已禁用
|
|
56
|
-
*/
|
|
57
37
|
export const isEnabledSleep = () => {
|
|
58
|
-
|
|
59
|
-
dpSchema
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
throw getError(1014);
|
|
38
|
+
const { dpSchema } = config;
|
|
39
|
+
if (typeof dpSchema[dpCodes.onlineSwitch] !== "undefined") {
|
|
40
|
+
return getDpValue(dpCodes.onlineSwitch);
|
|
41
|
+
}
|
|
42
|
+
if (typeof dpSchema[dpCodes.dormantSwitch] !== "undefined") {
|
|
43
|
+
return getDpValue(dpCodes.dormantSwitch);
|
|
44
|
+
}
|
|
45
|
+
throw getError(1014);
|
|
68
46
|
};
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* 启用休眠
|
|
72
|
-
* @returns Promise<void>
|
|
73
|
-
*/
|
|
74
47
|
export const enableSleep = async () => {
|
|
75
|
-
|
|
48
|
+
return setSleepStatus(true);
|
|
76
49
|
};
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* 禁用休眠
|
|
80
|
-
* @returns Promise<void>
|
|
81
|
-
*/
|
|
82
50
|
export const disableSleep = async () => {
|
|
83
|
-
|
|
51
|
+
return setSleepStatus(false);
|
|
84
52
|
};
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* 获取休眠时间段
|
|
88
|
-
* @returns 返回休眠时间段
|
|
89
|
-
* start: 开始时间(分钟)
|
|
90
|
-
* end: 结束时间(分钟)
|
|
91
|
-
*/
|
|
92
53
|
export const getSleepPeriod = () => {
|
|
93
|
-
|
|
54
|
+
return getDpPeriodTime(dpCodes.dormantTimeSet);
|
|
94
55
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
* 设置休眠时间段
|
|
98
|
-
* @param params 休眠时间段
|
|
99
|
-
* startTime: 开始时间(分钟)
|
|
100
|
-
* endTime: 结束时间(分钟)
|
|
101
|
-
* @returns Promise<void>
|
|
102
|
-
*/
|
|
103
|
-
export const updateSleepPeriod = params => {
|
|
104
|
-
return updateDpPeriodTime(dpCodes.dormantTimeSet, params);
|
|
56
|
+
export const updateSleepPeriod = (params) => {
|
|
57
|
+
return updateDpPeriodTime(dpCodes.dormantTimeSet, params);
|
|
105
58
|
};
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
export const onSleepStatusChange = callback => {
|
|
112
|
-
emitter.on(SLEEP_EVENT, callback);
|
|
59
|
+
export const onSleepStatusChange = (callback) => {
|
|
60
|
+
emitter.on(SLEEP_EVENT, callback);
|
|
61
|
+
};
|
|
62
|
+
export const offSleepStatusChange = (callback) => {
|
|
63
|
+
emitter.off(SLEEP_EVENT, callback);
|
|
113
64
|
};
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* 注销休眠状态变更事件
|
|
117
|
-
* @param callback 休眠状态变更回调
|
|
118
|
-
*/
|
|
119
|
-
export const offSleepStatusChange = callback => {
|
|
120
|
-
emitter.off(SLEEP_EVENT, callback);
|
|
121
|
-
};
|