KMP 练手电商项目
本项目是一个完整的电商应用 Monorepo,采用 Layer-First 分层架构实现业务逻辑的跨平台复用,并为每个平台提供原生 UI 体验。
首页 商品列表、轮播图、分类导航、秒杀专区、补贴横幅
商品详情 商品信息、详情图片、规格参数、SKU 选择、库存校验
规格选择 半模态弹窗、颜色色块、规格动态组合、价格/库存联动
product → feature → Common → composeApp
↓ ↓ ↓
└───────────┴──────────┴──→ composeApp (ViewModel + Repository)
EcommerceApp/
├── composeApp/ # KMP 共享业务逻辑(跨平台)
│ └── src/
│ ├── commonMain/ # 跨平台业务逻辑(ViewModels、Repositories、Models)
│ ├── androidMain/ # Android 平台 HTTP 客户端实现
│ ├── iosMain/ # iOS 平台 HTTP 客户端实现
│ └── ohosMain/ # HarmonyOS 平台 HTTP 客户端实现
│
├── Common/ # 各平台公共 UI 组件层
│ ├── androidApp/ # Android: Compose 公共组件 + Theme
│ ├── iosApp/ # iOS: SwiftUI 公共组件 + Theme
│ └── harmonyApp/ # HarmonyOS: ArkUI 公共组件 + Theme
│
├── feature/ # 业务页面 UI 实现层
│ ├── androidApp/ # Android: Compose 业务页面(Home、Cart、Profile 等)
│ └── iosApp/ # iOS: SwiftUI 业务页面(Home、Cart、Profile 等)
│
├── product/
│ └── phone/
│ ├── androidApp/ # Android 应用入口(MainActivity + sourceSets 整合 + Gradle 配置)
│ ├── iosApp/ # iOS 应用入口 + ViewModels(SwiftUI + CocoaPods)
│ └── harmonyApp/ # HarmonyOS 应用入口(ArkUI V2 + DevEco Studio)
│
├── server/ # 独立 Node.js 后端 API 服务