一个基于邮箱认证的流浪猫公益网站,致力于帮助流浪猫找到温暖的家。
- 邮箱认证系统(注册/登录/登出)
- 响应式设计,适配移动端和桌面端
- 猫咪信息展示和上传功能
- 领养申请功能
- 管理员审核机制
- 用户间消息通信系统
- 多页面内容管理
- 动态内容编辑功能
- 猫脸识别系统:支持管理员录入猫咪档案、生成 CNN 哈希、调整识别参数,并允许普通用户通过摄像头或图片识别猫咪身份
- HTML5
- CSS3
- JavaScript (ES6+)
- Python HTTP服务器
- SQLite数据库
-
克隆项目:
git clone <repository-url> -
进入项目目录:
cd CATalist_webapplication_CTB_project_with_OPENHANDS -
安装 Python 依赖(需 Python 3.9+):
pip install -r requirements.txt -
(可选)下载猫脸识别模型权重文件并放置在
models/cat_face/cat_resnet18.pth。- 系统默认使用 ImageNet 预训练的 ResNet18 作为特征提取器。
- 如需更精确的猫脸识别,可下载社区训练好的模型(例如某些 GitHub 仓库提供的
cat_resnet18.pth)并通过管理员面板更新模型路径。
-
运行服务器:
python server.py -
在浏览器中访问: http://localhost:40276
- 用户可以通过邮箱注册账户
- 注册时需要验证邮箱格式和密码强度
- 用户登录后可以申请领养猫咪
- 管理员账户拥有特殊权限
- 展示待领养的猫咪信息
- 包括猫咪名称、年龄、性别、描述和图片
- 用户可以上传新的猫咪信息(需管理员审核)
- 管理员可以审核和管理所有猫咪信息
- 登录用户可以申请领养猫咪
- 管理员可以查看和处理领养申请
- 用户之间可以发送和接收消息
- 提供收件箱和发件箱功能
- 实时消息通知
- 管理员可以编辑网站各页面的文本内容
- 动态内容加载,无需修改代码即可更新页面
- 多页面结构(首页、关于、联系方式等)
- 管理员可通过“猫脸识别管理”面板创建猫咪档案,录入基础信息、特征描述、绝育/芯片状态等
- 支持上传多张参考图片,自动生成 CNN 哈希值,并可指定主展示图
- 识别参数(匹配阈值、返回结果数、哈希距离上限、模型权重路径等)可在后台实时调整
- 普通用户可在首页开启摄像头或上传图片识别猫咪,查看匹配度、档案详情和参考图像
- 识别请求会记录到数据库,便于后续追踪和调优
- 首页:项目介绍和主要功能入口
- 关于页面:项目使命和团队介绍
- 联系页面:联系方式和地址信息
- 猫咪列表:待领养猫咪展示
- 消息中心:用户通信系统
- 管理员面板:管理功能入口
- 内容管理:网站文本编辑
项目使用纯JavaScript实现前端功能,Python实现后端服务器和数据库操作。
.
├── index.html # 主页面
├── about.html # 关于我们页面
├── contact.html # 联系我们页面
├── admin.html # 管理员控制台
├── upload.html # 猫咪信息上传页面
├── messages.html # 用户消息页面
├── content-management.html # 内容管理页面
├── css/
│ └── style.css # 样式文件
├── js/
│ ├── auth.js # 认证系统
│ └── main.js # 主应用逻辑(包含猫脸识别前端代码)
├── backend/
│ ├── __init__.py
│ └── cat_recognition.py # 猫脸识别服务(PyTorch)
├── uploads/ # 用户上传的图片与识别查询
│ └── cat_references/ # 猫咪参考图像和自动生成的哈希
├── models/ # 可选的本地预训练模型(需要手动添加)
├── requirements.txt # Python 依赖
├── server.py # Python HTTP服务器和数据库操作
└── data/ # SQLite 数据文件目录