# CampusforumApi
**Repository Path**: small-code-library/campusforum-api
## Basic Information
- **Project Name**: CampusforumApi
- **Description**: CampusforumApi是一个专为校园论坛设计的管理端API集合,基于SpringBoot框架和Layui框架搭建而成。提供用户管理、院系管理、活动管理、文章管理、活动/文章审核、数据监控等功能,由于笔者能力有限,仅开发出管理端,若大家有需要可以在此基础上进行拓展。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-04-14
- **Last Updated**: 2025-12-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 校园论坛开发说明书
**项目说明**:本项目基于Spring Boot + Layui前端框架,使用前后端分离技术实现一个毕设项目 以本校为研究对象的校园论坛管理系统。因笔者能力有限,目前仅开发出校园论坛管理端,且仍需完善,本文档提供数据库设计关系模式,其中只使用了一部分表作为管理端的数据库表格,如有需要可自行拓展(其中加粗字体为本管理系统使用到的数据库表,未加粗仅最初设计但未真正使用)。
## 运行环境搭建
* JDK版本 17.0.7
* java版本 java 17
* SpringBoot版本 3.4.3
* Maven版本 3.9.3
* LayUI版本2.5.6
### 项目目录介绍
###### java/com.example.campusforumapi/
* controller:控制器,用于接收用户请求的文件
* dao:数据接口访问层,存放数据访问对象接口
* entity:用来定义用数据库中的实体类
* util:存放工具类
* AliOSSProperties 和 AliOSSUtils 两个类用于处理图像或文档
* JwtUtil用于获取token
* MD5Util用于密码加密
* PageResult用于分页封装
* Result用于返回统一json格式响应结果
* interceptor:springboot拦截器(和config文件中Webconfig用于接口请求前的拦截,检查请求头所携带token是否存在或有效)
* service:业务逻辑相关接口及Impl(实现类)
* config:配置文件夹
###### resources/
* mapper:存放Mapper接口和xml文件映射数据库
* public:存放网页图标
* static:存放前端代码文件夹
### 数据库表设计
##### 关系模式
**用户(用户ID,用户名,密码,头像,性别,注册时间,最后更新时间,邮箱,手机号,出生日期,院系ID(外键),isdel)**
**角色(角色ID,角色名称,是否启用,角色描述,父角色ID,创建时间,最后更新时间)**
权限(权限ID,权限名称,权限编码,资源类型,操作类型,权限描述,范围限制,是否启用,创建时间)
**院系(院系ID,院系名称,联系电话,院系简介,创建时间,更新时间,学院邮箱,isdel)**
**文章(文章ID,标题,内容,收藏量,点赞量,浏览量,字数,附件,视频,发布状态,用户ID,分类ID,院系ID,发布时间,审核提交时间,审核结果反馈)**
**活动(活动ID,标题,描述,发布时间,是否全局,更新时间,开始时间,结束时间,审核提交时间,收藏量,点赞量,浏览量,活动状态,附件,视频,活动标签ID,院系ID,用户ID,审核结果反馈)**
日志(日志ID,日志时间,IP地址,操作类型,操作用户ID,目标类型,目标ID,操作详情,操作状态,日志类型ID)
消息(消息ID,发送者ID,接受者ID,接收者类型,标题,内容,目标类型,目标id,状态,优先级,创建时间,类型ID)
**文章分类(分类ID,名称,描述,最后更新时间,创建时间)**
**活动标签(标签ID,名称,热度值,描述,创建时间,更新时间)**
日志类型(日志类型ID,类型名称,类型描述,安全级别,保留策略,是否启用,创建时间,最后更新时间)
消息类型(类型ID,类型名称,类型描述,是否启用,默认模版,模版变量,允许发送角色,创建时间,最后更新时间)
**评论(评论ID,内容,点赞量,用户ID,评论类型,关联目标ID(活动id/文章id),父评论ID,创建时间,更新时间,isdel)**
点赞表(点踩ID,用户ID,操作类型,关联目标ID(活动id/文章id/评论)创建时间 更新时间 状态(0 取消1点赞-1点踩))
用户私信(私信ID,内容,状态,类型,创建时间,更新时间,附件,视频,发送者ID,接收者ID)
**用户角色关联表(用户ID,角色ID,生效时间,失效时间)**
角色权限关联表(角色ID,权限ID,生效时间,失效时间,优先级)
好友管理表(发送者ID,接受者ID,申请时间,处理时间,状态,备注)
审核表(审核ID,目标类型,目标ID,提交者ID,审核人ID,审核结果,审核意见,审核时间,提交时间,优先级)
**活动参与(用户ID,活动ID,状态,报名时间,签到时间,评价内容,**评分)
##### 角色分类(此处分类为最初设想,目前仅实现超级管理员端基本功能)
* 普通用户(未实现)
* 超级管理员
##### 权限管理
* 超级管理员权限:
* 用户管理
* 查询用户
* 添加用户
* 删除用户
* 修改用户
* 设置用户角色
* 院系管理
* 院系查询
* 增加院系
* 删除院系
* 修改院系
* 文章管理
* 增加文章
* 删除文章
* 修改文章
* 查询文章
* 活动管理
* 增加活动
* 删除活动
* 修改活动
* 查询活动
* 消息管理(审核,每日一句)
* 反馈审核结果
* 增加消息(每日一句)
* 删除消息
* 修改消息
* 查询审核消息
* 活动审核消息
* 文章审核消息
* 日志管理(权限,操作,审核,安全)
* 增加日志
* 删除日志
* 修改日志
* 查询日志
* 评论管理(活动,文章)
* 增加评论
* 删除评论
* 修改评论
* 查询评论
* 角色与权限管理
* 增加角色/权限
* 删除角色/权限
* 修改角色/权限
* 查询角色/权限
* 数据监控与分析
* 活动热度统计
* 文章热度统计
* 访问量统计
* 新用户统计
* 普通用户权限:
* 个人信息管理
* 用户信息列表
* 修改个人信息
* 文章管理
* 审核发布文章
* 修改文章
* 删除文章
* 搜索文章
* 发布评论
* 点赞评论
* 点赞文章
* 收藏文章
* 活动管理
* 发布活动
* 修改活动信息
* 查询活动信息
* 申请活动
* 点赞活动
* 收藏活动
* 发布评论
* 点赞评论
* 活动评分
* 私信管理
* 发送私信
* 撤回私信
* 发送附件
* 发送表情
* 删除私信
* 通知管理(消息管理)
* 活动申请人审核
* 好友申请审核
* 管理员审核结果查看
* 通知消息删除
* 好友管理
* 申请好友
* 删除好友
* 修改好友备注
* 查看好友列表
* 数据监控与分析
* 活动热度数据
* 文章热度数据
### 系统界面图片
1. 登录界面
2. 首页
3. 审核界面
