@ray-js/lock-sdk 1.0.1 → 1.0.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.
Files changed (86) hide show
  1. package/lib/api/index.js +13 -15
  2. package/lib/api/linkage.d.ts +0 -18
  3. package/lib/api/linkage.js +61 -81
  4. package/lib/api/lock.d.ts +0 -69
  5. package/lib/api/lock.js +91 -113
  6. package/lib/api/log.d.ts +0 -33
  7. package/lib/api/log.js +33 -38
  8. package/lib/api/setting.d.ts +0 -11
  9. package/lib/api/setting.js +17 -30
  10. package/lib/api/temp.d.ts +0 -48
  11. package/lib/api/temp.js +85 -115
  12. package/lib/api/user.d.ts +5 -54
  13. package/lib/api/user.js +40 -52
  14. package/lib/api/video.d.ts +0 -5
  15. package/lib/api/video.js +9 -15
  16. package/lib/config/dp-code/index.d.ts +0 -117
  17. package/lib/config/dp-code/index.js +79 -221
  18. package/lib/config/dp-map/common.d.ts +0 -3
  19. package/lib/config/dp-map/common.js +101 -116
  20. package/lib/config/dp-map/normal.js +29 -50
  21. package/lib/config/dp-map/open.d.ts +0 -16
  22. package/lib/config/dp-map/open.js +62 -63
  23. package/lib/config/dp-map/unlock-method-big.d.ts +0 -60
  24. package/lib/config/dp-map/unlock-method-big.js +196 -233
  25. package/lib/config/dp-map/unlock-method.d.ts +0 -63
  26. package/lib/config/dp-map/unlock-method.js +189 -227
  27. package/lib/config/index.d.ts +0 -25
  28. package/lib/config/index.js +21 -54
  29. package/lib/constant.d.ts +12 -40
  30. package/lib/constant.js +83 -136
  31. package/lib/event.d.ts +0 -6
  32. package/lib/event.js +1 -8
  33. package/lib/index.d.ts +0 -7
  34. package/lib/index.js +45 -71
  35. package/lib/interface.d.ts +0 -523
  36. package/lib/interface.js +1 -1
  37. package/lib/linkage.d.ts +0 -18
  38. package/lib/linkage.js +125 -162
  39. package/lib/log.d.ts +0 -50
  40. package/lib/log.js +255 -290
  41. package/lib/media.d.ts +0 -34
  42. package/lib/media.js +6 -77
  43. package/lib/open.d.ts +0 -35
  44. package/lib/open.js +129 -224
  45. package/lib/other.d.ts +0 -24
  46. package/lib/other.js +98 -159
  47. package/lib/parse/index.d.ts +0 -4
  48. package/lib/parse/index.js +13 -19
  49. package/lib/signal.d.ts +0 -13
  50. package/lib/signal.js +17 -31
  51. package/lib/sleep.d.ts +0 -42
  52. package/lib/sleep.js +41 -98
  53. package/lib/state.d.ts +0 -38
  54. package/lib/state.js +223 -369
  55. package/lib/sync/remote-serect-key.d.ts +0 -4
  56. package/lib/sync/remote-serect-key.js +33 -49
  57. package/lib/sync/t0.d.ts +0 -3
  58. package/lib/sync/t0.js +14 -21
  59. package/lib/sync/temp.d.ts +0 -5
  60. package/lib/sync/temp.js +68 -77
  61. package/lib/sync/unlock-mothod.d.ts +0 -3
  62. package/lib/sync/unlock-mothod.js +28 -40
  63. package/lib/temporary.d.ts +0 -149
  64. package/lib/temporary.js +469 -593
  65. package/lib/unlock-method.d.ts +0 -185
  66. package/lib/unlock-method.js +479 -650
  67. package/lib/user.d.ts +2 -81
  68. package/lib/user.js +202 -336
  69. package/lib/utils/base64-to-hex.js +10 -10
  70. package/lib/utils/byte.d.ts +0 -16
  71. package/lib/utils/byte.js +57 -68
  72. package/lib/utils/constant.js +7 -11
  73. package/lib/utils/device.d.ts +46 -83
  74. package/lib/utils/device.js +294 -322
  75. package/lib/utils/errors.js +75 -122
  76. package/lib/utils/event.js +79 -135
  77. package/lib/utils/hex-to-base64.js +5 -5
  78. package/lib/utils/hex-to-bytes.d.ts +0 -5
  79. package/lib/utils/hex-to-bytes.js +10 -15
  80. package/lib/utils/index.d.ts +0 -42
  81. package/lib/utils/index.js +247 -377
  82. package/lib/utils/log.d.ts +1 -4
  83. package/lib/utils/log.js +71 -74
  84. package/lib/utils/publishDps.d.ts +0 -5
  85. package/lib/utils/publishDps.js +58 -80
  86. package/package.json +3 -4
package/lib/log.js CHANGED
@@ -1,7 +1,4 @@
1
- import "core-js/modules/esnext.iterator.constructor.js";
2
- import "core-js/modules/esnext.iterator.map.js";
3
- import "core-js/modules/esnext.iterator.some.js";
4
- import { getAlarmList, getAlbumMessages, getLatest2Log, getRecordList } from "./api/log";
1
+ import { getAlarmList, getAlbumMessages, getLatest2Log, getRecordList, } from "./api/log";
5
2
  import config from "./config";
6
3
  import dpCodes from "./config/dp-code";
7
4
  import { getCurrentUser } from "./state";
@@ -9,306 +6,274 @@ import base64ToHex from "./utils/base64-to-hex";
9
6
  import { LOGCHANGE } from "./utils/constant";
10
7
  import emitter from "./utils/event";
11
8
  import { handleLocalOperation } from "./utils/log";
12
-
13
- /**
14
- * 开锁 DP 映射开锁类型
15
- */
16
9
  export const unlockDp2Type = {
17
- [dpCodes.unlockFingerprint]: "finger",
18
- [dpCodes.unlockPassword]: "password",
19
- [dpCodes.unlockCard]: "card",
20
- [dpCodes.unlockFace]: "face",
21
- [dpCodes.unlockFingerVein]: "fingerVein",
22
- [dpCodes.unlockHand]: "hand",
23
- [dpCodes.unlockEye]: "eye"
10
+ [dpCodes.unlockFingerprint]: "finger",
11
+ [dpCodes.unlockPassword]: "password",
12
+ [dpCodes.unlockCard]: "card",
13
+ [dpCodes.unlockFace]: "face",
14
+ [dpCodes.unlockFingerVein]: "fingerVein",
15
+ [dpCodes.unlockHand]: "hand",
16
+ [dpCodes.unlockEye]: "eye",
24
17
  };
25
-
26
- /**
27
- * 获取最近2条记录
28
- */
29
18
  export const getLatestLogs = async () => {
30
- const data = await getLatest2Log(config.devInfo.devId);
31
- // TODO 处理统一日志格式
32
- if (data.operateRecordVOList && data.operateRecordVOList.length) {
33
- const list = data.operateRecordVOList.map(item => {
34
- var _item$unionUnlockInfo, _item$unlockNameRoset;
35
- let type = item.logCategory;
36
- if (type === "operation" && item.logType === "dev_bind") {
37
- type = "dev_bind";
38
- }
39
- const dpCode = config.codesById[item.dpId];
40
- const dpSchema = config.dpSchema[dpCode];
41
- let itemData = item.data || "";
42
- if ((dpSchema === null || dpSchema === void 0 ? void 0 : dpSchema.type) === "raw") {
43
- itemData = base64ToHex(item.data);
44
- }
45
- if (typeof itemData === "string" && itemData.includes("[")) {
46
- try {
47
- itemData = JSON.parse(itemData)[0];
48
- } catch {
49
- //
50
- }
51
- }
52
- return {
53
- type,
54
- logId: item.logId,
55
- dpId: item.dpId,
56
- dpCode,
57
- data: itemData,
58
- userId: item.userId,
59
- userName: item.userName,
60
- unlockName: item.unlockName,
61
- mediaInfo: item.mediaInfoList,
62
- unionUnlockInfo: (_item$unionUnlockInfo = item.unionUnlockInfo) === null || _item$unionUnlockInfo === void 0 ? void 0 : _item$unionUnlockInfo.map(item1 => {
63
- return {
64
- userId: item1.userId,
65
- userName: item1.userName,
66
- unlockName: item.unlockName,
67
- sn: item1.sn,
68
- type: unlockDp2Type[item1.opMode]
69
- };
70
- }),
71
- closeValue: (_item$unlockNameRoset = item.unlockNameRosettaKey) === null || _item$unlockNameRoset === void 0 ? void 0 : _item$unlockNameRoset.replace("HISTORY_LOCK_", ""),
72
- time: item.time,
73
- currentUser: !!item.currentUser,
74
- bindable: item.memberBindableFlag
75
- };
76
- });
19
+ const data = await getLatest2Log(config.devInfo.devId);
20
+ if (data.operateRecordVOList && data.operateRecordVOList.length) {
21
+ const list = data.operateRecordVOList.map((item) => {
22
+ let type = item.logCategory;
23
+ if (type === "operation" && item.logType === "dev_bind") {
24
+ type = "dev_bind";
25
+ }
26
+ const dpCode = config.codesById[item.dpId];
27
+ const dpSchema = config.dpSchema[dpCode];
28
+ let itemData = item.data || "";
29
+ if (dpSchema?.type === "raw") {
30
+ itemData = base64ToHex(item.data);
31
+ }
32
+ if (typeof itemData === "string" && itemData.includes("[")) {
33
+ try {
34
+ itemData = JSON.parse(itemData)[0];
35
+ }
36
+ catch {
37
+ }
38
+ }
39
+ return {
40
+ type,
41
+ logId: item.logId,
42
+ dpId: item.dpId,
43
+ dpCode,
44
+ data: itemData,
45
+ userId: item.userId,
46
+ userName: item.userName,
47
+ unlockName: item.unlockName,
48
+ mediaInfo: item.mediaInfoList,
49
+ unionUnlockInfo: item.unionUnlockInfo?.map((item1) => {
50
+ return {
51
+ userId: item1.userId,
52
+ userName: item1.userName,
53
+ unlockName: item.unlockName,
54
+ sn: item1.sn,
55
+ type: unlockDp2Type[item1.opMode],
56
+ };
57
+ }),
58
+ closeValue: item.unlockNameRosettaKey?.replace("HISTORY_LOCK_", ""),
59
+ time: item.time,
60
+ currentUser: !!item.currentUser,
61
+ bindable: item.memberBindableFlag,
62
+ };
63
+ });
64
+ return {
65
+ data: list,
66
+ unreadCount: data.unReadCount,
67
+ };
68
+ }
77
69
  return {
78
- data: list,
79
- unreadCount: data.unReadCount
70
+ data: [],
71
+ unreadCount: 0,
80
72
  };
81
- }
82
- return {
83
- data: [],
84
- unreadCount: 0
85
- };
86
73
  };
87
-
88
- /**
89
- * 注册通知可刷新日志事件
90
- * @param cb
91
- */
92
- export const onLogsRefresh = cb => {
93
- emitter.on(LOGCHANGE, cb);
74
+ export const onLogsRefresh = (cb) => {
75
+ emitter.on(LOGCHANGE, cb);
94
76
  };
95
-
96
- /**
97
- * 注销通知可刷新日志事件
98
- * @param cb
99
- */
100
- export const offLogsRefresh = cb => {
101
- emitter.off(LOGCHANGE, cb);
77
+ export const offLogsRefresh = (cb) => {
78
+ emitter.off(LOGCHANGE, cb);
102
79
  };
103
- // 开门记录dpID合集
104
- export const openDps = [dpCodes.openInside, dpCodes.lockLocalRecord, dpCodes.unlockPassword, dpCodes.lockRecord, dpCodes.unlockFingerprint, dpCodes.unlockCard, dpCodes.unlockFace, dpCodes.unlockHand, dpCodes.unlockFingerVein, dpCodes.unlockEye, dpCodes.unlockTemporary, dpCodes.unlockDoubleKit, dpCodes.unlockKey, dpCodes.unlockPhoneRemote, dpCodes.unlockVoiceRemote, dpCodes.unlockDoubleKitW, dpCodes.unlockBle, dpCodes.unlockOfflinePd, dpCodes.unlockDynamic
105
- // dpCodes.unlockOfflineClear,
106
- // dpCodes.unlockOfflineClearSingle,
80
+ export const openDps = [
81
+ dpCodes.openInside,
82
+ dpCodes.lockLocalRecord,
83
+ dpCodes.unlockPassword,
84
+ dpCodes.lockRecord,
85
+ dpCodes.unlockFingerprint,
86
+ dpCodes.unlockCard,
87
+ dpCodes.unlockFace,
88
+ dpCodes.unlockHand,
89
+ dpCodes.unlockFingerVein,
90
+ dpCodes.unlockEye,
91
+ dpCodes.unlockTemporary,
92
+ dpCodes.unlockDoubleKit,
93
+ dpCodes.unlockKey,
94
+ dpCodes.unlockPhoneRemote,
95
+ dpCodes.unlockVoiceRemote,
96
+ dpCodes.unlockDoubleKitW,
97
+ dpCodes.unlockBle,
98
+ dpCodes.unlockOfflinePd,
99
+ dpCodes.unlockDynamic,
107
100
  ];
108
-
109
- /**
110
- * 0-未定义xx关锁
111
- * 1-手机远程关锁
112
- * 2-语音远程关锁
113
- * 3-地理围栏关锁
114
- * 4-app长按关锁
115
- * 5-配件关锁
116
- * 6-自动落锁
117
- * 7-本地手动落锁
118
- */
119
- const closeTypes = ["UNDEFINED", "APP_REMOTE", "VOICE_REMOTE", "GEO_FENCE", "APP", "FITTINGS", "AUTO", "LOCAL_MANUAL"];
120
-
121
- /**
122
- * 获取日志记录列表
123
- * @param {GetLogsParams} params
124
- */
125
- export const getLogs = async params => {
126
- const {
127
- page = 1,
128
- pageSize = 50
129
- } = params || {};
130
- const currentUser = await getCurrentUser();
131
- const data = await getRecordList({
132
- devId: config.devInfo.devId,
133
- dpIds: openDps.reduce((res, item) => {
134
- if (config.idsByCode[item]) {
135
- res.push(config.idsByCode[item]);
136
- }
137
- return res;
138
- }, []),
139
- offset: (page - 1) * pageSize,
140
- limit: pageSize
141
- });
142
-
143
- // 封装数据
144
- if (data.datas.length) {
145
- const result = data.datas.map(record => {
146
- var _record$unionUnlockIn;
147
- let closeValue = undefined;
148
- let dpValue = record.dpValue;
149
- const dpCode = config.codesById[record.dpId];
150
- let type = dpCode === dpCodes.lockRecord ? "close_record" : "unlock_record";
151
- const dpSchema = config.dpSchema[dpCode];
152
- if (dpSchema.type === "raw") {
153
- dpValue = base64ToHex(dpValue);
154
- }
155
- if (type === "close_record") {
156
- const closeType = parseInt(dpValue.slice(0, 2), 16);
157
- closeValue = closeTypes[closeType] || closeTypes[0];
158
- }
159
-
160
- // 设备本地操作记录处理
161
- if (dpCode === dpCodes.lockLocalRecord) {
162
- type = "local_operation";
163
- }
164
- return {
165
- type,
166
- logId: record.historyId.toString(),
167
- userId: record.userId,
168
- dpId: record.dpId,
169
- data: dpValue,
170
- dpCode,
171
- userName: record.userName,
172
- unlockName: record.unlockName,
173
- mediaInfo: record.mediaInfoList,
174
- unionUnlockInfo: (_record$unionUnlockIn = record.unionUnlockInfo) === null || _record$unionUnlockIn === void 0 ? void 0 : _record$unionUnlockIn.map(item => ({
175
- userId: item.userId,
176
- userName: item.userName,
177
- unlockName: item.unlockName,
178
- sn: item.sn,
179
- type: unlockDp2Type[item.opMode]
180
- })),
181
- closeValue,
182
- time: record.gmtCreate,
183
- currentUser: +record.userId === +currentUser.userId,
184
- bindable: record.memberBindableFlag === 1,
185
- unlockMethod: type === "unlock_record" ? unlockDp2Type[dpCode] : undefined,
186
- localRecord: handleLocalOperation(record.localOperateRecordInfo)
187
- };
101
+ const closeTypes = [
102
+ "UNDEFINED",
103
+ "APP_REMOTE",
104
+ "VOICE_REMOTE",
105
+ "GEO_FENCE",
106
+ "APP",
107
+ "FITTINGS",
108
+ "AUTO",
109
+ "LOCAL_MANUAL",
110
+ ];
111
+ export const getLogs = async (params) => {
112
+ const { page = 1, pageSize = 50 } = params || {};
113
+ const currentUser = await getCurrentUser();
114
+ const data = await getRecordList({
115
+ devId: config.devInfo.devId,
116
+ dpIds: openDps.reduce((res, item) => {
117
+ if (config.idsByCode[item]) {
118
+ res.push(config.idsByCode[item]);
119
+ }
120
+ return res;
121
+ }, []),
122
+ offset: (page - 1) * pageSize,
123
+ limit: pageSize,
188
124
  });
125
+ if (data.datas.length) {
126
+ const result = data.datas.map((record) => {
127
+ let closeValue = undefined;
128
+ let dpValue = record.dpValue;
129
+ const dpCode = config.codesById[record.dpId];
130
+ let type = dpCode === dpCodes.lockRecord ? "close_record" : "unlock_record";
131
+ const dpSchema = config.dpSchema[dpCode];
132
+ if (dpSchema.type === "raw") {
133
+ dpValue = base64ToHex(dpValue);
134
+ }
135
+ if (type === "close_record") {
136
+ const closeType = parseInt(dpValue.slice(0, 2), 16);
137
+ closeValue = closeTypes[closeType] || closeTypes[0];
138
+ }
139
+ if (dpCode === dpCodes.lockLocalRecord) {
140
+ type = "local_operation";
141
+ }
142
+ return {
143
+ type,
144
+ logId: record.historyId.toString(),
145
+ userId: record.userId,
146
+ dpId: record.dpId,
147
+ data: dpValue,
148
+ dpCode,
149
+ userName: record.userName,
150
+ unlockName: record.unlockName,
151
+ mediaInfo: record.mediaInfoList,
152
+ unionUnlockInfo: record.unionUnlockInfo?.map((item) => ({
153
+ userId: item.userId,
154
+ userName: item.userName,
155
+ unlockName: item.unlockName,
156
+ sn: item.sn,
157
+ type: unlockDp2Type[item.opMode],
158
+ })),
159
+ closeValue,
160
+ time: record.gmtCreate,
161
+ currentUser: +record.userId === +currentUser.userId,
162
+ bindable: record.memberBindableFlag === 1,
163
+ unlockMethod: type === "unlock_record" ? unlockDp2Type[dpCode] : undefined,
164
+ localRecord: handleLocalOperation(record.localOperateRecordInfo, dpValue),
165
+ };
166
+ });
167
+ return {
168
+ list: result,
169
+ hasMore: data.hasNext,
170
+ total: data.totalCount,
171
+ };
172
+ }
189
173
  return {
190
- list: result,
191
- hasMore: data.hasNext,
192
- total: data.totalCount
174
+ list: [],
175
+ hasMore: false,
176
+ total: 0,
193
177
  };
194
- }
195
- return {
196
- list: [],
197
- hasMore: false,
198
- total: 0
199
- };
200
178
  };
201
- const alarmDps = [dpCodes.doorbell, dpCodes.familyCall, dpCodes.alarmReminder, dpCodes.alarmLock, dpCodes.unlockOfflineClear, dpCodes.unlockOfflineClearSingle, dpCodes.hijack];
202
- /**
203
- * 获取告警列表
204
- * @param {GetAlarmsParams} params
205
- */
206
- export const getAlarms = async params => {
207
- const {
208
- page = 1,
209
- pageSize = 50
210
- } = params || {};
211
- const currentUser = await getCurrentUser();
212
- const data = await getAlarmList({
213
- devId: config.devInfo.devId,
214
- dpIds: alarmDps.reduce((res, item) => {
215
- if (config.idsByCode[item]) {
216
- res.push(config.idsByCode[item]);
217
- }
218
- return res;
219
- }, []),
220
- offset: (page - 1) * pageSize,
221
- limit: pageSize
222
- });
223
- // 封装数据
224
- if (data.datas.length) {
225
- const result = data.datas.map(record => {
226
- var _record$dps;
227
- let dpId = record.dpId;
228
- let dpValue = record.dpValue;
229
- let dpCode = config.codesById[dpId];
230
- const dpSchema = config.dpSchema[dpCode];
231
- if (dpSchema.type === "raw") {
232
- dpValue = base64ToHex(dpValue);
233
- }
234
- // 处理劫持告警情况
235
- const isHijack = (_record$dps = record.dps) === null || _record$dps === void 0 ? void 0 : _record$dps.some(item => Object.keys(item)[0] === "98");
236
- return {
237
- type: "alarm_record",
238
- logId: record.historyId.toString(),
239
- userId: record.userId,
240
- dpId: record.dpId,
241
- data: dpValue,
242
- dpCode,
243
- userName: record.userName,
244
- unlockName: record.unlockName,
245
- mediaInfo: record.mediaInfoList,
246
- time: record.gmtCreate,
247
- currentUser: +record.userId === +currentUser.userId,
248
- bindable: false,
249
- isHijack
250
- };
179
+ const alarmDps = [
180
+ dpCodes.doorbell,
181
+ dpCodes.familyCall,
182
+ dpCodes.alarmReminder,
183
+ dpCodes.alarmLock,
184
+ dpCodes.unlockOfflineClear,
185
+ dpCodes.unlockOfflineClearSingle,
186
+ dpCodes.hijack,
187
+ ];
188
+ export const getAlarms = async (params) => {
189
+ const { page = 1, pageSize = 50 } = params || {};
190
+ const currentUser = await getCurrentUser();
191
+ const data = await getAlarmList({
192
+ devId: config.devInfo.devId,
193
+ dpIds: alarmDps.reduce((res, item) => {
194
+ if (config.idsByCode[item]) {
195
+ res.push(config.idsByCode[item]);
196
+ }
197
+ return res;
198
+ }, []),
199
+ offset: (page - 1) * pageSize,
200
+ limit: pageSize,
251
201
  });
202
+ if (data.datas.length) {
203
+ const result = data.datas.map((record) => {
204
+ let dpId = record.dpId;
205
+ let dpValue = record.dpValue;
206
+ let dpCode = config.codesById[dpId];
207
+ const dpSchema = config.dpSchema[dpCode];
208
+ if (dpSchema.type === "raw") {
209
+ dpValue = base64ToHex(dpValue);
210
+ }
211
+ const isHijack = record.dps?.some((item) => Object.keys(item)[0] === "98");
212
+ return {
213
+ type: "alarm_record",
214
+ logId: record.historyId.toString(),
215
+ userId: record.userId,
216
+ dpId: record.dpId,
217
+ data: dpValue,
218
+ dpCode,
219
+ userName: record.userName,
220
+ unlockName: record.unlockName,
221
+ mediaInfo: record.mediaInfoList,
222
+ time: record.gmtCreate,
223
+ currentUser: +record.userId === +currentUser.userId,
224
+ bindable: false,
225
+ isHijack,
226
+ };
227
+ });
228
+ return {
229
+ list: result,
230
+ hasMore: data.hasNext,
231
+ total: data.totalCount,
232
+ };
233
+ }
252
234
  return {
253
- list: result,
254
- hasMore: data.hasNext,
255
- total: data.totalCount
235
+ list: [],
236
+ hasMore: false,
237
+ total: 0,
238
+ };
239
+ };
240
+ export const getAlbums = async (params) => {
241
+ const now = Date.now();
242
+ const beforeYear = now - 365 * 24 * 60 * 60 * 1000;
243
+ const { page = 1, pageSize = 20, startTime = beforeYear, endTime = now, } = params || {};
244
+ const data = await getAlbumMessages({
245
+ devId: config.devInfo.devId,
246
+ limit: pageSize,
247
+ offset: (page - 1) * pageSize,
248
+ safeMode: false,
249
+ picInclude: true,
250
+ startTime,
251
+ endTime,
252
+ });
253
+ return {
254
+ hasMore: data.hasNext,
255
+ list: data.albumList.map((item) => ({
256
+ id: item.fileId,
257
+ mediaPath: item.mediaPath,
258
+ fileKey: item.fileKey,
259
+ fileUrl: item.fileUrl,
260
+ mediaBucket: item.mediaBucket,
261
+ mediaKey: item.mediaKey,
262
+ aiTypes: item.aiTypes,
263
+ describe: item.describe,
264
+ aiInfos: item.aiDetectResults.map((x) => ({
265
+ id: x.bizId,
266
+ type: x.aiType,
267
+ name: x.eventTypeDesc,
268
+ desc: x.desc,
269
+ happenTime: x.happenTime,
270
+ isCorrected: x.missStep,
271
+ })),
272
+ type: item.eventType,
273
+ createTime: item.uploadMilTime,
274
+ })),
275
+ allAitypes: data.allAitypes,
276
+ types: data.eventTypes,
277
+ langMap: data.eventLangMap,
256
278
  };
257
- }
258
- return {
259
- list: [],
260
- hasMore: false,
261
- total: 0
262
- };
263
279
  };
264
- /**
265
- * 获取相册日志
266
- * 仅支持视对讲设备
267
- */
268
- export const getAlbums = async params => {
269
- const now = Date.now();
270
- // 一年前
271
-
272
- const {
273
- page = 1,
274
- pageSize = 20,
275
- startTime = now - 365 * 24 * 60 * 60 * 1000,
276
- endTime = now
277
- } = params || {};
278
- const data = await getAlbumMessages({
279
- devId: config.devInfo.devId,
280
- limit: pageSize,
281
- offset: (page - 1) * pageSize,
282
- safeMode: false,
283
- picInclude: true,
284
- startTime,
285
- endTime
286
- });
287
- // 格式化数据
288
- return {
289
- hasMore: data.hasNext,
290
- list: data.albumList.map(item => ({
291
- id: item.fileId,
292
- mediaPath: item.mediaPath,
293
- fileKey: item.fileKey,
294
- fileUrl: item.fileUrl,
295
- mediaBucket: item.mediaBucket,
296
- mediaKey: item.mediaKey,
297
- aiTypes: item.aiTypes,
298
- describe: item.describe,
299
- aiInfos: item.aiDetectResults.map(x => ({
300
- id: x.bizId,
301
- type: x.aiType,
302
- name: x.eventTypeDesc,
303
- desc: x.desc,
304
- happenTime: x.happenTime,
305
- isCorrected: x.missStep
306
- })),
307
- type: item.eventType,
308
- createTime: item.uploadMilTime
309
- })),
310
- allAitypes: data.allAitypes,
311
- types: data.eventTypes,
312
- langMap: data.eventLangMap
313
- };
314
- };
package/lib/media.d.ts CHANGED
@@ -1,43 +1,9 @@
1
- /**
2
- * 多媒体相关接口
3
- */
4
- /**
5
- * 获取视频的实际播放地址参数
6
- */
7
1
  interface GetMediaUrlParams {
8
- /**
9
- * 媒体路径
10
- */
11
2
  mediaPath: string;
12
- /**
13
- * 媒体桶
14
- */
15
3
  mediaBucket: string;
16
4
  }
17
5
  interface MediaUrlResult {
18
6
  mediaUrl: string;
19
7
  }
20
- /**
21
- * 获取视频的实际播放地址
22
- * @param params
23
- * @returns
24
- */
25
8
  export declare const getMediaUrl: (params: GetMediaUrlParams) => Promise<MediaUrlResult>;
26
- /**
27
- * 跳转到本地相册页面
28
- */
29
- export declare const goToLocalAlbum: (params?: {
30
- theme?: "dark" | "light";
31
- }) => Promise<unknown>;
32
- /**
33
- * 跳转到回放页面
34
- * @param params { theme?: "dark" | "light" }
35
- * @returns Promise<boolean>
36
- */
37
- export declare const goToPlayback: (params?: {
38
- theme?: "dark" | "light";
39
- }) => Promise<unknown>;
40
- export declare const openCameraSettings: (params?: {
41
- theme?: "dark" | "light";
42
- }) => Promise<unknown>;
43
9
  export {};