f18bf32d33b033e2b7114b35484fef85f3e9ea54
DataTool - 房间数据传输助手 (quick-share)
基于 WebSocket 的轻量级数据传输工具,适用于 VNC/远程桌面、内网隔离等场景。
技术栈
- 后端: Spring Boot 3.2.5 + Java 17 + WebSocket (STOMP/SockJS)
- 前端: Vue 3 + TypeScript + Vite + TailwindCSS + Pinia
前置要求
Java 版本要求
重要: 本项目需要 Java 17 或更高版本。
当前检测到您的系统使用的是 Java 8,需要升级:
-
下载并安装 Java 17+
-
配置 JAVA_HOME 环境变量
# Windows PowerShell (管理员权限) [System.Environment]::SetEnvironmentVariable('JAVA_HOME', 'C:\Program Files\Eclipse Adoptium\jdk-17.x.x-hotspot', 'Machine') -
验证 Java 版本
java -version # 应该显示 java version "17.x.x" 或更高 mvn -v # 应该显示 Java version: 17.x.x
Node.js 版本要求
- Node.js 18+ 和 npm 9+
快速开始
后端启动
cd backend
mvn clean install
mvn spring-boot:run
后端将在 http://localhost:8080 启动,WebSocket 端点为 /ws。
前端启动
cd frontend
npm install
npm run dev
前端将在 http://localhost:5173 启动。
项目结构
DataTool/
├── backend/ # Spring Boot 后端
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/datatool/
│ │ │ │ ├── config/ # WebSocket 配置
│ │ │ │ ├── room/ # 房间与会话管理
│ │ │ │ ├── message/ # 消息模型
│ │ │ │ └── ws/ # WebSocket 控制器
│ │ │ └── resources/
│ │ │ └── application.yml
│ └── pom.xml
├── frontend/ # Vue 3 前端
│ ├── src/
│ │ ├── components/ # Vue 组件
│ │ ├── views/ # 页面视图
│ │ ├── stores/ # Pinia 状态管理
│ │ ├── ws/ # WebSocket 客户端
│ │ └── router/ # 路由配置
│ └── package.json
└── docs/ # 项目文档
WebSocket 端点说明
- 连接端点:
/ws(支持 SockJS) - 应用前缀:
/app - 广播前缀:
/topic
主要消息路径
- 加入房间:
/app/room/{roomCode}/join - 发送消息:
/app/room/{roomCode}/message - 文件分片:
/app/room/{roomCode}/file/chunk - 房间广播:
/topic/room/{roomCode} - 文件分片广播:
/topic/room/{roomCode}/file/{fileId}
开发计划
当前已完成基础架构搭建,包括:
- ✅ 后端 WebSocket/STOMP 配置
- ✅ 房间与会话管理
- ✅ 前端 Vue 3 + TypeScript + Tailwind 脚手架
- ✅ WebSocket 客户端封装
- ✅ 基础 UI 组件与布局
后续功能开发请参考 docs/ 目录下的详细文档。
许可证
[待定]
Description
Languages
TypeScript
33.9%
Vue
31.5%
Java
31.2%
CSS
1.1%
Dockerfile
1.1%
Other
1.2%