校园失物招领平台

很多校园失物招领场景,常见的问题并不是"没人捡到",而是"信息分散、沟通低效、核验困难"。

今天分享的这套系统,就是围绕这些实际问题设计的一套完整解决方案。

它不是一个简单的"发帖子系统",而是一套面向校园场景的 失物招领与寻物启事平台,支持:

  • 学号 / 手机号注册登录

  • 用户发布寻物启事、失物招领

  • 管理员内容审核

  • 智能匹配提醒

  • 私密认领申请

  • 临时沟通会话

  • 上传认领凭证

  • 数据大屏统计分析

  • 后端 RBAC 权限控制

与普通"帖子列表"不同,这套系统重点做了三件事:

  1. 结构化地点选择不依赖第三方地图,采用校园点位表 + 级联选择器,支持地点坐标匹配。

  2. 智能匹配机制新发布内容审核通过后,会自动检索近 7 天的对立类型数据进行匹配,并推送站内提醒。

  3. 认领闭环流程不是留言完就结束,而是支持认领申请、私密核验、临时沟通、上传凭证、确认归档。

如果你正在做毕业设计、课程设计、Java 全栈项目、校园类信息平台,或者想找一个业务完整、流程闭环清晰的项目,这套系统会比较合适。

一、系统演示

登录页

系统支持账号密码登录与手机号验证码登录,同时提供学号注册、手机号注册两种方式。学号注册时,系统会根据学号中的学院编码自动识别所属学院。

用户发布信息页

用户发布信息时,可选择寻物启事或失物招领,支持结构化地点选择、最多 3 张图片上传,以及图片识别特征自动提取。

认领中心

认领中心集中展示可公开查看的寻物启事和失物招领信息。用户可在详情页私密提交认领申请,申请内容仅发布者与申请者本人可见。

我的发布

"我的发布"页面可查看自己发布内容的完整状态流转,包括待审核、匹配中、待认领、已认领、已找回、已驳回等节点信息。

消息中心

系统内置消息中心,用于接收匹配提醒、审核结果、留言回复等站内消息,避免用户错过关键状态变化。

管理员审核后台

管理员可对用户发布内容进行审核,支持详情查看、审核通过、驳回原因填写,以及用户信息管理。

数据大屏

后台数据大屏支持按时间、学院、物品类型进行筛选,用于展示平台运行情况和失物招领数据分布。

二、系统功能需求

这套系统目前具备的核心功能包括以下几个模块。

1. 用户认证与个人中心

  • 支持账号密码登录

  • 支持手机号验证码登录

  • 支持学号注册、手机号注册

  • 学号注册按规则自动识别学院

  • 支持头像上传、昵称修改、个人资料维护

  • 支持修改密码与二次确认

2. 失物招领 / 寻物启事发布

  • 支持发布两类信息:

    • 寻物启事

    • 失物招领

  • 支持结构化地点选择

  • 支持最多 3 张图片上传

  • 支持图片识别特征自动提取

  • 发布后默认进入待审核状态

3. 智能匹配

  • 新发布内容审核通过后自动触发匹配

  • 检索近 7 天的对立类型数据

    • 招领 -> 寻物

    • 寻物 -> 招领

  • 匹配维度:

    • 物品类型:30 分

    • 关键词匹配:40 分

    • 时间相近(±24h):15 分

    • 地点相近(±500m):15 分

  • 匹配度大于等于 80 分时自动推送站内信提醒双方

4. 私密认领机制

  • 认领申请内容仅发布者和申请者本人可见

  • 不同申请者之间互不可见

  • 支持发布者审核认领申请

  • 支持一键联系

  • 支持上传认领凭证

  • 支持确认认领并归档

5. 消息与社交

  • 匹配提醒消息

  • 留言回复通知

  • 审核结果通知

  • 好友系统

  • 收藏功能

  • 分享给好友

6. 管理后台

  • 用户管理

  • 角色管理

  • 审核管理

  • 公告管理

  • 学院管理

  • 物品类型管理

  • 留言回复

  • 数据大屏

7. 权限与安全

  • RBAC 权限控制

  • 动态菜单加载

  • 自定义权限指令控制按钮显示

  • 高风险操作二次确认

  • 登录超时处理

  • 闲置自动登出

  • 多标签页会话同步

三、系统技术栈

前端技术栈

  • 框架:Vue 3 + TypeScript

  • UI组件库:Element Plus + 自定义业务组件

  • 数据可视化:ECharts(用于后台数据大屏展示)

  • 状态管理:Pinia

  • 网络请求:Axios(封装统一拦截器)

  • 构建工具:Vite

后端技术栈

  • 核心框架:Spring Boot 2.7.x (Java)

  • ORM框架:MyBatis-Plus

  • 安全认证:Spring Security + JWT (JSON Web Token)

  • 权限控制:RBAC 动态权限模型

  • 工具类库:Hutool + Lombok

  • AI能力集成:百度AI开放平台接口(图像识别与特征提取)

数据存储与环境

  • 数据库:MySQL 8.0+

  • 运行环境:JDK 1.8 / 17

  • 开发工具:IntelliJ IDEA + VS Code

四、系统部署

1. 环境要求

建议环境如下:

  • JDK 8 或以上

  • Maven 3.8+

  • Node.js 20+

  • MySQL 8.0+

2. 数据库初始化

项目中已提供 SQL 文件,先执行建库建表,再执行初始化数据:

  • backend/src/main/resources/sql/01_smart_find_schema.sql

  • backend/src/main/resources/sql/02_smart_find_data.sql

如果是已有库升级,不建议整份重复执行数据 SQL,而应按需要执行对应更新语句。

3. 启动后端

修改后端配置文件:

  • backend/src/main/resources/application.yml

重点配置:

  • MySQL 地址

  • 数据库用户名密码

  • 文件上传目录

  • 百度图像识别接口配置

启动 SmartFindApplication

4. 启动前端

复制代码
cd frontend
npm install
npm run dev

默认访问地址:

  • 前端:http://localhost:5173

  • 后端:http://localhost:8080/api

5. 百度图像识别配置

如果要使用"图片识别特征自动提取",需要在后端配置:

复制代码
app:
  baidu:
    image-recognition:
      enabled: true
      api-key: 你的API Key
      secret-key: 你的Secret Key
      token-url: https://aip.baidubce.com/oauth/2.0/token
      advanced-general-url: https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general

五、写在最后

如果你还想看更多 Java、Spring Boot、Vue、毕业设计、管理系统实战项目,欢迎持续关注,后

续会继续更新。

相关推荐
武子康7 分钟前
Java-07 深入浅出 MyBatis数据库一对多关系模型实战:表结构设计与查询实现
java·后端
REDcker2 小时前
Linux OverlayFS详解
java·linux·运维
Royzst2 小时前
xml知识点
java·服务器·前端
鱼鳞_3 小时前
苍穹外卖-Day08(缓存套餐)
java·redis·缓存
过期动态3 小时前
【LeetCode 热题 100】移动零
java·数据结构·算法·leetcode·职场和发展·rabbitmq
苏渡苇4 小时前
服务容错的必要性与Spring Cloud Alibaba Sentinel 限流配置实战
spring boot·spring cloud·sentinel
bug菌4 小时前
【SpringBoot 3.x 第254节】夯爆了,数据库访问性能优化实战详解!
数据库·spring boot·后端
sinat_255487814 小时前
IDEA:查找文件/类
java·ide·设计模式·intellij-idea
不肯过江东丶4 小时前
大聪明教你学Java | Spring AI Lab:一个让你 3 分钟接入 AI 对话能力的 Spring Boot 工具箱
spring boot·后端
AI人工智能+电脑小能手5 小时前
【大白话说Java面试题 第77题】【Mysql篇】第7题:回表查询与全表扫描的区别?
java·开发语言·数据库·mysql·面试