- 总文件数: 169 个 Kotlin 文件
- 总代码量: 43,000+ 行代码
- 核心业务模块:
lib-mall(商城核心): 44 个文件, 6,500+ 行代码 (已拆分优化)lib-auth(认证授权): 20 个文件, 5,838 行代码lib-coupon(优惠券系统): 18 个文件, 8,088 行代码lib-product(商品管理): 7 个文件, 2,645 行代码lib-history(历史记录): 7 个文件, 2,287 行代码lib-favorite(收藏系统): 9 个文件, 1,850 行代码lib-address(地址管理): 7 个文件, 1,723 行代码lib-cart(购物车系统): 10 个文件, 1,611 行代码lib-order(订单系统): 7 个文件, 1,340 行代码
- 支撑服务模块:
lib-recommend(推荐系统): 7 个文件lib-inventory-logistics(库存物流): 7 个文件lib-riskcontrol(风控系统): 7 个文件lib-qa(问答系统): 7 个文件lib-aftersales(售后服务): 6 个文件lib-arith(算术工具): 1 个文件
- 5层深度嵌套模块: 采用统一的深度架构模式,实现严格的层级依赖控制
- Facade (门面层) → Core (核心层) → Service (服务层) → Storage/Database (存储层) → API (接口层)
- 模块化业务能力:
- 认证授权 (lib-auth): 完整的认证、授权、安全管理系统
- 商城核心 (lib-mall): 商品详情页智能展示、个性化策略、交互体验增强、订单系统集成
- API层细分: ProductOperations, CartOperations, OrderOperations, UserOperations, CheckoutOperations, ReviewOperations
- 业务层: UserProfileAnalyzer, DetailPageStrategyGenerator, InteractionEngine, AccessoryRecommendEngine
- 服务层: ProductReviewService, InventoryService, OrderQueryService, OrderOperationService, InteractionManagementService
- 订单系统 (lib-order): 独立订单模块,支持12种订单类型、20+状态流转、智能拆单合并
- 商品管理 (lib-product): 商品信息管理、规格管理、库存管理
- 购物车系统 (lib-cart): 多场景购物车(即时/收藏/心愿单/共享)、智能提醒、营销推荐
- 优惠券系统 (lib-coupon): 优惠券管理、发放、核销
- 收藏系统 (lib-favorite): 商品收藏、分类管理
- 历史记录 (lib-history): 浏览历史、操作记录
- 地址管理 (lib-address): 收货地址CRUD
- 推荐系统 (lib-recommend): 商品推荐、个性化推荐
- 库存物流 (lib-inventory-logistics): 库存管理、物流追踪
- 风控系统 (lib-riskcontrol): 风险控制、反欺诈
- 问答系统 (lib-qa): 商品问答、客服问答
- 售后服务 (lib-aftersales): 退换货、维修服务
- 跨平台能力:
- Kotlin Multiplatform: 支持 HarmonyOS (ohosArm64) 平台(已移除Android和iOS配置)
- expect/actual 机制: 平台特定实现(如 TimeProvider、currentTimeMillis)
- NAPI 桥接: 通过 C 函数导出为 HarmonyOS 提供原生调用能力
为了测试最大影响范围,创建了 lib-base 基础公共模块,被 10个业务模块 依赖:
lib-base (6个kt文件)
↓ 被依赖
├─→ lib-mall (44个kt文件) ← 已优化拆分
├─→ lib-order (7个kt文件)
├─→ lib-cart (10个kt文件)
├─→ lib-coupon (9个kt文件)
├─→ lib-favorite (9个kt文件)
├─→ lib-address (7个kt文件)
├─→ lib-product (7个kt文件)
├─→ lib-history (7个kt文件)
├─→ lib-recommend (7个kt文件)
└─→ lib-riskcontrol (7个kt文件)
测试结果: 修改 lib-base-api/CommonModels.kt → 触发 120个文件 重建(11个gradle子项目)
影响范围明细:
- lib-base: 6个文件
- lib-mall: 44个文件 ← 已优化拆分
- lib-order: 7个文件
- lib-cart: 10个文件
- lib-coupon: 9个文件
- lib-favorite: 9个文件
- lib-address: 7个文件
- lib-product: 7个文件
- lib-history: 7个文件
- lib-recommend: 7个文件
- lib-riskcontrol: 7个文件
- 总计: 120个kt文件 (分布在11个gradle子项目中)
修改文件: lib-base/lib-base-core/lib-base-service/lib-base-storage/lib-base-api/src/commonMain/kotlin/com/example/base/api/CommonModels.kt
// 添加2个新方法
sealed class Result<out T> {
fun isSuccess(): Boolean = this is Success
fun isError(): Boolean = this is Error
}触发重建:
- lib-base 本身: 6个文件
- lib-mall (依赖): 44个文件 ← 已优化拆分
- lib-order (依赖): 7个文件
- lib-coupon (依赖): 9个文件
- lib-favorite (依赖): 9个文件
- lib-address (依赖): 7个文件
- lib-product (依赖): 7个文件
- lib-history (依赖): 7个文件
- lib-recommend (依赖): 7个文件
- lib-riskcontrol (依赖): 7个文件
- 总计: 120个文件 (11个gradle子项目)
lib-mall-api/src/commonMain/kotlin/com/example/mall/api/
├── ShoppingMall.kt (门面聚合类)
├── ProductOperations.kt (商品操作)
├── CartOperations.kt (购物车操作)
├── OrderOperations.kt (订单操作)
├── UserOperations.kt (用户操作)
├── CheckoutOperations.kt (结算操作)
├── ReviewOperations.kt (评价操作)
├── MallProductInfoProvider.kt
└── CrossModuleIntegrationFacade.kt
触发重建链路 (6层级联):
lib-mall-api (9个kt文件修改)
↓ 触发重建
lib-mall-service (8个kt文件)
↓ 触发重建
lib-mall-business (7个kt文件)
↓ 触发重建
lib-mall-database (5个kt文件)
↓ 触发重建
lib-mall-core (12个kt文件)
↓ 触发重建
lib-mall (3个kt文件)
↓ 可能触发重建
composeApp (如果有依赖)
影响范围: 修改1个API文件 → 触发 44个文件 (整个lib-mall模块) 重建 优化成果: 通过拆分API层操作类,现在可以更细粒度地控制重建范围
# 清除所有构建缓存
./gradlew clean
# 清除 Kotlin 缓存
rm -rf .kotlin
# 完全清除(包括 Gradle 缓存)
./gradlew clean && rm -rf .gradle .kotlin./gradlew :composeApp:linkDebugSharedOhosArm64./gradlew :composeApp:publishDebugBinariesToHarmonyAppcd harmonyapp
hvigorw assembleHaplib-auth/
├── build.gradle.kts # 顶层构建文件
├── src/commonMain/kotlin/com/example/auth/
│ └── AuthFacade.kt # 统一门面API
└── lib-auth-core/
├── build.gradle.kts
├── src/commonMain/kotlin/com/example/auth/core/
│ └── AuthTypes.kt # 核心类型定义
└── lib-auth-service/
├── build.gradle.kts
├── src/commonMain/kotlin/com/example/auth/service/
│ └── AuthService.kt # 认证服务
└── lib-auth-security/
├── build.gradle.kts
├── src/commonMain/kotlin/com/example/auth/security/
│ └── SecurityService.kt # 安全服务
└── lib-auth-api/
├── build.gradle.kts
└── src/commonMain/kotlin/com/example/auth/api/
└── AuthenticationAPI.kt # API实现