# websocket **Repository Path**: temporal-flow/websocket ## Basic Information - **Project Name**: websocket - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-01 - **Last Updated**: 2025-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WebSocket聊天系统 基于WebSocket协议的实时聊天系统,支持用户认证、消息交互及数据持久化。 ## 项目结构 - `chat-server`: Spring Boot后端项目 - `chat-client`: Vue.js前端项目 ## 功能特点 - 用户认证:注册、登录、会话管理 - 实时聊天:单聊/群聊、消息推送 - 消息管理:消息存储、历史记录查询 - 用户管理:管理员角色(用户列表查看、封禁等权限) ## 技术栈 ### 后端 - Spring Boot - Spring Security + JWT - Spring WebSocket - Spring Data JPA - MySQL ### 前端 - Vue.js - Vuex - Vue Router - WebSocket API ## 环境要求 - JDK 1.8+ - MySQL 8.0 - Node.js 14+ - npm 6+ ## 快速开始 ### 后端部署 1. 配置数据库 修改 `chat-server/src/main/resources/application.properties` 文件中的数据库连接信息: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/websocket_chat?useSSL=false&serverTimezone=UTC&createDatabaseIfNotExist=true spring.datasource.username=你的数据库用户名 spring.datasource.password=你的数据库密码 ``` 2. 构建项目 ```bash cd chat-server mvn clean package ``` 3. 运行应用 ```bash java -jar target/chat-0.0.1-SNAPSHOT.jar ``` 后端服务将在 http://localhost:8080 上运行。 ### 前端部署 1. 安装依赖 ```bash cd chat-client npm install ``` 2. 开发模式运行 ```bash npm run serve ``` 前端服务将在 http://localhost:8080 上运行。 3. 构建生产版本 ```bash npm run build ``` 生成的文件将位于 `dist` 目录中,可以部署到任何静态文件服务器上。 ## 使用说明 1. 注册/登录:访问首页进行注册或登录 2. 聊天: - 可以选择聊天室进行群聊 - 可以选择在线用户进行私聊 - 可以创建新的聊天室 3. 管理员功能: - 查看所有用户 - 封禁/解封用户 - 删除聊天室 ## 注意事项 - 第一个注册的用户将自动成为管理员 - 默认JWT令牌有效期为24小时 - 前端默认连接到 localhost:8080,如需修改后端地址,请更新前端代码中的API地址 ## 部署脚本 ### 后端部署脚本 (deploy-backend.bat) ```bat @echo off cd chat-server call mvn clean package -DskipTests java -jar target/chat-0.0.1-SNAPSHOT.jar ``` ### 前端部署脚本 (deploy-frontend.bat) ```bat @echo off cd chat-client call npm install call npm run build ```