From e899c7c1811cecfc2b5770468e6d7fb9ba61b95c Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Tue, 13 Jan 2026 10:22:35 +0800 Subject: [PATCH] =?UTF-8?q?websocket=E9=BB=98=E8=AE=A4=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=94=B9=E4=B8=BA=E7=9C=9F=E5=AE=9E=E8=8E=B7?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/test/index.vue | 20 ++++++++++---------- src/views/test/test.api.ts | 15 +++++++++++++++ 2 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 src/views/test/test.api.ts diff --git a/src/views/test/index.vue b/src/views/test/index.vue index d054818..4d5b437 100644 --- a/src/views/test/index.vue +++ b/src/views/test/index.vue @@ -446,6 +446,7 @@ import { ref, reactive, computed, onMounted, onBeforeUnmount, watch, nextTick } from 'vue'; import { message, Modal } from 'ant-design-vue'; import { UserOutlined, ReloadOutlined } from '@ant-design/icons-vue'; +import { userList } from './test.api'; // WebSocket连接状态 const ws = ref({}); // 改为对象,存储多个WebSocket连接 @@ -461,15 +462,7 @@ const wsConfig = reactive({ }); // 固定用户ID列表(只需要ID,不需要姓名) -const fixedUsers = ref([ - '1990230015776468901', - '1990230015776468902', - '1990230015776468905', - '1990230015776468903', - '1990230015776468906', - '1990230015776468993', - '1990230015776468904' -]); +const fixedUsers = ref([]); // 用户真实姓名缓存(从服务器获取后缓存) const userRealnameCache = ref({}); @@ -1056,6 +1049,8 @@ const broadcastToSelectedUsers = () => { // 发送消息给单个用户 const sendMessageToUser = (userId, msg) => { + console.log("🌊 ~ sendMessageToUser ~ msg:", msg) + console.log("🌊 ~ sendMessageToUser ~ userId:", userId) if (!isConnected.value) { message.warning('WebSocket未连接'); return false; @@ -1645,7 +1640,12 @@ onBeforeUnmount(() => { }); // 组件挂载时自动选择一个默认用户 -onMounted(() => { +onMounted(async () => { + let users = await userList() + users.forEach(item => { + return fixedUsers.value.push(item.id); + }) + // 默认选中第一个用户 if (fixedUsers.value.length > 0) { selectedConnectUsers.value = [fixedUsers.value[0]]; diff --git a/src/views/test/test.api.ts b/src/views/test/test.api.ts new file mode 100644 index 0000000..d50da5e --- /dev/null +++ b/src/views/test/test.api.ts @@ -0,0 +1,15 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from '/@/hooks/web/useMessage'; + +const { createConfirm } = useMessage(); + +enum Api { + userList = '/api/pad/employee/queryEmpList', +} + +/** + * 获取所有用户 + * @param params + */ +export const userList = () => defHttp.get({ url: Api.userList }); +