mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-02-18 13:01:02 +08:00
2.5 KiB
2.5 KiB
💡 简介
OpenIsle 基于 Spring Boot 构建,提供社区后台常见的注册、登录、文章与评论等能力,适合用作二次开发的起点,完全开源。
⚡ 动机
- 学习和实践现代 Java Web 开发
- 快速搭建可扩展的社区或论坛应用
- 提供清晰的代码示例和简单易懂的配置
✨ 特性
- 用户体系:注册、登录,密码使用 BCrypt 加密
- JWT 认证:登录后获得 Token,接口通过
Authorization: Bearer认证 - 邮件通知:抽象
EmailSender,默认实现基于 Resend - 角色权限:内置
ADMIN与USER,管理员接口以/api/admin/**提供 - 文章与评论:支持分类、评论及多级回复
- 图片上传:
ImageUploader可接入不同云存储,示例中实现了腾讯云 COS - 灵活配置:数据库、邮件、存储及密码强度均可通过环境变量或
application.properties设置 - 简洁架构:业务、持久化与安全配置清晰分层,便于扩展
🚀 快速开始
环境要求
- Java 17+
- Maven 3+
- MySQL 数据库
运行
- 按需修改
src/main/resources/application.properties或设置以下环境变量:MYSQL_URL:数据库连接 URL,如jdbc:mysql://localhost:3306/openisleMYSQL_USER:数据库用户名MYSQL_PASSWORD:数据库密码RESEND_API_KEY:Resend 邮件服务 API KeyCOS_BASE_URL:腾讯云 COS 访问域名JWT_SECRET:JWT 签名密钥JWT_EXPIRATION:JWT 过期时间(毫秒)PASSWORD_STRENGTH:密码强度(LOW、MEDIUM、HIGH)
- 启动项目:
mvn spring-boot:run
启动后可访问主要接口:
POST /api/auth/register:注册新用户POST /api/auth/login:登录并获取 Token- 需要认证的接口示例:
GET /api/hello(需Authorization头) - 管理员接口示例:
GET /api/admin/hello
🏘️ 社区
欢迎通过 Issues 交流反馈。
📄 授权
本项目以 MIT License 发布,欢迎自由使用与修改。
🙏 鸣谢
- Spring Boot
- JJWT
- Lombok
- 以及所有开源贡献者
