# 开发者论坛模块说明 ## 文件结构 ### 前端文件 - `src/views/forum/index.vue` - 论坛首页组件 - `src/api/forum/post.js` - 帖子相关API - `src/api/forum/reply.js` - 回复相关API ### 后端文件 - `ForumPostController.java` - 帖子控制器 - `IForumPostService.java` - 帖子服务接口 - `ForumPostServiceImpl.java` - 帖子服务实现 - `ForumPostMapper.java` - 帖子Mapper接口 - `ForumPostMapper.xml` - MyBatis映射文件 - `ForumPost.java` - 帖子实体类 ### 数据库文件 - `database/forum_tables.sql` - 数据库表结构SQL ## 安装步骤 ### 1. 数据库安装 执行 `database/forum_tables.sql` 文件创建数据库表: ```sql -- 执行SQL文件 source database/forum_tables.sql; ``` ### 2. 后端代码集成 1. 将后端Java文件复制到对应的包路径: - Controller: `com.ruoyi.jysystem.controller` - Service: `com.ruoyi.jysystem.service` - Mapper: `com.ruoyi.jysystem.mapper` - Domain: `com.ruoyi.jysystem.domain` 2. 将 `ForumPostMapper.xml` 复制到 `resources/mapper/jysystem/` 目录 3. 确保MyBatis扫描到Mapper接口 ### 3. 前端代码集成 前端文件已自动集成到项目中,路由已配置。 ## API接口说明 ### 帖子相关接口 #### 查询帖子列表 ``` GET /forum/post/list 参数: - pageNum: 页码 - pageSize: 每页数量 - categoryId: 分类ID(可选) - sort: 排序方式(latest/hot/replies/views) - keyword: 搜索关键词(可选) ``` #### 查询帖子详情 ``` GET /forum/post/{id} ``` #### 新增帖子 ``` POST /forum/post Body: { categoryId: 分类ID, title: 标题, content: 内容, excerpt: 摘要(可选) } ``` #### 修改帖子 ``` PUT /forum/post Body: { id: 帖子ID, title: 标题, content: 内容, ... } ``` #### 删除帖子 ``` DELETE /forum/post/{ids} ``` #### 增加浏览量 ``` PUT /forum/post/view/{id} ``` #### 点赞/取消点赞 ``` PUT /forum/post/like/{id} 返回: { isLiked: true/false } ``` #### 收藏/取消收藏 ``` PUT /forum/post/favorite/{id} 返回: { isFavorited: true/false } ``` #### 标记为已解决 ``` PUT /forum/post/solved/{id} ``` ## 数据库表说明 ### forum_category - 论坛分类表 - id: 分类ID(主键) - name: 分类名称 - description: 分类描述 - sort_order: 排序顺序 - status: 状态(0正常 1停用) - post_count: 帖子数量 ### forum_post - 论坛帖子表 - id: 帖子ID(主键) - category_id: 分类ID - title: 标题 - content: 内容 - excerpt: 摘要 - author_id: 作者ID - author_name: 作者名称 - author_avatar: 作者头像 - view_count: 浏览量 - reply_count: 回复数 - like_count: 点赞数 - favorite_count: 收藏数 - is_top: 是否置顶(0否 1是) - is_hot: 是否热门(0否 1是) - is_solved: 是否已解决(0否 1是) - status: 状态(0正常 1删除 2审核中) - last_reply_time: 最后回复时间 ### forum_reply - 论坛回复表 - id: 回复ID(主键) - post_id: 帖子ID - parent_id: 父回复ID(0表示直接回复帖子) - content: 回复内容 - author_id: 作者ID - author_name: 作者名称 - like_count: 点赞数 - status: 状态(0正常 1删除 2审核中) ### forum_post_like - 帖子点赞表 - id: ID(主键) - post_id: 帖子ID - user_id: 用户ID - create_time: 创建时间 ### forum_post_favorite - 帖子收藏表 - id: ID(主键) - post_id: 帖子ID - user_id: 用户ID - create_time: 创建时间 ### forum_reply_like - 回复点赞表 - id: ID(主键) - reply_id: 回复ID - user_id: 用户ID - create_time: 创建时间 ## 功能特性 1. **帖子管理** - 发布、编辑、删除帖子 - 分类管理 - 置顶、热门标记 - 已解决标记 2. **互动功能** - 点赞/取消点赞 - 收藏/取消收藏 - 回复功能(支持嵌套回复) - 浏览量统计 3. **搜索和排序** - 关键词搜索 - 按最新、热门、回复数、浏览量排序 - 分类筛选 4. **用户体验** - 响应式设计 - 实时更新 - 友好的时间显示 ## 注意事项 1. 确保用户认证系统正常工作 2. 根据实际需求调整权限控制 3. 建议添加内容审核功能 4. 可以考虑添加图片上传功能 5. 建议添加敏感词过滤 ## 后续扩展建议 1. 添加帖子详情页面 2. 添加回复功能页面 3. 添加用户个人中心(我的帖子、我的回复) 4. 添加管理员后台管理功能 5. 添加消息通知功能 6. 添加标签系统 7. 添加附件上传功能