From 3ac556d7a5312dbc5a38c04668c2073daf008bd7 Mon Sep 17 00:00:00 2001 From: leilei Date: Tue, 30 Sep 2025 17:58:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=9B=B4=E6=96=B0=E5=8D=8F=E5=90=8C?= =?UTF-8?q?=E5=90=88=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/conferencingRoom.js | 50 +- src/main.js | 5 + src/router/index.js | 2 +- src/stores/modules/room.js | 19 + src/utils/mqtt.js | 2 +- src/utils/request.js | 6 +- src/views/conferencingRoom/business/index.js | 3 + src/views/conferencingRoom/index.vue | 1495 +++++++++++++----- src/views/conferencingRoom/index_old.vue | 893 +++++++++++ src/views/coordinate/personnelList/index.vue | 305 ++-- src/views/error/404.vue | 1 + src/views/login.vue | 18 +- 12 files changed, 2178 insertions(+), 621 deletions(-) create mode 100644 src/stores/modules/room.js create mode 100644 src/views/conferencingRoom/business/index.js create mode 100644 src/views/conferencingRoom/index_old.vue diff --git a/src/api/conferencingRoom.js b/src/api/conferencingRoom.js index 5c4bc55..486942f 100644 --- a/src/api/conferencingRoom.js +++ b/src/api/conferencingRoom.js @@ -1,12 +1,23 @@ -import request from '@/views/conferencingRoom/utils/request.js' -import { tansParams } from "@/utils/ruoyi"; +// import request from '@/views/conferencingRoom/utils/request.js' +// import { tansParams } from "@/utils/ruoyi"; -// 获取roomtoken +import request from '@/utils/request' + +// 创建房间获取token export function getRoomToken(data) { return request({ - url: `/room/token`, + url: `/api/v1/rooms/create`, method: 'post', - data: tansParams(data), + data: data, + }) +} + +//邀请用户参与房间 +export function getInvite(room_uid,data) { + return request({ + url: `/api/v1/meeting/${room_uid}/invite`, + method: 'post', + data: data, }) } @@ -25,4 +36,31 @@ export function getRoomList() { url: `/room/ `, method: 'get', }) -} \ No newline at end of file +} + +//修改状态 加入 退出 +export function getStatusApi(room_uid,data) { + return request({ + url: `/api/v1/meeting/${room_uid}/status`, + method: 'post', + data: data, + }) +} + +//参与者获取token +export function getTokenApi(room_uid) { + return request({ + url: `/api/v1/meeting/${room_uid}/token`, + method: 'get', + + }) +} + +//用户退出房间 +export function exitRoomApi(room_uid) { + return request({ + url: `/api/v1/meeting/${room_uid}/leave`, + method: 'post', + }) +} + diff --git a/src/main.js b/src/main.js index 4cf7924..ce88ed5 100644 --- a/src/main.js +++ b/src/main.js @@ -2,6 +2,11 @@ import { createApp } from 'vue' import { createPinia } from 'pinia' + +import { + deepClone + } from '@/utils/ruoyi' + import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' import "@/assets/styles/index.scss"; // global css diff --git a/src/router/index.js b/src/router/index.js index 8bafdb1..79947f2 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -35,7 +35,7 @@ const router = createRouter({ children: [ { path: '', - name: "Coordinate", + name: "ConferencingRoom", component: () => import("@/views/conferencingRoom/index.vue") } ] diff --git a/src/stores/modules/room.js b/src/stores/modules/room.js new file mode 100644 index 0000000..64ee70e --- /dev/null +++ b/src/stores/modules/room.js @@ -0,0 +1,19 @@ +import { defineStore } from 'pinia' + +export const useRoomStore = defineStore('room', { + state: () => ({ + roomId: '', + token: '', + userUid: '', + detailUid: '', + }), + actions: { + setUserUid(data) { + this.userUid = data + }, + setDetailUid(data) { + this.detailUid = data + } + } + +}) \ No newline at end of file diff --git a/src/utils/mqtt.js b/src/utils/mqtt.js index 29d9a48..5ea24db 100644 --- a/src/utils/mqtt.js +++ b/src/utils/mqtt.js @@ -34,7 +34,7 @@ class MQTTClient { // 消息分发 this.client.on("message", (topic, payload) => { - try { + try { // const message = JSON.parse(payload.toString()) // 遍历所有订阅主题,执行通配符匹配 this.messageHandlers.forEach((handlers, subTopic) => { diff --git a/src/utils/request.js b/src/utils/request.js index 578208f..fe895cb 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -98,14 +98,12 @@ service.interceptors.request.use( ); service.interceptors.response.use( - (response) => { - console.log(response,'response') + (response) => { // 1. 检查响应是否存在 if (!response) { ElMessage.error('无响应数据'); return Promise.reject(new Error('无响应数据')); - } - console.log(response.data,'response.data') + } // 2. 安全获取响应数据和状态码 const responseData = response.data || {}; const statusCode = response.status; diff --git a/src/views/conferencingRoom/business/index.js b/src/views/conferencingRoom/business/index.js new file mode 100644 index 0000000..26669cb --- /dev/null +++ b/src/views/conferencingRoom/business/index.js @@ -0,0 +1,3 @@ +export function generateUUID() { + +} \ No newline at end of file diff --git a/src/views/conferencingRoom/index.vue b/src/views/conferencingRoom/index.vue index 1fefd4f..0ae7826 100644 --- a/src/views/conferencingRoom/index.vue +++ b/src/views/conferencingRoom/index.vue @@ -1,147 +1,201 @@ \ No newline at end of file diff --git a/src/views/conferencingRoom/index_old.vue b/src/views/conferencingRoom/index_old.vue new file mode 100644 index 0000000..e5a5acb --- /dev/null +++ b/src/views/conferencingRoom/index_old.vue @@ -0,0 +1,893 @@ + + + + + \ No newline at end of file diff --git a/src/views/coordinate/personnelList/index.vue b/src/views/coordinate/personnelList/index.vue index 0426423..d6fa11a 100644 --- a/src/views/coordinate/personnelList/index.vue +++ b/src/views/coordinate/personnelList/index.vue @@ -116,16 +116,7 @@
{{ item.name }} -
- - +
- + diff --git a/src/views/error/404.vue b/src/views/error/404.vue index f205303..acd383b 100644 --- a/src/views/error/404.vue +++ b/src/views/error/404.vue @@ -26,6 +26,7 @@