@ray-js/lock-sdk 1.2.4-beta.2 → 1.2.4-beta.3

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.
@@ -1,4 +1,4 @@
1
- import { offBleChange, offDeviceInfoUpdated, offDpDataChange, offMqttMessage, offOnlineChange, offResetMemberName, offResetMemberRole, onAppHide, onAppShow, onBleChange, onDeviceInfoUpdated, onDpDataChange, onMqttMessage, onOnlineChange, onResetMemberName, onResetMemberRole, registerBleStatus, registerDevice, registerMQTTDeviceListener, registerMQTTProtocolListener, } from "../../platform/device";
1
+ import { offBleChange, offDeviceInfoUpdated, offDpDataChange, offMqttMessage, offOnlineChange, offReceiveMessage, offResetMemberName, offResetMemberRole, onAppHide, onAppShow, onBleChange, onDeviceInfoUpdated, onDpDataChange, onMqttMessage, onOnlineChange, onReceiveMessage, onResetMemberName, onResetMemberRole, registerBleStatus, registerChannel, registerDevice, registerMQTTDeviceListener, registerMQTTProtocolListener, } from "../../platform/device";
2
2
  import { getRuntimeByDevId, listRegisteredRuntimes, } from "../../runtime/registry";
3
3
  import emitter from "../../utils/event";
4
4
  import { getWiFiSignalChangeEvent } from "../misc/signal";
@@ -14,6 +14,7 @@ import { syncDeleteUsersWithRuntime } from "../user/sync-user";
14
14
  import { fetchDeviceProperties } from "./remote-permissions";
15
15
  import { checkOfflineDpUpdateForRuntime } from "../offline-dps";
16
16
  import { sdkLog } from "../../utils/sdk-log";
17
+ import { ipc } from "../../platform";
17
18
  const subscribedDevIds = new Set();
18
19
  let globalPlatformListenersInstalled = false;
19
20
  let mqttProtocolListenerRegistered = false;
@@ -118,6 +119,27 @@ const globalHandleResetMemberName = ({ memberId }) => {
118
119
  };
119
120
  const globalHandleResetMemberRole = ({ memberId }) => {
120
121
  };
122
+ const globalHandleReceiveMessage = (data) => {
123
+ if (!data || !data.eventName) {
124
+ return;
125
+ }
126
+ sdkLog("info", "platform", "onReceiveMessage", {
127
+ data: { eventName: data.eventName, type: data.event?.type },
128
+ });
129
+ const { eventName, event } = data;
130
+ if (eventName === "LOCK_SETTINGS_EVENT") {
131
+ const { type, deviceId, data } = event;
132
+ if (type === "talk_mode_changed") {
133
+ const rt = getRuntimeByDevId(deviceId);
134
+ if (rt) {
135
+ ipc.getCurrentSupportedTalkMode(deviceId).then((modeRes) => {
136
+ rt.config.isTwoWayTalk = modeRes.talkbackMode === 2;
137
+ });
138
+ }
139
+ }
140
+ }
141
+ };
142
+ let settingsChannelManager;
121
143
  export const addEvents = (runtime) => {
122
144
  if (!globalPlatformListenersInstalled) {
123
145
  globalPlatformListenersInstalled = true;
@@ -130,6 +152,8 @@ export const addEvents = (runtime) => {
130
152
  onAppHide(globalHandleAppHide);
131
153
  onResetMemberName(globalHandleResetMemberName);
132
154
  onResetMemberRole(globalHandleResetMemberRole);
155
+ settingsChannelManager = registerChannel("LOCK_SETTINGS_EVENT");
156
+ onReceiveMessage(globalHandleReceiveMessage);
133
157
  }
134
158
  if (runtime.infra.eventsRegistered) {
135
159
  return;
@@ -161,4 +185,6 @@ export const removeEvents = () => {
161
185
  for (const rt of listRegisteredRuntimes()) {
162
186
  rt.infra.eventsRegistered = false;
163
187
  }
188
+ settingsChannelManager && settingsChannelManager.unRegisterChannel({});
189
+ offReceiveMessage(globalHandleReceiveMessage);
164
190
  };
@@ -228,4 +228,7 @@ export declare const getAppUserInfo: () => Promise<{
228
228
  phoneCode: string;
229
229
  isTemporaryUser: boolean;
230
230
  }>;
231
+ export declare const registerChannel: (eventName: string) => ReturnType<typeof ty.registerChannel>;
232
+ export declare const onReceiveMessage: (cb: (data: any) => void) => void;
233
+ export declare const offReceiveMessage: (cb: (data: any) => void) => void;
231
234
  export {};
@@ -552,3 +552,14 @@ export const getAppUserInfo = () => {
552
552
  });
553
553
  });
554
554
  };
555
+ export const registerChannel = (eventName) => {
556
+ return ty.registerChannel({
557
+ eventName,
558
+ });
559
+ };
560
+ export const onReceiveMessage = (cb) => {
561
+ return ty.onReceiveMessage(cb);
562
+ };
563
+ export const offReceiveMessage = (cb) => {
564
+ return ty.offReceiveMessage(cb);
565
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ray-js/lock-sdk",
3
- "version": "1.2.4-beta.2",
3
+ "version": "1.2.4-beta.3",
4
4
  "files": [
5
5
  "lib",
6
6
  "LICENSE.md"