第13章:构建一个电商App(简化版)
架构设计与模块划分
1. 项目架构设计原则
1.1 分层架构
- 表现层:负责UI展示与用户交互(组件、页面路由)
- 业务逻辑层:处理核心业务逻辑(购物车管理、订单处理)
- 数据层:管理本地数据存储与网络请求(API调用、数据库操作)
1.2 模块化设计
- 采用高内聚低耦合原则,划分以下核心模块:
- 商品模块(商品列表、详情页)
- 购物车模块(增删改查、结算)
- 用户模块(登录/注册、个人中心)
- 订单模块(历史订单、状态跟踪)
2. 技术选型与工具链
| 功能需求 | 技术方案 | 说明 |
|---|---|---|
| 状态管理 | ArkTS状态管理机制 | 跨组件共享数据 |
| 网络请求 | HTTP/HTTPS + RESTful API | 对接后端服务 |
| 本地存储 | 轻量级数据库 | 缓存用户偏好设置 |
| UI组件库 | ArkUI原生组件 | 保证性能与兼容性 |
3. 模块划分与依赖关系
graph TD
A[主入口] --> B[商品模块]
A --> C[购物车模块]
A --> D[用户模块]
B --> E[网络请求服务]
C --> F[本地存储服务]
D --> E
D --> F
3.1 商品模块
- 功能:展示商品分类、列表、详情页
- 技术要点:
- 分页加载逻辑
- 图片懒加载优化
- 商品搜索功能
3.2 购物车模块
- 核心流程:
addToCart(item) -> updateLocalStorage() -> refreshUI() - 边界情况处理:
- 库存不足提示
- 商品失效状态同步
3.3 用户模块
- 认证流程设计:
- 登录/注册表单验证
- JWT令牌管理
- 自动续签机制
4. 数据流设计
- 单向数据流:
UI事件 -> Action -> State更新 -> UI渲染 - 全局状态管理方案:
- 使用ArkTS的@State和@Prop装饰器
- 复杂场景采用EventBus跨组件通信
5. 开发规范约定
- 命名规范:
- 页面组件:
PascalCase(如ProductDetail.ets) - 工具函数:
camelCase(如formatPrice())
- 页面组件:
- 目录结构:
/src /modules /product /cart /user /services api.ets storage.ets
6. 性能与安全考量
- 首屏优化:关键资源预加载
- 数据安全:
- 敏感信息加密存储
- HTTPS传输层保护
- 异常监控:全局错误捕获机制
最佳实践提示:建议先实现核心链路(商品浏览->加购->下单),再逐步扩展功能模块。
