# ByUsiAccount **Repository Path**: byusi/byusiaccount ## Basic Information - **Project Name**: ByUsiAccount - **Description**: 账户系统,现没有什么用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-13 - **Last Updated**: 2025-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ByUsi 账号系统 这是一个完整的账号管理系统,支持注册、登录、OAuth 认证(GitHub 和 Gitee)、邮箱验证、用户分组管理等功能。 ## 功能特性 - **用户管理**:注册、登录、修改资料、密码更改、邮箱验证。 - **OAuth 支持**:支持 GitHub 和 Gitee 的第三方登录与账号绑定。 - **权限控制**:基于用户组的权限管理,支持创建、删除和更新用户组。 - **JWT 认证**:使用 JWT 实现安全的用户身份验证。 - **邮件服务**:发送邮箱验证链接,清理过期的验证记录。 - **兼容旧 API**:支持与旧系统的用户数据对接。 ## 技术栈 - **后端**:Java + Spark(轻量级 Web 框架) - **数据库**:JDBC + MySQL(或其他兼容数据库) - **前端**:React + Next.js - **认证**:JWT + OAuth 2.0(GitHub/Gitee) - **工具**:Gson、Java Mail、LocalDateTime 处理等 ## 安装与部署 ### 后端依赖 确保你已安装以下环境: - Java 17 或更高版本 - Maven - MySQL 或其他兼容数据库 #### 数据库配置 在 `backend/src/main/resources/config.properties` 中配置数据库连接信息: ```properties db.url=jdbc:mysql://localhost:3306/byusi_account db.username=root db.password=your_password ``` #### OAuth 配置 同样在 `config.properties` 中配置 OAuth 客户端信息: ```properties github.client.id=your_github_client_id github.client.secret=your_github_client_secret gitee.client.id=your_gitee_client_id gitee.client.secret=your_gitee_client_secret ``` #### 初始化数据库 运行以下命令初始化数据库表结构: ```bash mvn exec:java -Dexec.mainClass="miao.byusi.account.system.Main" ``` 系统会自动创建所需的表结构并插入默认用户组。 ### 前端依赖 确保你已安装: - Node.js - npm 或 yarn 进入 `frontend` 目录并安装依赖: ```bash cd frontend npm install ``` 启动开发服务器: ```bash npm run dev ``` 访问 `http://localhost:3000` 查看前端界面。 ## 使用说明 ### 注册与登录 - 用户可以通过注册页面创建新账号。 - 登录后,系统会生成 JWT Token 用于后续请求的身份验证。 - 支持通过旧 API 登录并同步用户数据。 ### OAuth 登录 - 用户可以通过 GitHub 或 Gitee 登录。 - 登录后,系统会自动创建或绑定已有账号。 - 用户可以在个人中心查看已绑定的 OAuth 账号。 ### 邮箱验证 - 注册后,系统会发送验证邮件。 - 用户点击邮件中的链接完成邮箱验证。 - 系统会定期清理过期的验证记录。 ### 用户组管理(管理员功能) - 管理员可以创建、删除和更新用户组。 - 每个用户组可以设置不同的权限。 - 支持查看所有用户及其所属用户组。 ## API 文档 ### 用户相关 - `POST /api/register`:注册新用户 - `POST /api/login`:用户登录 - `GET /api/user/:id`:获取用户信息 - `PUT /api/user/:id`:更新用户资料 - `DELETE /api/user/:id`:删除用户 ### OAuth 相关 - `GET /oauth/github`:GitHub 登录入口 - `GET /oauth/gitee`:Gitee 登录入口 - `GET /api/oauth/:provider`:获取绑定状态 ### 管理员相关 - `GET /api/admin/groups`:获取所有用户组 - `POST /api/admin/group`:创建用户组 - `DELETE /api/admin/group/:name`:删除用户组 ## 贡献指南 欢迎贡献代码!请遵循以下步骤: 1. Fork 本仓库 2. 创建新分支 (`git checkout -b feature/your-feature`) 3. 提交更改 (`git commit -am 'Add some feature'`) 4. 推送分支 (`git push origin feature/your-feature`) 5. 提交 Pull Request ## 许可证 本项目采用 MIT License,请参阅 [LICENSE](LICENSE) 文件获取详细信息。