@ray-js/lock-sdk 1.2.0-beta.10 → 1.2.0-beta.12
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/log.d.ts +5 -0
- package/lib/constant.d.ts +1 -0
- package/lib/constant.js +6 -0
- package/lib/entries/fit/index.js +1 -1
- package/lib/entries/main/bootstrap/bootstrap.js +1 -0
- package/lib/entries/main/exports/misc.d.ts +1 -1
- package/lib/entries/main/index.js +1 -1
- package/lib/feature/log/log.js +6 -0
- package/lib/feature/misc/capability.js +7 -21
- package/lib/feature/misc/connect-device.js +2 -1
- package/lib/feature/service/goto-service.d.ts +1 -1
- package/lib/feature/state/device-status.js +2 -2
- package/lib/feature/state/remote-permissions.js +2 -2
- package/lib/interface.d.ts +6 -0
- package/lib/platform/device.d.ts +4 -3
- package/lib/platform/ipc.d.ts +3 -0
- package/lib/platform/ipc.js +13 -0
- package/lib/platform/storage.d.ts +1 -1
- package/lib/runtime/lock-config.d.ts +1 -0
- package/lib/runtime/lock-config.js +1 -0
- package/lib/utils/index.d.ts +1 -1
- package/package.json +1 -1
package/lib/api/log.d.ts
CHANGED
|
@@ -151,6 +151,11 @@ interface AlbumItem {
|
|
|
151
151
|
fileUrl: string;
|
|
152
152
|
mediaBucket: string;
|
|
153
153
|
mediaKey: string;
|
|
154
|
+
width: number;
|
|
155
|
+
height: number;
|
|
156
|
+
angle: number;
|
|
157
|
+
position: number;
|
|
158
|
+
vr: 0 | 1;
|
|
154
159
|
}
|
|
155
160
|
export declare const getAlbumMessages: (params: GetAlbumMessagesParams) => Promise<{
|
|
156
161
|
hasNext: boolean;
|
package/lib/constant.d.ts
CHANGED
package/lib/constant.js
CHANGED
|
@@ -87,3 +87,9 @@ export var RemotePermissionType;
|
|
|
87
87
|
RemotePermissionType["ADMINS_ONLY"] = "adminsOnly";
|
|
88
88
|
RemotePermissionType["NO_ONE"] = "noOne";
|
|
89
89
|
})(RemotePermissionType || (RemotePermissionType = {}));
|
|
90
|
+
export const cameraPositionMap = {
|
|
91
|
+
0: 4,
|
|
92
|
+
1: 3,
|
|
93
|
+
2: 5,
|
|
94
|
+
3: 6,
|
|
95
|
+
};
|
package/lib/entries/fit/index.js
CHANGED
|
@@ -18,7 +18,7 @@ export const initFit = async (options) => {
|
|
|
18
18
|
const { devInfo, deviceId } = opts;
|
|
19
19
|
if (!devInfo && !deviceId) {
|
|
20
20
|
const { query } = getLaunchOptionsSync();
|
|
21
|
-
opts.deviceId = query
|
|
21
|
+
opts.deviceId = query['deviceId'];
|
|
22
22
|
if (!opts.deviceId) {
|
|
23
23
|
throw getError(1000);
|
|
24
24
|
}
|
|
@@ -47,6 +47,7 @@ export async function applyLockOptionsToRuntime(runtime, options) {
|
|
|
47
47
|
config.idsByCode = idsByCode;
|
|
48
48
|
config.supportBigData = !!dpSchema[dpCodes.synchMethodW];
|
|
49
49
|
config.preFetch = options?.preFetch ?? false;
|
|
50
|
+
config.notSupportWake = options?.notSupportWake ?? false;
|
|
50
51
|
config.communication = getCapabilities(devInfo.capability).map((item) => item.id);
|
|
51
52
|
sdkLog("info", "bootstrap", "applyOptions", {
|
|
52
53
|
devId: config.devInfo.devId,
|
|
@@ -14,5 +14,5 @@ export interface UpdateDpPeriodTimeOption {
|
|
|
14
14
|
}
|
|
15
15
|
export declare function updateDpPeriodTime(dpCode: string, data: UpdateDpPeriodTimeParams, option?: UpdateDpPeriodTimeOption): Promise<void>;
|
|
16
16
|
export declare function connectDevice(): Promise<true>;
|
|
17
|
-
export declare function gotoService(params?: GotoServiceParams): Promise<
|
|
17
|
+
export declare function gotoService(params?: GotoServiceParams): Promise<void>;
|
|
18
18
|
export declare function validatePwdComplexity(password: string): Promise<boolean>;
|
|
@@ -18,7 +18,7 @@ export const init = async (options) => {
|
|
|
18
18
|
const { devInfo, deviceId } = opts;
|
|
19
19
|
if (!devInfo && !deviceId) {
|
|
20
20
|
const { query } = getLaunchOptionsSync();
|
|
21
|
-
opts.deviceId = query
|
|
21
|
+
opts.deviceId = query['deviceId'];
|
|
22
22
|
if (!opts.deviceId) {
|
|
23
23
|
throw getError(1000);
|
|
24
24
|
}
|
package/lib/feature/log/log.js
CHANGED
|
@@ -6,6 +6,7 @@ import { LOGCHANGE } from "../../utils/constant";
|
|
|
6
6
|
import emitter from "../../utils/event";
|
|
7
7
|
import { handleLocalOperation } from "../../utils/log";
|
|
8
8
|
import { parseWeek } from "../../utils";
|
|
9
|
+
import { cameraPositionMap } from "src/constant";
|
|
9
10
|
export function getLogsRefreshEvent(runtime) {
|
|
10
11
|
return `${LOGCHANGE}_${runtime.devId}`;
|
|
11
12
|
}
|
|
@@ -418,6 +419,11 @@ export async function getAlbumsForRuntime(rt, params) {
|
|
|
418
419
|
})),
|
|
419
420
|
type: item.eventType,
|
|
420
421
|
createTime: item.uploadMilTime,
|
|
422
|
+
width: item.width,
|
|
423
|
+
height: item.height,
|
|
424
|
+
angle: item.angle,
|
|
425
|
+
position: cameraPositionMap[item.position],
|
|
426
|
+
isVR: !!item.vr,
|
|
421
427
|
})),
|
|
422
428
|
allAitypes: data.allAitypes,
|
|
423
429
|
types: data.eventTypes,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getDeviceAdvancedAbility, getProductAbilities } from "../../api";
|
|
2
2
|
import { ProductCommunicationType } from "../../constant";
|
|
3
3
|
import { checkShowMatterMutilpleShare } from "../../platform/device";
|
|
4
|
+
import { ipc } from "../../platform";
|
|
4
5
|
export const hasCapabilityForRuntime = (runtime, capability) => runtime.config.communication.includes(capability);
|
|
5
6
|
export const isBlePureDeviceForRuntime = (rt) => hasCapabilityForRuntime(rt, ProductCommunicationType.BLUETOOTH) &&
|
|
6
7
|
rt.config.communication.length === 1;
|
|
@@ -56,7 +57,7 @@ export const getDeviceAdvancedAbilitiesForRuntime = async (rt) => {
|
|
|
56
57
|
if (rt.cache.deviceAdvanceAbilityCache) {
|
|
57
58
|
return rt.cache.deviceAdvanceAbilityCache;
|
|
58
59
|
}
|
|
59
|
-
const [productAbilitiesRes, deviceAdvancedAbilityRes] = await Promise.allSettled([
|
|
60
|
+
const [productAbilitiesRes, deviceAdvancedAbilityRes, tttList] = await Promise.allSettled([
|
|
60
61
|
getProductAbilities(rt.config.devInfo.devId, [
|
|
61
62
|
"tyabi4ucx5",
|
|
62
63
|
"tyabis9tpe",
|
|
@@ -66,11 +67,13 @@ export const getDeviceAdvancedAbilitiesForRuntime = async (rt) => {
|
|
|
66
67
|
"visual_door_lock_cloud_store",
|
|
67
68
|
]),
|
|
68
69
|
getDeviceAdvancedAbility(rt.config.devInfo.devId),
|
|
70
|
+
ipc.getTTTAbilityKeyList("isSupportedVRMode"),
|
|
69
71
|
]);
|
|
70
72
|
const productAbilities = productAbilitiesRes.status === "fulfilled" ? productAbilitiesRes.value : [];
|
|
71
73
|
const deviceAdvancedAbility = deviceAdvancedAbilityRes.status === "fulfilled"
|
|
72
74
|
? deviceAdvancedAbilityRes.value
|
|
73
75
|
: undefined;
|
|
76
|
+
const tttAbList = tttList.status === "fulfilled" ? tttList.value.abilityList : [];
|
|
74
77
|
const deviceAdvanceAbilityCache = {
|
|
75
78
|
cloudStorage: {
|
|
76
79
|
support: deviceAdvancedAbility?.types?.includes(0) ?? false,
|
|
@@ -127,26 +130,9 @@ export const getDeviceAdvancedAbilitiesForRuntime = async (rt) => {
|
|
|
127
130
|
petRecognition ||
|
|
128
131
|
voice ||
|
|
129
132
|
message;
|
|
130
|
-
deviceAdvanceAbilityCache.vr.support =
|
|
133
|
+
deviceAdvanceAbilityCache.vr.support =
|
|
134
|
+
!!data?.lock_VR && tttAbList.length > 0;
|
|
131
135
|
if (deviceAdvanceAbilityCache.vr.support) {
|
|
132
|
-
const modeMap = {
|
|
133
|
-
original: {
|
|
134
|
-
mode: "original",
|
|
135
|
-
value: 0,
|
|
136
|
-
},
|
|
137
|
-
VR: {
|
|
138
|
-
mode: "VR",
|
|
139
|
-
value: 1,
|
|
140
|
-
},
|
|
141
|
-
horizontal: {
|
|
142
|
-
mode: "horizontal",
|
|
143
|
-
value: 2,
|
|
144
|
-
},
|
|
145
|
-
vertical: {
|
|
146
|
-
mode: "vertical",
|
|
147
|
-
value: 3,
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
136
|
deviceAdvanceAbilityCache.vr.modes = allModes.filter((item) => {
|
|
151
137
|
return data?.modes?.includes(item.mode);
|
|
152
138
|
});
|
|
@@ -154,7 +140,7 @@ export const getDeviceAdvancedAbilitiesForRuntime = async (rt) => {
|
|
|
154
140
|
const exist = deviceAdvanceAbilityCache.vr.modes.find((x) => x.mode === deviceAdvanceAbilityCache.vr.defaultMode);
|
|
155
141
|
if (!exist) {
|
|
156
142
|
deviceAdvanceAbilityCache.vr.defaultMode =
|
|
157
|
-
deviceAdvanceAbilityCache.vr.modes?.[0]
|
|
143
|
+
deviceAdvanceAbilityCache.vr.modes?.[0]?.mode;
|
|
158
144
|
}
|
|
159
145
|
deviceAdvanceAbilityCache.vr.coverMode = data.photo_cover_format;
|
|
160
146
|
}
|
|
@@ -154,10 +154,11 @@ export async function connectDeviceForRuntime(rt) {
|
|
|
154
154
|
data: {
|
|
155
155
|
statusType: deviceStatus.type,
|
|
156
156
|
onlineTypes: deviceStatus.onlineTypes,
|
|
157
|
+
connectEnable: deviceStatus.connectEnable,
|
|
157
158
|
hasWirelessAwakeDp,
|
|
158
159
|
},
|
|
159
160
|
});
|
|
160
|
-
if (hasWirelessAwakeDp) {
|
|
161
|
+
if (deviceStatus.connectEnable && hasWirelessAwakeDp) {
|
|
161
162
|
if (cfg.devInfo.isCloudOnline && !getDpValueForRuntime(rt, wirelessAwake)) {
|
|
162
163
|
const result = await awakeDevice(devId);
|
|
163
164
|
sdkLog("info", "connectDevice", "success", {
|
|
@@ -3,4 +3,4 @@ export interface GotoServiceParams {
|
|
|
3
3
|
tab?: "cloudStorage" | "AI" | "voip";
|
|
4
4
|
showGift?: boolean;
|
|
5
5
|
}
|
|
6
|
-
export declare function gotoServiceForRuntime(rt: LockDeviceRuntime, params?: GotoServiceParams): Promise<
|
|
6
|
+
export declare function gotoServiceForRuntime(rt: LockDeviceRuntime, params?: GotoServiceParams): Promise<void>;
|
|
@@ -23,7 +23,7 @@ export const updateOnlineType = async (runtime) => {
|
|
|
23
23
|
updateDeviceStatus(runtime);
|
|
24
24
|
};
|
|
25
25
|
export const getDeviceStatusForRuntime = (runtime) => {
|
|
26
|
-
const { onlineType, devInfo: { isCloudOnline, isOnline, wifiEnableState, isMatter }, } = runtime.config;
|
|
26
|
+
const { onlineType, notSupportWake, devInfo: { isCloudOnline, isOnline, wifiEnableState, isMatter }, } = runtime.config;
|
|
27
27
|
const supportWifi = hasCapabilityForRuntime(runtime, ProductCommunicationType.WIFI);
|
|
28
28
|
const supportBle = hasCapabilityForRuntime(runtime, ProductCommunicationType.BLUETOOTH);
|
|
29
29
|
const supportThread = hasCapabilityForRuntime(runtime, ProductCommunicationType.THREAD);
|
|
@@ -38,7 +38,7 @@ export const getDeviceStatusForRuntime = (runtime) => {
|
|
|
38
38
|
const isMatterLocal = isOnlineByType(onlineType, 8);
|
|
39
39
|
const isBleOnline = isOnlineByType(onlineType, 2);
|
|
40
40
|
const isLocalOnline = !isCloudOnline && isOnlineByType(onlineType, 1);
|
|
41
|
-
const hasWirelessAwakeDp = hasDpForRuntime(runtime, dpCodes.wirelessAwake);
|
|
41
|
+
const hasWirelessAwakeDp = !notSupportWake && hasDpForRuntime(runtime, dpCodes.wirelessAwake);
|
|
42
42
|
const wirelessAwake = getDpValueForRuntime(runtime, dpCodes.wirelessAwake);
|
|
43
43
|
status.connectEnable = isSupportBleControlForRuntime(runtime) && !isOnline;
|
|
44
44
|
if (supportWifi) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getDeviceProperties } from "../../api/setting";
|
|
2
2
|
import { getDataWithPreFetchForRuntime } from "../utils";
|
|
3
|
-
import { RemotePermissionType } from "../../constant";
|
|
3
|
+
import { cameraPositionMap, RemotePermissionType } from "../../constant";
|
|
4
4
|
export const permissions = [
|
|
5
5
|
RemotePermissionType.ADMINS_ONLY,
|
|
6
6
|
RemotePermissionType.EVERY_ONE,
|
|
@@ -37,7 +37,7 @@ export async function fetchDeviceProperties(runtime, isForce) {
|
|
|
37
37
|
width: item.w,
|
|
38
38
|
height: item.h,
|
|
39
39
|
rotate: item.al,
|
|
40
|
-
localtion: item.p,
|
|
40
|
+
localtion: cameraPositionMap[item.p],
|
|
41
41
|
}));
|
|
42
42
|
}
|
|
43
43
|
catch (e) {
|
package/lib/interface.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export interface LockSDKOption {
|
|
|
12
12
|
supportMultipleFace?: boolean;
|
|
13
13
|
supportOfflineDps?: boolean;
|
|
14
14
|
preFetch?: boolean;
|
|
15
|
+
notSupportWake?: boolean;
|
|
15
16
|
logLevel?: SDKLogLevel;
|
|
16
17
|
logger?: SDKLogSink;
|
|
17
18
|
logToConsole?: boolean;
|
|
@@ -254,6 +255,11 @@ export interface MediaInfo {
|
|
|
254
255
|
fileUrl: string;
|
|
255
256
|
mediaBucket: string;
|
|
256
257
|
mediaKey: string;
|
|
258
|
+
width: number;
|
|
259
|
+
height: number;
|
|
260
|
+
angle: number;
|
|
261
|
+
position: number;
|
|
262
|
+
isVR: boolean;
|
|
257
263
|
}
|
|
258
264
|
export type LogType = "alarm_record" | "close_record" | "unlock_record" | "operation" | "local_operation";
|
|
259
265
|
export type CloseValue = "UNDEFINED" | "VOICE_REMOTE" | "APP_REMOTE" | "AUTO" | "LOCAL_MANUAL" | "FITTINGS" | "APP" | "GEO_FENCE";
|
package/lib/platform/device.d.ts
CHANGED
|
@@ -52,7 +52,7 @@ export declare const getSystemInfoSync: () => {
|
|
|
52
52
|
locationEnabled: boolean;
|
|
53
53
|
wifiEnabled: boolean;
|
|
54
54
|
theme?: ty.Themes;
|
|
55
|
-
deviceOrientation?: ty.
|
|
55
|
+
deviceOrientation?: ty.PhoneOrientation;
|
|
56
56
|
deviceLevel: string;
|
|
57
57
|
isSupportPinShortcut?: boolean;
|
|
58
58
|
deviceType?: string;
|
|
@@ -74,9 +74,10 @@ export declare const requestCloud: <T>(options: {
|
|
|
74
74
|
export declare const getLaunchOptionsSync: () => {
|
|
75
75
|
path: string;
|
|
76
76
|
scene?: ty.MiniAppScene;
|
|
77
|
-
query: any
|
|
77
|
+
query: Record<string, any>;
|
|
78
78
|
referrerInfo: ty.ReferrerInfo;
|
|
79
79
|
apiCategory?: string;
|
|
80
|
+
extraQuery?: Record<string, any>;
|
|
80
81
|
};
|
|
81
82
|
export declare function encrypt(deviceId: string, plaintext: string): Promise<string>;
|
|
82
83
|
export declare function decrypt(deviceId: string, plaintext: string): Promise<string>;
|
|
@@ -219,7 +220,7 @@ export declare const onResetMemberName: (cb: HomeMemberListener) => void;
|
|
|
219
220
|
export declare const offResetMemberName: (cb: HomeMemberListener) => void;
|
|
220
221
|
export declare const onResetMemberRole: (cb: HomeMemberListener) => void;
|
|
221
222
|
export declare const offResetMemberRole: (cb: HomeMemberListener) => void;
|
|
222
|
-
export declare const getLogManager: () => ty.
|
|
223
|
+
export declare const getLogManager: () => ty.LogManager;
|
|
223
224
|
export declare const getAppUserInfo: () => Promise<{
|
|
224
225
|
nickName: string;
|
|
225
226
|
avatarUrl: string;
|
package/lib/platform/ipc.d.ts
CHANGED
package/lib/platform/ipc.js
CHANGED
|
@@ -31,10 +31,23 @@ const getCurrentSupportedTalkMode = (deviceId) => {
|
|
|
31
31
|
}
|
|
32
32
|
return Promise.reject(new Error("not support"));
|
|
33
33
|
};
|
|
34
|
+
const getTTTAbilityKeyList = (key) => {
|
|
35
|
+
if (ty.ipc.getTTTAbilityKeyList) {
|
|
36
|
+
return new Promise((resolve, reject) => {
|
|
37
|
+
ty.ipc.getTTTAbilityKeyList({
|
|
38
|
+
key,
|
|
39
|
+
success: resolve,
|
|
40
|
+
fail: reject,
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return Promise.resolve({ abilityList: [] });
|
|
45
|
+
};
|
|
34
46
|
export default {
|
|
35
47
|
wakeUpDoorBell,
|
|
36
48
|
isConnected,
|
|
37
49
|
isConnecting,
|
|
38
50
|
connect,
|
|
39
51
|
getCurrentSupportedTalkMode,
|
|
52
|
+
getTTTAbilityKeyList,
|
|
40
53
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const setStorageSync: (key: string, data:
|
|
1
|
+
export declare const setStorageSync: (key: string, data: string) => void;
|
|
2
2
|
export declare const getStorageSync: (key: string) => any;
|
|
3
3
|
export declare const removeStorageSync: (key: string) => void;
|
|
@@ -24,6 +24,7 @@ export type LockConfigState = {
|
|
|
24
24
|
supportTalk: boolean;
|
|
25
25
|
isTwoWayTalk: boolean;
|
|
26
26
|
cameraConfig: CameraConfig[];
|
|
27
|
+
notSupportWake: boolean;
|
|
27
28
|
};
|
|
28
29
|
export declare function createDefaultDeviceStatus(): DeviceStatus;
|
|
29
30
|
export declare function createLockConfigState(): LockConfigState;
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export declare const getSystemInfo: () => {
|
|
|
32
32
|
locationEnabled: boolean;
|
|
33
33
|
wifiEnabled: boolean;
|
|
34
34
|
theme?: ty.Themes;
|
|
35
|
-
deviceOrientation?: ty.
|
|
35
|
+
deviceOrientation?: ty.PhoneOrientation;
|
|
36
36
|
deviceLevel: string;
|
|
37
37
|
isSupportPinShortcut?: boolean;
|
|
38
38
|
deviceType?: string;
|