Files
2025-06-06 18:18:31 +08:00

46 lines
1.8 KiB
Markdown

# 条码扫描器 PWA (人机协作项目)
这是一个作者为了练习与 AI 协作,而使用 AI 编写的渐进式 Web 应用 (PWA)。
在本项目中,作者负责提出需求、进行决策和提供指导,而 AI 助手 **Cline** 则根据指令完成具体的编码和文档撰写工作。这个项目旨在探索一种高效的人机协作模式。
## 项目简介
本项目是一个功能完整的条码扫描应用,旨在提供快速、便捷的条码扫描和管理体验,无需安装原生应用。它包含两个核心功能模块:
1. **实时扫描**: 通过设备摄像头实时捕捉和解析条码。
2. **历史记录**: 保存、查看、管理和导出扫描过的条码。
## 功能特性
- **实时扫描**:
- 动态申请摄像头权限并渲染视频流。
- 支持从多个摄像头中选择。
- 使用 Quagga2 实时检测视频流中的条码。
- 在画面上高亮显示识别到的条码。
- 一键保存扫描结果到本地。
- **历史记录管理**:
- 使用 IndexedDB 在浏览器端持久化存储数据。
- 为每条记录添加自定义标签。
- 支持按标签筛选记录。
- 支持批量选择、删除和导出 (CSV 格式) 记录。
- **简洁的 UI**:
- 双标签页设计,通过底部导航栏轻松切换。
- 响应式布局,在桌面和移动设备上均有良好体验。
## 技术栈
- **框架**: React
- **构建工具**: Vite
- **样式**: TailwindCSS
- **路由**: `react-router-dom`
- **条码扫描**: `Quagga2`
- **客户端数据库**: `IndexedDB` (通过 `idb` 库简化操作)
- **包管理器**: pnpm
## 项目状态
**已完成**
所有在项目初期定义的核心功能和高级功能均已实现。应用目前处于稳定状态,没有已知问题。