# online_bookstore **Repository Path**: createmaker/online_bookstore ## Basic Information - **Project Name**: online_bookstore - **Description**: flutter demo by cursor with zq - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-06 - **Last Updated**: 2025-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Online Bookstore - Flutter Demo App 一个展示Flutter各种优势特性的在线书店应用程序。这个项目演示了Flutter在跨平台开发、UI设计、状态管理、网络请求等方面的强大能力。 ## 🚀 项目特性 ### 核心功能 - **用户认证**: 登录、注册、个人资料管理 - **书籍浏览**: 分类浏览、搜索、排序、分页 - **购物车**: 添加商品、数量管理、价格计算 - **订单管理**: 订单历史、状态跟踪 - **响应式设计**: 适配不同屏幕尺寸 ### Flutter 优势展示 #### 1. 跨平台开发 - 一套代码同时支持 iOS 和 Android - 统一的 UI 和业务逻辑 - 原生性能体验 #### 2. 丰富的 UI 组件 - Material Design 3 设计系统 - 自定义组件和主题 - 流畅的动画和过渡效果 - 响应式布局 #### 3. 强大的状态管理 - Riverpod 状态管理 - 响应式数据流 - 依赖注入 - 状态持久化 #### 4. 网络和数据处理 - HTTP 请求处理 - JSON 序列化/反序列化 - 错误处理和重试机制 - 模拟数据服务 #### 5. 本地存储 - SharedPreferences 轻量级存储 - 数据持久化 - 用户偏好设置 #### 6. 动画和交互 - Flutter Animate 动画库 - 自定义动画效果 - 流畅的用户交互 - 加载状态和骨架屏 #### 7. 主题和国际化 - 明暗主题切换 - 自定义主题配置 - 多语言支持准备 ## 📱 应用截图 ### 主要界面 - 启动屏幕:品牌展示和加载动画 - 登录/注册:表单验证和用户体验 - 书籍列表:网格布局、搜索、筛选 - 书籍详情:详细信息、评分、购买 - 购物车:商品管理、价格计算 - 个人中心:用户信息和设置 ## 🛠 技术栈 ### 核心框架 - **Flutter**: 3.0+ (跨平台UI框架) - **Dart**: 3.0+ (编程语言) ### 状态管理 - **flutter_riverpod**: 2.4.9 (状态管理) - **riverpod_annotation**: 2.3.3 (代码生成) ### UI 组件 - **cached_network_image**: 3.3.0 (图片缓存) - **shimmer**: 3.0.0 (骨架屏效果) - **flutter_staggered_grid_view**: 0.7.0 (瀑布流布局) - **flutter_animate**: 4.3.0 (动画效果) - **lottie**: 2.7.0 (Lottie动画) ### 网络和数据 - **dio**: 5.4.0 (HTTP客户端) - **http**: 1.1.2 (HTTP请求) - **json_annotation**: 4.8.1 (JSON序列化) ### 本地存储 - **shared_preferences**: 2.2.2 (轻量级存储) - **sqflite**: 2.3.0 (SQLite数据库) ### 工具和实用程序 - **intl**: 0.19.0 (国际化) - **uuid**: 4.2.1 (唯一标识符) - **path**: 1.8.3 (路径处理) ## 📁 项目结构 ``` lib/ ├── constants/ # 常量定义 │ ├── app_constants.dart │ └── app_theme.dart ├── models/ # 数据模型 │ ├── book.dart │ ├── user.dart │ ├── cart_item.dart │ └── order.dart ├── providers/ # 状态管理 │ ├── book_provider.dart │ ├── cart_provider.dart │ └── auth_provider.dart ├── screens/ # 界面 │ ├── auth/ │ ├── books/ │ ├── cart/ │ ├── profile/ │ └── search/ ├── services/ # 服务层 │ ├── api_service.dart │ ├── storage_service.dart │ └── mock_data_service.dart ├── widgets/ # 自定义组件 │ ├── book_card.dart │ ├── custom_button.dart │ ├── custom_text_field.dart │ └── ... └── main.dart # 应用入口 ``` ## 🚀 快速开始 ### 环境要求 - Flutter SDK 3.0+ - Dart 3.0+ - Android Studio / VS Code - iOS Simulator / Android Emulator ### 安装步骤 1. **克隆项目** ```bash git clone cd online_bookstore ``` 2. **安装依赖** ```bash flutter pub get ``` 3. **运行代码生成** ```bash flutter packages pub run build_runner build ``` 4. **启动应用** ```bash flutter run ``` ### 测试账号 - **邮箱**: test@example.com - **密码**: password 或者 - **邮箱**: admin@example.com - **密码**: admin123 ## 🎯 功能演示 ### 1. 用户认证流程 - 启动屏幕动画 - 登录/注册表单 - 表单验证和错误处理 - 用户状态持久化 ### 2. 书籍浏览体验 - 瀑布流布局展示 - 实时搜索功能 - 分类筛选 - 排序选项 - 无限滚动加载 ### 3. 购物车功能 - 添加/删除商品 - 数量调整 - 价格实时计算 - 本地存储同步 ### 4. 响应式设计 - 适配不同屏幕尺寸 - 横竖屏切换 - 平板和手机优化 ### 5. 动画效果 - 页面转场动画 - 加载状态动画 - 交互反馈动画 - 骨架屏效果 ## 🔧 自定义配置 ### 主题配置 在 `lib/constants/app_theme.dart` 中修改主题颜色和样式。 ### API 配置 在 `lib/constants/app_constants.dart` 中修改 API 基础 URL 和配置。 ### 模拟数据 在 `lib/services/mock_data_service.dart` 中添加更多测试数据。 ## 📱 平台支持 - ✅ iOS 12.0+ - ✅ Android API 21+ - ✅ Web (实验性) - ✅ Desktop (实验性) ## 🤝 贡献指南 1. Fork 项目 2. 创建功能分支 3. 提交更改 4. 推送到分支 5. 创建 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 🙏 致谢 感谢 Flutter 团队和所有开源贡献者提供的优秀工具和库。 --- **注意**: 这是一个演示项目,用于展示 Flutter 的各种特性。在生产环境中使用前,请确保进行充分的安全性和性能测试。