# MyQrCode 项目文档

欢迎来到 MyQrCode 项目文档！这里包含了项目开发过程中的所有重要文档和说明。

## 📚 文档索引

### 🚀 核心功能文档

1. **[相机授权功能实现说明](CAMERA_PERMISSION_README.md)**
   - 完整的相机权限管理功能
   - 权限检查、请求、状态显示和用户引导
   - 多语言支持的权限界面

2. **[重构说明文档](REFACTOR_README.md)**
   - ScannerView 代码重构详细说明
   - 组件化拆分和模块化设计
   - 架构优化和代码组织

3. **[多语言支持实现说明](README_Multilingual.md)**
   - 中英文双语支持
   - 本地化字符串管理
   - 语言切换功能

4. **[日志系统实现说明](README_Logger.md)**
   - 自定义日志系统
   - 多级别日志管理
   - 调试和监控功能

5. **[扫描结果跳转详情页功能](SCANNER_TO_QRCODE_DETAIL_README.md)**
   - 扫描结果自动跳转到二维码详情页
   - 自动保存历史记录到 Core Data
   - 智能条码类型识别和解析

6. **[HistoryView 导航方式修改说明](HISTORY_VIEW_NAVIGATION_README.md)**
   - 历史记录页面导航方式统一
   - 从 sheet 改为 NavigationLink 的实现
   - 用户体验一致性的提升

7. **[HistoryView 删除功能 Bug 修复说明](HISTORY_DELETE_FUNCTION_FIX_README.md)**
   - 删除功能安全性提升
   - 添加删除确认机制
   - 解决删除操作与导航的冲突

8. **[HistoryView 过滤器性能优化和动画改进](HISTORY_FILTER_PERFORMANCE_FIX_README.md)**
   - 解决过滤器切换卡顿问题
   - 数据缓存机制优化
   - 添加流畅的动画效果和按压反馈

9. **[HistoryView 收藏功能 Bug 修复说明](HISTORY_FAVORITE_FUNCTION_FIX_README.md)**
   - 修复收藏状态不一致问题
   - 优化数据更新机制
   - 提升收藏操作性能

### 🔧 问题修复文档

1. **[触摸选择点响应问题修复说明](TOUCH_FIX_README.md)**
   - 触摸区域优化
   - 事件处理改进
   - 用户交互体验提升

2. **[重新扫描后无法扫描问题修复说明](SCANNING_ISSUE_FIX_README.md)**
   - 会话状态管理修复
   - 扫描重启逻辑优化
   - 错误处理机制

3. **[重新扫描按钮修复说明](RESCAN_BUTTON_FIX_README.md)**
   - 按钮位置重新设计
   - 功能失效问题修复
   - 用户体验优化

## 📱 项目概述

MyQrCode 是一个功能完整的二维码和条形码扫描应用，采用 SwiftUI 和 AVFoundation 技术栈开发。

### 🌟 主要特性

- **多格式支持**: 支持 QR 码、条形码等多种格式
- **多码识别**: 同时识别多个条码并允许用户选择
- **微信风格界面**: 暂停预览和用户选择功能
- **多样化扫描线**: 5种不同风格的扫描线动画
- **多语言支持**: 中英文双语界面
- **权限管理**: 完整的相机权限管理
- **日志系统**: 详细的调试和监控日志

### 🏗️ 技术架构

- **UI框架**: SwiftUI
- **相机功能**: AVFoundation
- **架构模式**: MVVM
- **状态管理**: Combine + @Published
- **本地化**: .lproj 文件
- **日志**: 自定义 Logger 系统

### 📦 项目结构

```
MyQrCode/
├── MyQrCode/                 # 应用主目录
│   ├── ScannerView.swift    # 主扫描视图（重构后）
│   ├── ContentView.swift    # 应用入口视图
│   ├── Logger.swift         # 日志系统
│   ├── MyQrCodeApp.swift    # 应用入口
│   ├── en.lproj/           # 英文本地化
│   ├── zh-Hans.lproj/      # 中文本地化
│   └── Assets.xcassets/    # 应用资源
├── docs/                    # 项目文档
└── README.md               # 项目主文档
```

## 🚦 开发历程

### 阶段 1: 基础功能实现
- 基本的二维码扫描功能
- SwiftUI 界面搭建
- AVFoundation 集成

### 阶段 2: 功能增强
- 多码识别和选择
- 微信风格的用户界面
- 扫描线动画效果

### 阶段 3: 用户体验优化
- 触摸交互优化
- 权限管理完善
- 多语言支持

### 阶段 4: 代码质量提升
- 代码重构和模块化
- 日志系统集成
- 问题修复和优化

## 🧪 测试指南

### 基本功能测试
1. 单个二维码扫描
2. 多个二维码识别和选择
3. 不同格式的条码扫描

### 权限测试
1. 首次安装权限请求
2. 权限拒绝后的处理
3. 权限恢复功能

### 用户体验测试
1. 触摸选择响应
2. 重新扫描功能
3. 语言切换功能

### 兼容性测试
1. 不同 iOS 版本
2. 不同设备尺寸
3. 横竖屏切换

## 🛠️ 开发工具和环境

- **开发环境**: Xcode 15+
- **最低iOS版本**: iOS 15.0
- **开发语言**: Swift 5.9+
- **UI框架**: SwiftUI
- **相机框架**: AVFoundation
- **依赖管理**: Swift Package Manager

## 📋 TODO 和未来计划

- [ ] 添加扫描历史记录
- [ ] 支持生成二维码功能
- [ ] 添加更多扫描线样式
- [ ] 优化相机性能
- [ ] 添加扫描音效
- [ ] 支持批量扫描

## 🤝 贡献指南

1. 代码规范遵循 Swift 官方指南
2. 新功能需要添加相应的文档
3. 重要变更需要更新测试用例
4. 提交前需要通过所有测试

## 📞 联系信息

如果您在使用过程中遇到问题，请通过以下方式联系：

- 项目仓库: [GitHub Issues]
- 开发者邮箱: [开发者邮箱]

---

最后更新: 2025年8月20日