diff --git a/app/command/admin/Worker.php b/app/command/admin/Worker.php index 3cb13e9..5bf4dae 100644 --- a/app/command/admin/Worker.php +++ b/app/command/admin/Worker.php @@ -67,6 +67,14 @@ class Worker extends Command $connection->clientVersion = $clientVersion; // 绑定成功通知 $connection->send(json_encode(['event'=>'BIND_USER_SUCCESS','userId'=>$auth->userId])); + $client = SysUserClient::where([ + 'client_id' => $connection->clientId, + 'client_name'=> $connection->clientName + ])->find(); + if($client && $client['is_lock']) { + // 锁定屏幕 + $connection->send(json_encode(['event'=>'LOCK_CLIENT_SCREEN'])); + } } if ($messageJson['event'] == 'lock_client_screen') { if($connection->userId) { diff --git a/z_ele/src/App.vue b/z_ele/src/App.vue index 4cb6b72..374a505 100644 --- a/z_ele/src/App.vue +++ b/z_ele/src/App.vue @@ -10,6 +10,7 @@ + @@ -20,6 +21,7 @@ import { useThemeStore } from '@/store/modules/theme'; import { useLocale } from '@/i18n/use-locale'; import WebsocketState from '@/components/WebsocketState/index.vue'; + import LockScreenState from '@/components/LockScreenState/index.vue'; /** 组件全局配置 */ const { tableConfig } = useGlobalConfig(); diff --git a/z_ele/src/components/LockScreenState/index.vue b/z_ele/src/components/LockScreenState/index.vue index ad3fa96..2c6e7cb 100644 --- a/z_ele/src/components/LockScreenState/index.vue +++ b/z_ele/src/components/LockScreenState/index.vue @@ -23,6 +23,7 @@ const visible = ref(false); wsEventManager.subscribe(WsEvent.LOCK_CLIENT_SCREEN, () => { + console.log("LOCK_CLIENT_SCREEN->") visible.value = true; }); diff --git a/z_ele/src/plugins/websocket/core/event-manager.ts b/z_ele/src/plugins/websocket/core/event-manager.ts index fc0bbbb..e225583 100644 --- a/z_ele/src/plugins/websocket/core/event-manager.ts +++ b/z_ele/src/plugins/websocket/core/event-manager.ts @@ -26,7 +26,7 @@ export class WsEventManagerImpl implements WsEventManager { remove: () => this.unsubscribe(event, listenerId) }); } - + console.log("添加事件去了", event) return { id: listenerId, remove: () => this.unsubscribe(event, listenerId) @@ -41,7 +41,7 @@ export class WsEventManagerImpl implements WsEventManager { emit(event: WsEvent, data?: any): void { console.debug(`[WS Event] Emitting: ${event}`); const listeners = this.listeners[event] || []; - + console.log("事件lieb", listeners) // 安全遍历 listeners.forEach((listener) => { const context: WsEventContext = {