up. ws update.

This commit is contained in:
扶桑花间 2025-08-28 22:54:27 +08:00
parent 9419f2cf51
commit b14fcbf06d
4 changed files with 13 additions and 2 deletions

View File

@ -67,6 +67,14 @@ class Worker extends Command
$connection->clientVersion = $clientVersion; $connection->clientVersion = $clientVersion;
// 绑定成功通知 // 绑定成功通知
$connection->send(json_encode(['event'=>'BIND_USER_SUCCESS','userId'=>$auth->userId])); $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 ($messageJson['event'] == 'lock_client_screen') {
if($connection->userId) { if($connection->userId) {

View File

@ -10,6 +10,7 @@
<router-view /> <router-view />
</ele-app> </ele-app>
<websocket-state /> <websocket-state />
<lock-screen-state />
</ele-config-provider> </ele-config-provider>
</el-config-provider> </el-config-provider>
</template> </template>
@ -20,6 +21,7 @@
import { useThemeStore } from '@/store/modules/theme'; import { useThemeStore } from '@/store/modules/theme';
import { useLocale } from '@/i18n/use-locale'; import { useLocale } from '@/i18n/use-locale';
import WebsocketState from '@/components/WebsocketState/index.vue'; import WebsocketState from '@/components/WebsocketState/index.vue';
import LockScreenState from '@/components/LockScreenState/index.vue';
/** 组件全局配置 */ /** 组件全局配置 */
const { tableConfig } = useGlobalConfig(); const { tableConfig } = useGlobalConfig();

View File

@ -23,6 +23,7 @@
const visible = ref(false); const visible = ref(false);
wsEventManager.subscribe(WsEvent.LOCK_CLIENT_SCREEN, () => { wsEventManager.subscribe(WsEvent.LOCK_CLIENT_SCREEN, () => {
console.log("LOCK_CLIENT_SCREEN->")
visible.value = true; visible.value = true;
}); });
</script> </script>

View File

@ -26,7 +26,7 @@ export class WsEventManagerImpl implements WsEventManager {
remove: () => this.unsubscribe(event, listenerId) remove: () => this.unsubscribe(event, listenerId)
}); });
} }
console.log("添加事件去了", event)
return { return {
id: listenerId, id: listenerId,
remove: () => this.unsubscribe(event, listenerId) remove: () => this.unsubscribe(event, listenerId)
@ -41,7 +41,7 @@ export class WsEventManagerImpl implements WsEventManager {
emit(event: WsEvent, data?: any): void { emit(event: WsEvent, data?: any): void {
console.debug(`[WS Event] Emitting: ${event}`); console.debug(`[WS Event] Emitting: ${event}`);
const listeners = this.listeners[event] || []; const listeners = this.listeners[event] || [];
console.log("事件lieb", listeners)
// 安全遍历 // 安全遍历
listeners.forEach((listener) => { listeners.forEach((listener) => {
const context: WsEventContext = { const context: WsEventContext = {