# ushop_app **Repository Path**: ting0008x/ushop_app ## Basic Information - **Project Name**: ushop_app - **Description**: 一个简单的进销存应用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-21 - **Last Updated**: 2026-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UShop 进销存管理系统 一个基于 Flutter 的小店进销存管理应用,支持 Android、iOS、Windows 和 macOS 平台。 ## ✨ 功能特性 ### 已实现功能 (阶段一) #### 商品管理 - ✅ 商品 CRUD (增删改查) - ✅ 多规格支持 - ✅ 包装单位转换 - ✅ 库存预警 - ✅ 商品搜索 #### 分类管理 🆕 - ✅ 树形分类展示 - ✅ 多级分类支持 - ✅ 分类增删改 - ✅ 商品数量统计 #### 扫码功能 🆕 - ✅ 商品条码扫描 - ✅ 包装条码扫描 - ✅ 扫码查询商品 - ✅ 手动输入备用 - ✅ 手电筒控制 ### 计划功能 #### 阶段二: 库存管理 - [ ] 库存查询 - [ ] 库存预警 - [ ] 库存变动日志 - [ ] 成本价计算 #### 阶段三: 销售管理 - [ ] 快速销售流程 - [ ] 购物车 - [ ] 支付方式 - [ ] 销售记录 #### 阶段四: 进货管理 - [ ] 快速入库 - [ ] 进货单流程 - [ ] 供应商管理 ## 🚀 快速开始 ### 环境要求 - Flutter 3.38.9+ - Dart 3.10.8+ - Android SDK (Android 开发) - Xcode (iOS 开发) ### 安装步骤 1. **安装依赖** ```bash flutter pub get ``` 2. **生成数据库代码** ```bash flutter pub run build_runner build --delete-conflicting-outputs ``` 3. **运行应用** ```bash # iOS flutter run -d ios # Android flutter run -d android # Windows flutter run -d windows # macOS flutter run -d macos ``` ## 📱 功能演示 ### 分类管理 1. 在商品列表点击右上角"分类"图标 2. 添加/编辑/删除分类 3. 支持多级分类树形展示 ### 扫码功能 1. **商品查询**: 在商品列表点击扫码图标,扫描条码查找商品 2. **条码录入**: 在商品编辑页面点击条码输入框的扫码按钮 ## 🏗️ 项目架构 ``` lib/ ├── core/ # 核心功能 │ ├── database/ # 数据库 (Drift ORM) │ ├── storage/ # 本地存储 (Hive) │ └── utils/ # 工具类 ├── features/ # 功能模块 │ └── product/ # 商品管理 │ ├── data/ # 数据层 (Repository) │ ├── domain/ # 业务层 (Service) │ └── presentation/ # 展示层 (UI + Provider) └── shared/ # 共享组件 └── widgets/ # 通用 UI 组件 ``` ### 技术栈 - **框架**: Flutter 3.x - **数据库**: SQLite + Drift ORM - **本地存储**: Hive - **状态管理**: Provider - **扫码**: mobile_scanner - **工具**: uuid, intl, crypto ## 📖 文档 - [阶段一完成总结](docs/phase1_completion_summary.md) - [实施计划](docs/implementation_plan.md) ## 🔧 常见问题 ### Gradle 构建失败 已更新 Gradle 配置: - Android Gradle Plugin: 8.7.3 - Kotlin: 2.1.0 如果仍有问题: ```bash flutter clean flutter pub get cd android && ./gradlew clean ``` ### 相机权限 首次使用扫码功能需要授予相机权限: - Android: 已配置在 AndroidManifest.xml - iOS: 已配置在 Info.plist - Windows/macOS: 默认降级为手动输入条码 ### 数据库初始化 确保已生成数据库代码: ```bash flutter pub run build_runner build --delete-conflicting-outputs ``` ## 📊 代码质量 ```bash # 静态分析 flutter analyze # 运行测试 flutter test ``` 当前状态: - ✅ 0 个错误 - ⚠️ 3 个警告 (可忽略) - ℹ️ 3 个提示 (deprecated API) ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 许可证 MIT License ## 📞 联系方式 如有问题,请查看项目文档或提交 Issue。