# 安易访 **Repository Path**: p_moon/an-easy-visit ## Basic Information - **Project Name**: 安易访 - **Description**: 不得已重构需求,暂时放弃被访者核验机制,先实现来访信息记录功能。 采用非对称加密算法,使用二维码传递来访信息。 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-11 - **Last Updated**: 2025-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 新易访访客管理系统 ![GitHub license](https://img.shields.io/github/license/yourusername/an-easy-visit) ![GitHub stars](https://img.shields.io/github/stars/yourusername/an-easy-visit?style=social) ## 项目简介 新易访访客管理系统是一套基于零信任架构的现代化访客管理解决方案,实现互联网与内网物理隔离,通过加密二维码进行单向通信。系统采用前后端分离架构,确保访客信息安全可控,同时提供便捷的访客登记与核验流程。 ## 核心功能 - **访客自助登记**:支持微信/钉钉/手机号多种认证方式 - **加密二维码生成**:采用RSA-OAEP加密算法,确保信息传输安全 - **多门核验支持**:支持多入口核验点配置与管理 - **批量预约功能**:支持企业客户批量导入访客信息 - **离线核验模式**:AES-GCM加密缓存24小时核验数据,应对网络中断 - **审计日志**:完整记录所有操作,满足合规要求 - **统计分析**:提供访客数据可视化分析报表 ## 技术架构 ### 前端技术栈 - Vite 5.0+ - 快速的前端构建工具 - Vue 3.4.21+ - 渐进式JavaScript框架 - Element Plus - 企业级UI组件库 - TypeScript - 类型安全的JavaScript超集 - Axios - HTTP客户端 ### 后端技术栈 - Python 3.9+ - 编程语言 - Flask 3.0.3+ - Web应用框架 - SQLite 3.40+ - 轻量级数据库 - PyCryptodome - 加密算法库 - JWT - 用户认证 - Twilio API - 短信服务集成 ## 系统架构图 ![系统架构图](https://example.com/architecture.png) ## 安装指南 ### 环境要求 - Node.js 18.x+ 和 npm 9.x+ - Python 3.9+ - Git ### 前端安装 ```bash # 克隆仓库 git clone https://github.com/yourusername/an-easy-visit.git cd an-easy-visit/frontend # 安装依赖 npm install # 开发环境运行 npm run dev # 生产环境构建 npm run build ``` ### 后端安装 ```bash # 进入后端目录 cd an-easy-visit/backend # 创建虚拟环境 python -m venv venv # Windows激活虚拟环境 venv\Scripts\activate # macOS/Linux激活虚拟环境 source venv/bin/activate # 安装依赖 pip install -r requirements.txt # 初始化数据库 flask db init flask db migrate -m "initial migration" flask db upgrade # 运行开发服务器 flask run --port=5000 ``` ## 使用说明 ### 访客端使用流程 1. 访问系统访客页面 2. 选择认证方式(微信/钉钉/手机号) 3. 填写访客信息并提交 4. 接收并保存加密二维码 5. 在核验点出示二维码完成核验 ### 管理员端使用流程 1. 使用管理员账号登录系统 2. 配置系统参数(核验点、密钥策略等) 3. 查看访客记录与统计报表 4. 管理密钥与权限 ## 项目结构 ``` an-easy-visit/ ├── frontend/ # 前端项目 │ ├── public/ # 静态资源 │ └── src/ # 源代码 │ ├── components/ # 组件 │ ├── views/ # 页面 │ ├── router/ # 路由 │ └── store/ # 状态管理 ├── backend/ # 后端项目 │ ├── app/ # 应用代码 │ ├── config/ # 配置文件 │ └── migrations/ # 数据库迁移 └── docs/ # 文档 ``` ## 安全设计 - **传输层**:TLS 1.3加密通信 - **应用层**:CSRF防护、XSS过滤 - **数据层**:RSA-OAEP加密存储敏感信息 - **密钥管理**:AES-256加密存储私钥,90天自动轮换 - **二维码安全**:单次有效,48小时有效期 ## 贡献指南 1. Fork 本仓库 2. 新建特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 打开Pull Request ### 代码规范 - 前端遵循 [TypeScript 全栈工程化规范](docs/语言规范/TypeScript 全栈工程化规范 (2025).md) - 后端遵循 [Flask 现代化开发规范](docs/语言规范/Flask 现代化开发规范 (2025).md) ## 许可证 本项目采用MIT许可证 - 详见 [LICENSE](LICENSE) 文件 ## 联系方式 - 项目维护者:yourname@example.com - 问题反馈:[GitHub Issues](https://github.com/yourusername/an-easy-visit/issues) ## 致谢 - Vue.js团队 - Flask团队 - Element Plus团队