【鸿蒙优选三方库】@ohos/axios:从 Issue 看一个网络库的实战打磨
【鸿蒙优选三方库】@ohos/axios:从 Issue 看一个网络库的实战打磨
451 个已关闭的 Issue,不只是 bug 修复记录,更是一部"从踩坑到填坑"的实战指南。
@ohos/axios基于 Axios v1.3.4 适配 OpenHarmony,社区活跃度在鸿蒙三方库中名列前茅。
📦 仓库地址:https://gitcode.com/CPF-ApplicationTPC/ohos_axios | 安装:
ohpm install @ohos/axios
一、库的核心能力
| 特性 | 说明 |
|---|---|
| Promise API | .then()/.catch() 链式调用,告别回调地狱 |
| 拦截器 | 请求/响应拦截,统一鉴权与错误处理 |
| 文件上传/下载 | FormData + 进度回调 + 断点续传 |
| 取消请求 | AbortController 优雅取消 |
| 企业级安全 | 自定义 CA、双向 mTLS、国密 SSL、证书锁定 |
| 性能计时 | performanceTiming 各阶段耗时 |
| 全请求进度 | v2.2.13 新增,GET/POST 等均支持进度回调 |
| 自动 Cookie | v2.2.12 新增,API 26+ 同实例 Cookie 共享 |
二、社区实战:典型 Issue 与避坑指南
1. getUri(config) 升级后报错(#464 / #467)
问题:升级到 v2.2.14 后,所有使用 axios.getUri(config) 的接口报错。
原因:拦截器返回的 config 传入 getUri 时触发了日志打印逻辑,导致异常。
解决:已修复拦截器返回 config 传入 getUri 的日志打印问题(#466)。
避坑建议:升级版本后,先用 getUri 做一轮冒烟测试,因为拦截器与 getUri 的交互路径是高频出问题的地方。
2. CVE 安全漏洞修复(#462 / #461)
问题:用户报告 axios 存在新的漏洞问题。
解决:修复了 CVE-2026-67314、CVE-2026-67315、CVE-2026-67318 三个安全漏洞。
避坑建议:关注仓库的 Issue 和 Release,安全漏洞修复版本要第一时间升级。@ohos/axios 有专门的 CVE 修复流程,比手改源码靠谱。
3. 普通请求支持上传下载进度(#460)
用户诉求:之前只有文件上传/下载才支持 onUploadProgress / onDownloadProgress,普通 GET/POST 请求也希望有进度回调。
实现:v2.2.13 起,设置了进度回调的请求自动切换到流式模式(requestInStream()),所有普通 HTTP 请求都能监听上传/下载进度。
使用提示:设置进度回调后 performanceTiming 会变为 undefined——如需性能计时,请勿同时设进度回调。
三、快速上手
ohpm install @ohos/axios
import axios, { AxiosResponse, AxiosError } from '@ohos/axios'
// 拦截器:统一鉴权
axios.interceptors.request.use((config) => {
config.headers['Authorization'] = 'Bearer ' + getToken()
return config
})
// 普通请求 + 下载进度(v2.2.13 新增)
axios.get<string, AxiosResponse<string>, null>('https://api.example.com/data', {
onDownloadProgress: (e) => {
console.info(`下载进度: ${Math.ceil(e.loaded / e.total * 100)}%`)
},
}).then((res) => {
console.info(res.data)
})
四、为什么值得选它?
- 451 个 Issue 已解答:社区活跃,踩过的坑都有答案。
- 安全响应快:CVE 漏洞修复流程成熟,第一时间出补丁。
- 能力持续扩展:从普通请求进度到 Cookie 共享,紧跟用户需求。
- API 与 Web 一致:前端转鸿蒙零学习成本。
- 版本管理规范:CHANGELOG + 版本推荐表清晰。
完整 Issue 列表见 仓库 Issues,遇到问题先搜 Issue,大概率已有答案。
更多推荐


所有评论(0)