SuperAPI AI 工具集

kmp-networking

通用与其它

查看项目

更新于 10-15 19:52

技能介绍

用途:为 Kotlin Multiplatform 项目搭建跨平台共享网络层,在 commonMain 中统一配置 Ktor 客户端,并按平台选择优化引擎(Android 使用 OkHttp,iOS 使用 Darwin)。

主要能力:依赖包含 ktor-client-core、content-negotiation、kotlinx-json 序列化、logging,以及平台引擎 ktor-client-okhttp 与 ktor-client-darwin。HttpClientFactory 统一安装 ContentNegotiation、可选 Logging、Auth(bearer 令牌加载与刷新)、defaultRequest(HTTPS、主机、版本与平台头)、expectSuccess 与 HttpResponseValidator,将 401/403/404/5xx 映射为自定义异常。平台引擎分别配置超时、拦截器、日志与缓存(示例为 10MB)。还提供 UserApi 风格的 API 服务、NetworkException 体系与 toNetworkException 转换、ApiResult 结果封装、retryApiCall 重试、带 TTL 的离线缓存包装,以及 Koin 依赖注入模块示例。

使用方式:在 shared 模块 build.gradle.kts 中按 commonMain/androidMain/iosMain 添加对应依赖;在 commonMain 定义 HttpClientFactory 与 API 服务,在 androidMain/iosMain 实现引擎工厂;通过 DI 以单例提供 HttpClient,调用处用 apiCall 包裹并处理 ApiResult。

适用场景:需要在 Android 与 iOS 间共享网络请求逻辑、统一鉴权与错误处理、支持重试和离线缓存的 KMP 应用。

限制:资料未提供具体版本兼容性、性能数据、收费信息或完整可运行工程;示例中的主机、令牌存储、缓存实现与 DI 框架需按项目实际替换。