Flutter基于Dio的网络请求日志插件

2,103 阅读1分钟

从第一个flutter项目上线到现在也有一年时间了,分享一个自己项目中的插件。

使用此插件,可以在没有usb连接ide的情况下, 免去调试抓包的烦恼,迅速定位问题。

dio_log

pub package

基于dio的网络请求日志

添加依赖

dependencies: 
  dio_log : ^1.3.1

github地址

dio_log:
  git:
  url: git@github.com:flutterplugin/dio_log.git

给dio设置监听

dio.interceptors.add(DioLogInterceptor());

在你的主页面添加全局的悬浮按钮,用于跳转日志列表

///display overlay button 显示悬浮按钮
showDebugBtn(context);
///cancel overlay button 取消悬浮按钮
dismissDebugBtn();
///overlay button state of display 悬浮按钮展示状态
debugBtnIsShow()

或者在你期望的地方打开日志列表

Navigator.of(context).push(
    MaterialPageRoute(
      builder: (context) => HttpLogListWidget(),
    ),
  );  

其他可设置参数

/// 设置记录日志的最大条数
LogPoolManager.getInstance().maxCount = 100;

Screenshot

gif demo

gif

•⚠️注意啦、注意啦、注意啦、重要的事情说三遍 页面所展示的请求信息和返回信息,都可以通过长按复制到手机粘贴板。