鸿蒙生态 2026年09月28日 · 1 分钟阅读

ArkTS 网络层设计:从页面状态到接口契约

把地址、请求、解析、错误分类和 UI 状态拆开,避免页面组件直接拼 URL。

别让页面组件直接拼 URL

学习鸿蒙端开发时,最容易失控的不是组件,而是网络层。页面里散落的地址拼接、魔法状态码和随意类型,会让联调与排错成本快速上升。

一层清晰的网络结构

  1. 环境配置:开发、测试、生产地址独立。
  2. 服务类:只负责发请求、超时与响应码判断。
  3. 模型解析:接口 snake_case 转端侧 camelCase。
  4. 页面状态:loading / success / empty / error 分开。
  5. 重试策略:只重试幂等请求,且必须有上限。

错误分类

  • 网络错误:地址错、证书错、断网。
  • 服务错误:5xx 或后端异常。
  • 业务错误:参数校验失败、权限不足。
  • 解析错误:接口字段与契约不一致。

不同错误给不同提示:网络错误提示重试,业务错误展示原因,解析错误要进入日志而不是伪装成“网络异常”。

契约先行

先把 GET /api/study/tasks/ 的分页字段、时间格式、空值和错误结构写清楚,再写 ArkUI 页面与 Django 视图。契约稳定后,端侧与后端可以并行开发。

检查点

  • 页面组件里没有接口地址。
  • 请求超时与读超时分开设置。
  • 所有接口返回都有类型。
  • 失败后用户知道下一步能做什么。

评论

Giscus 评论配置完成后自动开启。可在 .env 中填写 GISCUS_* 变量。