dio_http_util 1.1.0
dio_http_util: ^1.1.0 copied to clipboard
A powerful HTTP utility package based on Dio with configurable header injection and unified error handling.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.0 - 2026-01-14 #
Added #
- 文件上传支持
uploadFile()方法:单文件上传,支持 File、String 路径、Uint8List 字节数组uploadFiles()方法:多文件上传UploadFile类:文件上传辅助类,支持自定义字段名、文件名、Content-Type- 支持上传进度回调
- 支持额外表单数据
- OSS 直传支持
uploadToUrl()方法:直接上传到外部 URL(阿里云 OSS、腾讯云 COS 等)- 支持 PUT 和 POST 方法
- 支持自定义请求头
- 不依赖 baseUrl 配置,直接使用完整 URL
- Server-Sent Events (SSE) 支持
sse()方法:自动连接并返回事件流(推荐使用)sseClient()方法:手动控制连接(高级用法)SSEClient类:SSE 客户端封装SSEEvent类:SSE 事件模型SSEStream类:SSE 流处理逻辑- 自动复用配置的请求头(静态和动态)
Features #
- 文件上传支持 - 单文件、多文件上传,支持进度回调
- OSS 直传支持 - 直接上传到对象存储,不经过后端服务器
- Server-Sent Events (SSE) 支持 - 实时事件流处理
改进 #
- 优化 SSE API,提供自动连接方式,简化使用
- 完善文档,添加文件上传、OSS 直传、SSE 的详细使用示例
1.0.2 - 2026-01-13 #
改进 #
- 完善文档,添加智能解析器示例(处理不规范的响应结构和分页结构)
- 补充所有示例代码的导入语句
- 完善 API 文档,添加缺失的参数说明(
networkErrorKey,logShowRequestHint) - 补充
Response<T>接口文档,添加handleError()方法说明 - 完善
PagedResponse类示例代码
1.0.1 - 2026-01-13 #
🚀 初始版本:基于接口的完全灵活设计 #
Added #
- Response:核心响应接口,所有响应类必须继承此类
- 提供统一的便利方法:
onSuccess,onFailure,extract,getData - 用户完全控制响应类的结构
- 提供统一的便利方法:
- ResponseParser 接口:用户必须实现此接口来定义如何解析 API 响应
- PathBasedResponseParser:支持根据请求路径选择不同的解析器
- PathMatcher:路径匹配规则,支持正则表达式和字符串匹配
- StandardResponseParser:标准响应解析器示例(在
parsers/目录) - ApiResponse:API 响应封装类的示例实现,展示如何继承
Response<T> - SimpleErrorResponse:简单的错误响应实现(内部使用)
- HttpConfig:配置类,支持静态和动态请求头注入
- HttpUtil:HTTP 请求工具类,基于 Dio 封装
- LogInterceptor:日志拦截器,支持多种日志模式
- HTTP 方法常量:类型安全的 HTTP 方法常量(
hm类)
Features #
- 完全灵活的响应解析 - 支持任意响应结构,零假设设计
- 用户自定义响应类 - 通过
Response<T>抽象类完全控制响应结构 - 统一的便利方法 - 所有响应类都提供
onSuccess,onFailure,extract,getData方法 - 自动错误处理和提示
- 类型安全的 HTTP 方法常量
- 简洁的 API 设计
- 支持静态和动态请求头注入
- 支持日志打印(可配置)
- 支持创建独立的 Dio 实例