# CodeReactor **Repository Path**: imyzp/CodeReactor ## Basic Information - **Project Name**: CodeReactor - **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-04-06 - **Last Updated**: 2026-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CodeReactor - 代码反应堆新闻网站 一个基于 Spring Boot + Vue 3 的前后端分离新闻管理系统。 ## 📋 项目简介 CodeReactor 是一个现代化的新闻发布与管理平台,支持用户浏览新闻、管理员管理新闻内容。采用前后端分离架构,提供 RESTful API 接口和响应式前端界面。 ## ✨ 主要功能 ### 用户功能 - **用户注册**: 游客可以注册成为普通用户 - **新闻浏览**: 游客可以浏览所有公开的新闻列表 - **新闻详情**: 查看新闻的完整内容和详细信息 - **用户登录**: 注册用户可以通过账号密码登录系统 ### 管理员功能 - **新闻管理**: 管理员可以创建、编辑、删除新闻 - **后台管理**: 专属的管理员界面,方便进行内容管理 - **权限控制**: 基于 JWT 的身份认证和授权机制 ### 技术特性 - **JWT 认证**: 安全的用户身份验证机制 - **Markdown 支持**: 新闻内容支持 Markdown 格式 - **响应式设计**: 适配不同设备的屏幕尺寸 - **热更新**: 前端开发支持实时热模块替换 ## 🛠️ 技术栈 ### 后端 (Backend) - **框架**: Spring Boot 3.2.0 - **语言**: Java 17 - **数据库**: H2 (开发环境) / MySQL (生产环境) - **安全**: Spring Security + JWT - **ORM**: Spring Data JPA - **构建工具**: Maven 3.9.6 ### 前端 (Frontend) - **框架**: Vue 3.4.0 - **构建工具**: Vite 5.0.8 - **路由**: Vue Router 4.2.5 - **状态管理**: Pinia 2.1.7 - **HTTP 客户端**: Axios 1.6.2 - **Markdown 渲染**: marked + DOMPurify ## 📁 项目结构 ``` CodeReactor/ ├── backend/ # 后端 Spring Boot 项目 │ ├── src/main/java/com/codereactor/ │ │ ├── config/ # 配置类 (JWT, Security, 数据初始化) │ │ ├── controller/ # REST API 控制器 │ │ ├── entity/ # JPA 实体类 │ │ ├── repository/ # 数据访问层 │ │ ├── security/ # 安全认证相关 │ │ └── service/ # 业务逻辑层 │ ├── src/main/resources/ │ │ └── application.properties # 应用配置文件 │ ├── pom.xml # Maven 依赖配置 │ └── mvnw.ps1 # Maven Wrapper 脚本 │ ├── frontend/ # 前端 Vue 3 项目 │ ├── src/ │ │ ├── api/ # API 调用封装 │ │ ├── components/ # Vue 组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── views/ # 页面视图 │ │ ├── App.vue # 根组件 │ │ └── main.js # 入口文件 │ ├── package.json # npm 依赖配置 │ └── vite.config.js # Vite 配置文件 │ └── tools/ # 工具目录 └── apache-maven-3.9.6/ # Maven 3.9.6 ``` ## 🚀 启动方式 ### 前置要求 - **JDK 17** 或更高版本 - **Node.js 16+** 和 **npm** - **Maven 3.6+** (项目已内置 Maven 3.9.6) ### 1. 启动后端 #### 方式一: 使用 Maven Wrapper (推荐) ```powershell cd backend .\mvnw.ps1 spring-boot:run ``` #### 方式二: 使用系统 Maven ```powershell cd backend mvn spring-boot:run ``` #### 方式三: 打包后运行 ```powershell cd backend mvn clean package java -jar target/backend-1.0.0.jar ``` **后端服务地址**: http://localhost:8080 **H2 控制台**: http://localhost:8080/h2-console (开发环境) ### 2. 启动前端 ```powershell cd frontend npm install # 首次运行需要安装依赖 npm run dev # 启动开发服务器 ``` **前端访问地址**: http://localhost:5173 ### 3. 访问应用 1. 确保后端和前端都已成功启动 2. 在浏览器中打开 http://localhost:5173 3. 开始浏览新闻或使用管理员功能 ## ⚙️ 配置说明 ### 后端配置 主要配置文件: `backend/src/main/resources/application.properties` ```properties # 服务器端口 server.port=8080 # 数据库配置 (H2) spring.datasource.url=jdbc:h2:mem:codereactor spring.datasource.username=sa spring.datasource.password= # JPA 配置 spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true # JWT 配置 app.jwt.secret=YourSecretKey app.jwt.expiration=86400000 # H2 控制台 (仅开发环境) spring.h2.console.enabled=true ``` ### 前端配置 前端 API 配置在 `frontend/src/api/axios.js` 中,默认连接到 `http://localhost:8080`。 ## 👥 默认账户 系统初始化时会创建默认管理员账户 (具体账户信息请查看 `DataInitializer.java`): - **管理员账户**: - 用户名: admin - 密码: admin123 - 用途: 登录后台管理系统 - **普通用户**: - 可以通过注册页面自行注册 - 默认角色: USER - 可以浏览新闻和登录后查看详细内容 ## 🔐 安全说明 - 所有 API 接口都受到 Spring Security 保护 - 使用 JWT Token 进行身份验证 - 密码使用 BCrypt 加密存储 - 敏感操作需要管理员权限 ## 📝 API 接口 ### 认证接口 - `POST /api/auth/register` - 用户注册 - `POST /api/auth/login` - 用户登录 ### 新闻接口 - `GET /api/news` - 获取新闻列表 - `GET /api/news/{id}` - 获取新闻详情 - `POST /api/news` - 创建新闻 (需要管理员权限) - `PUT /api/news/{id}` - 更新新闻 (需要管理员权限) - `DELETE /api/news/{id}` - 删除新闻 (需要管理员权限) ## 🐛 常见问题 ### 1. 前端无法连接后端 - 检查后端是否正常运行在 8080 端口 - 检查 `frontend/src/api/axios.js` 中的 baseURL 配置 - 确认没有防火墙阻止连接 ### 2. 数据库连接失败 - 开发环境使用 H2 内存数据库,无需额外配置 - 如需切换到 MySQL,修改 `application.properties` 中的数据库配置 ### 3. npm 依赖安装失败 - 尝试清除缓存: `npm cache clean --force` - 使用国内镜像: `npm config set registry https://registry.npmmirror.com` ### 4. Maven 依赖下载慢 - 配置国内镜像源 (阿里云等) - 在项目中使用内置的 Maven 3.9.6 ## 📄 许可证 本项目仅供学习和研究使用。 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! --- **开发团队**: CodeReactor Team **最后更新**: 2026-04-05