You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
hnu202326010312 9190791a01
最终版
3 months ago
doc 完善README文件 3 months ago
src/cf 修复部分bug 3 months ago
.gitignore refactor: fix UI layout issues in SearchResults and AI Assistant zoom behavior 3 months ago
README.md Update README.md 3 months ago

README.md



校园论坛智能管理系统

面向校园场景的论坛与内容治理系统,提供发帖/评论/互动、站内私信与通知、搜索与排行榜,以及管理员侧内容审核与申诉处理;同时集成 AI 能力用于智能对话与辅助审核(可按需启用)。

目录

功能特性

  • 用户端
    • 注册/登录、个人主页、关注/粉丝
    • 发帖/编辑/草稿、评论、点赞/收藏
    • 搜索(含热搜/历史)、排行榜、浏览历史
    • 站内私信、通知中心(含未读数)
    • AI 智能助手(会话/上下文对话)
  • 管理端
    • 内容审核(文本/图片、敏感词、AI 辅助)
    • 审核日志
    • 申诉处理

技术栈

  • 后端
    • Spring Boot 2.7.x、Spring Web
    • Spring Data JPA
    • Redis缓存/计数/验证码等)
    • WebSocket实时消息/通知推送)
    • springdoc-openapi-uiSwagger/OpenAPI
    • MySQL默认H2可切换
    • 可选Elasticsearch / Lucene
    • 可选对象存储OBS、邮件服务、第三方内容审核/大模型
  • 前端
    • Vue 3 + Vite
    • Vue Router
    • Element Plus
    • TailwindCSS
    • Axios

项目结构

  • src/cf/backend后端工程Maven / Spring Boot
  • src/cf/frontend前端工程Vite / Vue 3
  • doc:过程文档/周报

快速开始

环境要求

  • JDK 8
  • Maven 3.6+
  • Node.js 16+(或更高)
  • MySQL 8.x或使用 H2
  • Redis推荐无 Redis 时部分能力会降级或不可用)

启动后端

在项目根目录执行:

cd src\cf\backend
mvn spring-boot:run
  • 默认端口:8081
  • 首次启动会自动创建管理员账号(若不存在):admin / admin123

启动前端

在项目根目录执行:

cd src\cf\frontend
npm install
npm run dev

前端开发服务器默认会将 /api 代理到 http://localhost:8081(见 src/cf/frontend/vite.config.js)。

配置与安全

后端配置文件:

  • src/cf/backend/src/main/resources/application.properties

重要提示:仓库中的示例配置可能包含开发阶段的连接信息与密钥。请在本地运行前完成以下处理:

  • 替换为你自己的数据库/Redis/ES/邮件/对象存储等配置
  • 将第三方 API Key、邮箱口令等敏感信息改为本地私有配置或环境变量注入
  • 不要把真实密钥提交到仓库或复制到公开位置

常用配置点(以实际文件为准):

  • server.port:后端端口
  • spring.datasource.*:数据库连接
  • spring.redis.*Redis 连接
  • es.enabledes.*Elasticsearch 开关与连接
  • python.ai.* / baidu.* / deepseek.*AI/审核相关外部服务配置
  • spring.mail.*:邮件服务(注册/找回密码验证码等)

接口文档

项目集成了 Swagger/OpenAPIspringdoc-openapi-ui后端启动后可访问

  • http://localhost:8081/swagger-ui.html
  • http://localhost:8081/swagger-ui/index.html
  • http://localhost:8081/v3/api-docs

WebSocket 实时推送

后端 WebSocket 端点:/ws

握手需要携带 userId 参数,例如:

  • ws://localhost:8081/ws?userId=1

用于消息/通知等实时推送;前端可根据服务端发送的 type 字段区分事件(具体字段以实现为准)。

常见问题

  • 启动失败/连不上数据库:检查 spring.datasource.url/username/password 是否指向本地可用数据库。
  • Redis 未启动:验证码、热搜、未读数、缓存等能力可能异常;建议本地启动 Redis。
  • 前端请求 404 或跨域:确认前端通过 Vite 代理访问 /api,且后端端口为 8081
  • Swagger 页面打不开:确认后端已启动并监听 8081,再访问上面的文档地址。

贡献指南

欢迎提交 Issue / PR

  • 提交前确保能本地启动前后端并完成基本功能自测
  • 保持代码风格一致(后端含 Checkstyle 配置)