# CloudSync-java **Repository Path**: hj2017hhh/cloud-sync-java ## Basic Information - **Project Name**: CloudSync-java - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-02 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CloudSync 扫码登录系统 一个完整的PC端和移动端扫码登录解决方案,支持本地开发和生产环境部署。 ## 📋 项目概述 本项目包含三个子项目: 1. **login-page** - PC端Web应用(React + TypeScript + Vite) 2. **login-page-app** - H5移动端应用(React + TypeScript + Vite) 3. **login-page-java** - 后端API服务(Spring Boot 3.2 + JDK 21) ### 核心功能 - ✅ 用户名密码登录 - ✅ 扫码登录(PC端生成二维码,H5扫码确认) - ✅ WebSocket实时通信 - ✅ JWT认证 - ✅ 多环境配置(开发/生产) - ✅ 完整的错误处理和提示 --- ## 🚀 快速开始 ### 环境要求 - **JDK 21** - **Node.js 18+** - **MySQL 5.7+ 或 8.0+** - **Maven 3.6+** ### 本地开发 #### 1. 启动后端 ```bash cd login-page-java # 开发环境启动(Windows) start-dev.bat # 或使用Maven mvn spring-boot:run -Dspring-boot.run.profiles=dev ``` 后端将运行在:`http://localhost:8080` #### 2. 启动PC端 ```bash cd login-page npm install npm run dev ``` PC端将运行在:`http://localhost:5173` #### 3. 启动H5端 ```bash cd login-page-app npm install npm run dev ``` H5端将运行在:`http://localhost:5183` --- ## 📦 生产环境部署 ### Linux服务器部署 #### 前提条件 - Linux服务器(Ubuntu 20.04+ / Debian 10+ / CentOS 7+ / RHEL 7+) - JDK 21 - MySQL 5.7+ 或 8.0+ #### 快速部署 ```bash # 1. 打包应用 cd login-page-java mvn clean package -DskipTests # 2. 上传文件到服务器 scp target/cloudsync-1.0.0.jar user@server:/tmp/ scp deploy.sh user@server:/tmp/ scp install-deps.sh user@server:/tmp/ scp config-prod.env.example user@server:/tmp/cloudsync.env # 3. 安装依赖(自动检测系统类型) ssh user@server sudo chmod +x /tmp/install-deps.sh sudo /tmp/install-deps.sh # 4. 配置应用 sudo mkdir -p /data/cloudsync/{config,backup,logs} sudo cp /tmp/cloudsync-1.0.0.jar /data/cloudsync/ sudo cp /tmp/cloudsync.env /data/cloudsync/config/.env sudo cp /tmp/deploy.sh /usr/local/bin/cloudsync sudo chmod +x /usr/local/bin/cloudsync # 5. 编辑配置文件 sudo nano /data/cloudsync/config/.env # 设置数据库密码、JWT密钥等 # 6. 启动应用 sudo cloudsync start sudo cloudsync status ``` #### 常用命令 ```bash sudo cloudsync start # 启动 sudo cloudsync stop # 停止 sudo cloudsync restart # 重启 sudo cloudsync status # 查看状态 sudo cloudsync logs # 查看日志 sudo cloudsync deploy /path/to/new.jar # 部署新版本 ``` ### 前端部署 #### PC端 ```bash cd login-page npm run build # 将dist目录部署到Web服务器 ``` #### H5端 ```bash cd login-page-app npm run build # 将dist目录部署到Web服务器 ``` --- ## ⚙️ 配置说明 ### 环境变量 #### 后端配置 (`/data/cloudsync/config/.env`) ```bash # 数据库配置 DB_URL=jdbc:mysql://localhost:3306/cloudsync_db?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&characterEncoding=utf8 DB_USERNAME=cloudsync DB_PASSWORD=your_password # 服务器配置 SERVER_PORT=8080 SERVER_HOST=0.0.0.0 # CORS配置 CORS_ALLOWED_ORIGINS=http://192.168.10.3:5173,http://192.168.10.3:5183 # JWT配置 JWT_SECRET=your-jwt-secret-key-minimum-64-characters JWT_EXPIRATION=86400000 # 日志级别 LOG_LEVEL=INFO ``` #### 前端配置 **PC端** (`.env.production`): ```bash VITE_API_BASE_URL=http://192.168.10.3:8080/api VITE_WS_BASE_URL=ws://192.168.10.3:8080 ``` **H5端** (`.env.production`): ```bash VITE_API_BASE_URL=http://192.168.10.3:8080/api VITE_WS_BASE_URL=ws://192.168.10.3:8080 ``` --- ## 📖 详细文档 - [项目说明](README.md) - [环境配置说明](ENVIRONMENT_GUIDE.md) - [Linux快速部署](QUICK_START_LINUX.md) - [Linux完整部署指南](LINUX_DEPLOYMENT_GUIDE.md) - [常见问题解决](TROUBLESHOOTING.md) --- ## 🔐 安全建议 1. **修改默认密码**:数据库密码、JWT密钥等 2. **使用HTTPS**:生产环境务必启用HTTPS 3. **配置防火墙**:只开放必要端口 4. **定期备份**:配置数据库和文件备份 5. **监控日志**:定期检查异常访问 --- ## 🛠️ 技术栈 ### 前端 - **React 18** - UI框架 - **TypeScript** - 类型安全 - **Vite** - 构建工具 - **Framer Motion** - 动画库 - **TailwindCSS** - 样式框架 ### 后端 - **Spring Boot 3.2** - 应用框架 - **Spring Security** - 安全框架 - **Spring WebSocket** - 实时通信 - **MyBatis Plus** - ORM框架 - **JWT** - 身份认证 - **MySQL** - 数据库 --- ## 📞 扫码登录流程 1. **PC端**:用户点击"扫码登录",生成二维码 2. **H5端**:用户打开扫码功能,扫描二维码 3. **H5端**:显示确认页面,用户点击"确认登录" 4. **PC端**:检测到登录成功,自动跳转到个人中心 --- ## 🐛 常见问题 ### 1. 数据库连接失败 检查数据库服务是否启动,确认配置文件中的密码正确。 ### 2. CORS跨域错误 确保后端配置的 `CORS_ALLOWED_ORIGINS` 包含前端地址。 ### 3. 扫码登录失败 - 确认WebSocket连接正常 - 检查二维码是否过期 - 查看后端日志确认错误信息 ### 4. 前端无法连接后端 - 确认后端服务已启动 - 检查前端环境变量配置 - 确认端口未被防火墙阻止 --- ## 📝 更新日志 ### v1.0.0 (2024-05-31) - ✨ 完整的扫码登录功能 - ✨ 多环境配置支持 - ✨ Linux部署脚本 - ✨ 完整的错误处理 - ✨ WebSocket实时通信 - ✨ JWT认证 --- ## 👥 贡献 欢迎提交Issue和Pull Request! --- ## 📄 许可证 MIT License --- **Made with ❤️ by CloudSync Team**