Files
quick-share/README.md

118 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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需要升级
1. **下载并安装 Java 17+**
- 推荐使用 [Eclipse Temurin (Adoptium)](https://adoptium.net/)
- 或 [Oracle JDK](https://www.oracle.com/java/technologies/downloads/)
- 或 [Amazon Corretto](https://aws.amazon.com/corretto/)
2. **配置 JAVA_HOME 环境变量**
```powershell
# Windows PowerShell (管理员权限)
[System.Environment]::SetEnvironmentVariable('JAVA_HOME', 'C:\Program Files\Eclipse Adoptium\jdk-17.x.x-hotspot', 'Machine')
```
3. **验证 Java 版本**
```powershell
java -version
# 应该显示 java version "17.x.x" 或更高
mvn -v
# 应该显示 Java version: 17.x.x
```
### Node.js 版本要求
- Node.js 18+ 和 npm 9+
## 快速开始
### 后端启动
```bash
cd backend
mvn clean install
mvn spring-boot:run
```
后端将在 `http://localhost:8080` 启动WebSocket 端点为 `/ws`。
### 前端启动
```bash
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/` 目录下的详细文档。
## 许可证
[待定]