基于微信小程序 + 云开发的校园失物招领平台,用于校园卡、身份证等证件的失物招领。
本项目 fork 自 拾领星球 (gitee.com/sbuds/lost-planet-opend),在原有基础上进行了大量优化和功能增强。
- 移除寻物启事:原版"失物招领 + 寻物启事"双模式简化为仅保留失物招领,降低复杂度
- 移除首页:tabBar 从"首页/大厅/用户"精简为"失物榜/用户"两个 tab
- 智能 OCR 识别:拍照自动识别证件上的姓名、学号、学院、年级(基于微信 OCR API)
- 隐私自动打码:上传证件照时自动对人脸区域贴图、学号区域马赛克(AI 人脸检测 + 固定坐标回退)
- 学号脱敏展示:列表中显示
230712****,完整学号仅在身份验证时比对 - 身份验证认领:失主需输入完整学号验证身份后才能看到联系方式和放置位置
- 认领计数:支持多人认领,卡片展示认领人数,仅唯一认领者可发送感谢
- 内容安全:所有用户输入接入微信
security.msgSecCheck违禁词检测 - 反馈下架:详情页可反馈问题,≥2 人反馈自动下架该卡片
- 搜索防抖:失物榜支持按姓名/学号搜索,300ms 防抖
- 状态筛选:支持"等待认领中 / 已认领 / 全部"三种筛选
- 自定义物品:支持"其他物品"类型和自定义放置位置
- 完整免责声明:涵盖平台性质、隐私、认领争议等技术边界的说明
- 登录流程全链路修复(双通道头像选择 + 压缩上传 + DB 同步)
- 分页逻辑修正、加载空白修复
- 清理未使用 lin-ui 组件和废弃页面
- 联系方式改为选填、iOS 风格微信/电话分段切换
- 帮助页面重写为 Q&A 格式
- 前端:微信小程序原生 + Lin UI 组件库
- 后端:微信云开发(CloudBase)
- 云数据库:
loseThing、user、switch、announcement、lunbotu - 云函数:
ocrRecognize、getopenid、checkContent、detectFace、submitReport - 云存储:证件照片、用户头像
- 云数据库:
- 环境 ID:
cloud1-3g0n1weo4eb27188
- 克隆项目,用微信开发者工具打开
- 修改
project.config.json中的appid为你自己的小程序 AppID - 在云开发控制台创建所需数据库集合(
loseThing、user、switch) - 部署云函数(
ocrRecognize、checkContent、submitReport等) - 若要使用 AI 人脸检测打码,在
detectFace云函数中配置腾讯云密钥
| 页面 | 路径 | 说明 |
|---|---|---|
| 失物榜 | pages/hall/hall |
默认首页,分类筛选 + 状态筛选 + 搜索 |
| 用户中心 | pages/user/user |
登录/注册、学校信息、我的发布、关于/免责/帮助 |
| 发布失物 | pages/release/release |
拍照 OCR → 核对信息 → 选择类型/位置 → 提交 |
| 失物详情 | pages/hall/loseContent/loseContent |
认领验证、联系方式查看、反馈、感谢 |
| 我的发布 | pages/thingList/thingList |
我发布的失物列表 |
| 搜索 | pages/hall/seach/seach |
按姓名/学号搜索 |
| 免责声明 | pages/share/share |
7 节结构化声明 |
| 帮助 | pages/help/help |
Q&A + 运营联系方式 |
- 发布:拍照 → OCR 识别 → 核对信息 → 选择类型和位置 → 提交(查重 + 隐私打码)
- 展示:失物榜按时间倒序,学号脱敏,支持搜索和筛选
- 认领:详情页 → 点击认领 → 输入完整学号验证 → 查看联系方式和取件位置
- 找回:确认已找回 → 更新状态 → 可选感谢发布者
- 原作:拾领星球 by sbuds
- UI 组件:林间有风 Lin UI