base-common/socketio(业务层)
└─ SocketIOManager(使用反射调用 capability-socketio)
↓ 反射调用
capability-socketio(能力层)
└─ SocketIORepository(具体实现)
问题:
capability-socketio(能力层)
├─ SocketIORepository(具体实现)
└─ SocketIOManager(生命周期管理,直接调用 SocketIORepository)
↓ 回调函数
base-common(业务层)
└─ AppInitializer(通过反射调用 SocketIOManager,传递回调函数)
优势:
base-common(业务层)
↓ 反射调用(可选)
capability-socketio(能力层)
↓ 直接依赖
base-core(基础设施层)
dependencies {
// ✅ 只依赖 base-core(基础设施层)
implementation(project(":base-core"))
// ✅ AndroidX Lifecycle(用于 ProcessLifecycleOwner)
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0")
implementation("androidx.lifecycle:lifecycle-process:2.7.0")
// ✅ SocketIO 客户端库
implementation("io.socket:socket.io-client:2.1.2")
}
关键点:
ILog(base-core)而不是 LogHelper(base-common)位置: capability-socketio/src/main/java/com/narutohuo/xindazhou/socketio/manager/SocketIOManager.kt
关键变更:
ILog(base-core)而不是 LogHelper(base-common)isLoggedInProvider 和 refreshTokenProvider 接收业务逻辑SocketIORepositoryFactory.getInstance()(不使用反射)位置: base-common/src/main/java/com/narutohuo/xindazhou/common/launch/AppInitializer.kt
关键变更:
capability-socketio 的 SocketIOManagercapability-socketio 未引入,跳过初始化(不影响应用运行)base-common/src/main/java/com/narutohuo/xindazhou/common/socketio/SocketIOManager.kt(已删除)文档版本: v1.0
创建时间: 2024-12