|
|
3 weken geleden | |
|---|---|---|
| .. | ||
| src | 3 weken geleden | |
| README.md | 3 weken geleden | |
| build.gradle | 3 weken geleden | |
base-core 是基础设施层,提供:
✅ bridge/IBridge.kt - H5通信、模块间通信、事件总线管理
✅ config/IConfig.kt - 配置管理、环境切换、功能开关、版本管理
✅ executor/IExecutor.kt - 线程池管理、异步任务执行、定时任务
✅ push/IPushService.kt - 推送服务接口
✅ share/IShareService.kt - 分享服务接口
✅ share/IShareCallback.kt - 分享回调接口
✅ storage/IStorage.kt - 存储服务接口(键值存储、文件存储、数据库存储)
✅ util/IUtil.kt - 工具类接口(时间处理、字符串处理、加密解密)
✅ log/ILog.kt - 日志接口定义
✅ log/impl/TimberLog.kt - Timber 日志实现(基于 Timber 库)
✅ log/impl/NoOpLog.kt - 空日志实现(生产环境使用)
✅ network/NetworkManager.kt - Retrofit/OkHttp 管理器(单例模式)
✅ Retrofit & OkHttp - api("com.squareup.retrofit2:retrofit:2.9.0")
✅ Gson - api("com.google.code.gson:gson:2.10.1")
✅ Glide - api("com.github.bumptech.glide:glide:4.16.0")
✅ Coroutines - api("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
✅ ARouter - api("com.alibaba:arouter-api:1.5.2")
✅ Timber - api("com.jakewharton.timber:timber:5.0.1")
⏸️ 友盟 SDK - 暂时保留(待后续决定)
capability 模块实现接口:
// capability-push 实现 IPushService
@Route(path = "/push/service")
class PushServiceImpl : IPushService {
override fun initialize(...) {
ILog.d("PushService", "初始化") // 使用 base-core 的 ILog
// 调用极光推送 SDK
}
}
capability 模块使用基础能力:
// capability-push 使用 ILog
ILog.d("PushService", "推送成功")
// capability-share 使用 ILog
ILog.d("ShareService", "分享成功")
// capability 模块使用 NetworkManager
val retrofit = NetworkManager.getRetrofit()
所有模块通过 base-core 使用第三方库,避免版本冲突。
// capability-push/src/.../PushServiceImpl.kt
import com.narutohuo.xindazhou.core.push.IPushService
import com.narutohuo.xindazhou.core.log.ILog
import com.narutohuo.xindazhou.core.network.NetworkManager
@Route(path = "/push/service")
class PushServiceImpl : IPushService {
override fun initialize(context: Context, appKey: String) {
// 使用 ILog 打日志
ILog.d("PushService", "初始化推送服务: $appKey")
// 使用 NetworkManager(如果需要)
val retrofit = NetworkManager.getRetrofit()
// 调用极光推送 SDK
JPushInterface.init(context)
}
}