You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
4.3 KiB
163 lines
4.3 KiB
# MyQrCode 项目文档
|
|
|
|
欢迎来到 MyQrCode 项目文档!这里包含了项目开发过程中的所有重要文档和说明。
|
|
|
|
## 📚 文档索引
|
|
|
|
### 🚀 核心功能文档
|
|
|
|
1. **[相机授权功能实现说明](CAMERA_PERMISSION_README.md)**
|
|
- 完整的相机权限管理功能
|
|
- 权限检查、请求、状态显示和用户引导
|
|
- 多语言支持的权限界面
|
|
|
|
2. **[重构说明文档](REFACTOR_README.md)**
|
|
- ScannerView 代码重构详细说明
|
|
- 组件化拆分和模块化设计
|
|
- 架构优化和代码组织
|
|
|
|
3. **[多语言支持实现说明](README_Multilingual.md)**
|
|
- 中英文双语支持
|
|
- 本地化字符串管理
|
|
- 语言切换功能
|
|
|
|
4. **[日志系统实现说明](README_Logger.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日 |