# http-web **Repository Path**: xiangdada/http-web ## Basic Information - **Project Name**: http-web - **Description**: 一个简单的http服务端,安装环境npm install,运行npm run dev - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-03 - **Last Updated**: 2026-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HTTP-Web 人脸识别与访客管理系统 一个基于 Express 和 Socket.IO 的实时人脸识别与访客管理Web服务系统,提供完整的记录管理、验证、注册等功能。 ## 功能特性 - **人脸记录管理**:实时记录和管理人脸识别数据 - **陌生人追踪**:记录和追踪未知人员的访问信息 - **访客管理**:完整的访客信息记录和查询功能 - **人脸识别**:支持人脸识别请求和响应管理 - **身份验证**:多人脸验证功能,支持模板管理 - **人脸注册**:新用户人脸信息注册 - **二维码管理**:访客二维码生成和管理 - **人脸录入**:批量人脸数据录入功能 - **实时通信**:基于 Socket.IO 的实时数据推送 - **控制台日志**:可视化的系统日志查看界面 ## 技术栈 - **后端框架**:Express.js - **实时通信**:Socket.IO - **前端界面**:HTML5 + CSS3 + JavaScript - **运行环境**:Node.js ## 快速开始 ### 环境要求 - Node.js >= 12.0 - npm 或 yarn ### 安装步骤 ```bash # 克隆项目 git clone https://gitee.com/xiangdada/http-web.git cd http-web # 安装依赖 npm install ``` ### 启动服务 ```bash # 开发模式启动 npm run dev # 或直接运行 node app.js ``` 服务默认运行在 `http://localhost:3000`,请确保端口 3000 未被占用。 ## 项目结构 ``` http-web/ ├── app.js # 主入口文件,包含所有业务逻辑 ├── package.json # 项目配置和依赖 ├── public/ │ ├── index.html # Web界面 │ ├── app-client.js # 客户端Socket.IO通信 │ └── style.css # 界面样式 └── README.md # 项目文档 ``` ## API 接口 系统提供以下 RESTful API 接口: ### 基础信息 | 方法 | 路径 | 描述 | |------|------|------| | GET | `/` | 访问Web管理界面 | | GET | `/api/server-info` | 获取服务器信息 | ### 记录管理接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | `/api/records/face` | 获取人脸记录 | | POST | `/api/records/face` | 添加人脸记录 | | DELETE | `/api/records/face/:id` | 删除单条人脸记录 | | DELETE | `/api/records/face` | 清空所有人脸记录 | | GET | `/api/records/stranger` | 获取陌生人记录 | | POST | `/api/records/stranger` | 添加陌生人记录 | | DELETE | `/api/records/stranger/:id` | 删除陌生人记录 | | GET | `/api/records/visit` | 获取访客记录 | | POST | `/api/records/visit` | 添加访客记录 | | DELETE | `/api/records/visit/:id` | 删除访客记录 | | GET | `/api/records/recognition` | 获取识别记录 | | POST | `/api/records/recognition` | 添加识别记录 | | DELETE | `/api/records/recognition/:id` | 删除识别记录 | | GET | `/api/records/verify` | 获取验证记录 | | POST | `/api/records/verify` | 添加验证记录 | | DELETE | `/api/records/verify/:id` | 删除验证记录 | | GET | `/api/records/enroll` | 获取注册记录 | | POST | `/api/records/enroll` | 添加注册记录 | | DELETE | `/api/records/enroll/:id` | 删除注册记录 | | GET | `/api/records/qrcode` | 获取二维码记录 | | POST | `/api/records/qrcode` | 添加二维码记录 | | DELETE | `/api/records/qrcode/:id` | 删除二维码记录 | | GET | `/api/records/addFace` | 获取人脸录入记录 | | POST | `/api/records/addFace` | 添加人脸录入记录 | | DELETE | `/api/records/addFace/:id` | 删除人脸录入记录 | ### 模板管理接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | `/api/templates` | 获取所有模板 | | POST | `/api/templates` | 保存模板 | | PUT | `/api/templates/:id` | 更新模板 | | DELETE | `/api/templates/:id` | 删除模板 | ## Socket.IO 事件 ### 客户端接收事件 | 事件名 | 描述 | |--------|------| | `faceRecord` | 新人脸记录 | | `strangerRecord` | 新陌生人记录 | | `visitRecord` | 新访客记录 | | `recognitionRecord` | 新识别记录 | | `verifyRecord` | 新验证记录 | | `enrollRecord` | 新注册记录 | | `qrcodeRecord` | 新二维码记录 | | `addFaceRecord` | 新人脸录入记录 | | `serverLog` | 服务器日志 | ### 客户端发送事件 | 事件名 | 描述 | |--------|------| | `subscribe` | 订阅特定类型的记录 | | `unsubscribe` | 取消订阅 | | `sendRecord` | 发送记录到服务器 | ## Web 界面说明 系统提供直观的 Web 管理界面,包含以下功能模块: ### 顶部信息栏 显示服务器 IP 地址和运行状态 ### 导航标签页 - **人脸记录**:查看和管理人脸识别记录 - **陌生人**:追踪未知人员访问记录 - **访客**:访客信息管理 - **识别**:人脸识别操作记录 - **验证**:身份验证记录和模板配置 - **注册**:新用户注册记录 - **二维码**:访客二维码管理 - **人脸录入**:人脸数据批量录入 - **控制台**:系统运行日志 ### 通用功能 - 记录列表实时刷新 - 支持记录详情查看 - 单条记录删除 - 批量清空记录 - 模板保存和加载 - JSON 数据展示 ## 配置说明 ### 服务器配置 在 `app.js` 中可以修改以下配置: ```javascript const PORT = process.env.PORT || 3000; // 服务端口 const SERVER_IP = getServerIP(); // 服务器IP(自动获取) ``` ### 记录数量限制 系统默认限制每类记录最大保存 1000 条,超出后将自动清理最旧的记录。可以在 `limitRecords` 函数中修改此值。 ## 常见问题 **Q: 服务无法启动?** A: 请检查端口 3000 是否被占用,并确保 Node.js 版本满足要求。 **Q: 记录没有实时更新?** A: 请检查浏览器是否允许 WebSocket 连接,刷新页面查看最新数据。 **Q: 如何修改记录保存数量?** A: 在 `app.js` 中修改 `limitRecords` 函数的 `maxSize` 参数。 ## 许可证 本项目采用 MIT 许可证开源。 ## 贡献指南 欢迎提交 Issue 和 Pull Request 来帮助改进项目。 ## 联系方式 项目地址:https://gitee.com/xiangdada/http-web