一键导入
fx-dio-usage
使用 fx_dio 进行 Flutter HTTP 请求开发。基于实际项目实践的模式,包含 Host 定义、请求发起、返回值处理、异常追踪等核心流程。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
使用 fx_dio 进行 Flutter HTTP 请求开发。基于实际项目实践的模式,包含 Host 定义、请求发起、返回值处理、异常追踪等核心流程。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
| name | fx-dio-usage |
| description | 使用 fx_dio 进行 Flutter HTTP 请求开发。基于实际项目实践的模式,包含 Host 定义、请求发起、返回值处理、异常追踪等核心流程。 |
| metadata | {"author":"toly","version":"0.0.5","tags":["fx","dio","http","flutter","network","request"]} |
fx_dio: 0.0.5 | fx_exception: 0.0.1+1
检查项目是否包含 fx_dio 依赖。
1. 定义 Host → 服务地址 + 自定义环境枚举
2. 定义 Model → 数据结构 + fromApi
3. 编写 Repository → 请求方法 + convertor
4. 注册 Host → App 启动时配置 HostOptions
5. 调用 → 获取 ApiRet<T>
继承 RequestHost<E>,E 为自定义环境枚举。
#[[file:references/host.md]]
直接用 host 实例调用 get/post,convertor 负责数据转换。
#[[file:references/repository.md]]
通过 HostOptions 一次性配置日志、分页解析器、拦截器。
#[[file:references/register.md]]
不同后端的分页格式不同,按 Host 绑定 PaginateParser。
#[[file:references/paginate.md]]
后端统一格式 { code, message, data } 时,convertor 中检测业务码抛出自定义异常。
#[[file:references/biz_exception.md]]
支持整体解密和部分字段解密。
#[[file:references/decrypt.md]]
| API | 作用 |
|---|---|
FxDio().register(host, options: ...) | 注册 Host |
FxDio().auth<T>(auth) | 注册认证 |
FxDio().rebase<T>(host) | 运行时切换域名 |
FxDio().setTimeout<T>(...) | 动态调超时 |
FxDio().setLog<T>(bool) | 动态开关日志 |
host.get / post / put / patch / delete | HTTP 方法 |
ret.success / ret.failed | 判断结果 |
ret.data | 获取数据 |
ret.paginate?.total | 分页总数 |
ret.msg | 错误信息 |
(ret as ApiFail).trace.error | 原始异常对象 |
使用 fx_boot_starter 接入 App 启动流程。适用于需要闪屏页、初始化异步任务、启动状态管理的场景。
使用 fx_event 进行类型化事件通信。适用于回调层级过深、跨模块通信、远距离组件交互、异步请求-响应等场景。
使用 fx_exception 构建统一异常追踪体系。提供 Code、Trace、TraceMixin 三个核心协议,各模块基于此扩展自定义异常。
使用 fx_trace 进行应用级异常/日志追踪。统一收集网络异常、业务提示、调试日志,支持级别过滤和 State 生命周期绑定。