jh_debug

debug调试器工具,让你的开发更便捷处理bug!简单易用快速上手。 当真机调试时,更友好的捕获错误日志输出。

  • 自动捕获错误及print相关信息,无需复杂配置。
  • 带有全局捕获error回调钩子,可自定义上报错误日志
  • 可自定义组件内调试窗口内按钮事件,更好扩展业务功能,例如:切换不同开发环境接口
  • 内置全局浮动按钮组件


安装插件

在flutter项目中的pubspec.yaml,添加以下依赖项:

dependencies:
  ...
  jh_debug: ^x.x.x // 指定插件版本

快速入门

第一步:

1、安装插件,然后在main.dart入口处添加如下代码

import 'package:jh_debug/jh_debug.dart';
void main() {
  jhDebugMain(
    appChild: MyApp(),
    debugMode: DebugMode.inConsole, // 错误映射到插件中,纯真机模式可设置成none模式
    errorCallback: (error){}, // 错误回调函数
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      navigatorKey: jhDebug.getNavigatorKey, // 绑定key
    );
  }
}

第二步:

2、在MaterialApp的home页面中设置init初始化参数

import 'package:jh_debug/jh_debug.dart';

// 初始化,建议在initState阶段执行一次即可
jhDebug.init(
  context: context,
  // 指定默认调试窗口内的一些参数配置
  btnTitle1: '按钮1', // 定义按钮名称
  btnTap1: () {}, // 定义按钮触发事件
  // 自定义独立的tab页面
  customTabTitle: 'tab标题',
  customTabWidget: Container(), // 自定义tab页面的内容
);

jhDebug.init参数介绍

参数类型默认值说明
btnTap1, btnTap2, btnTap3Function弹层底部按钮点击事件
btnTitle1, btnTitle2, btnTitle3String弹层底部按钮标题
tabsInitIndexint0弹出窗口时,指定显示tabs页面, 默认每次弹出显示第0个tabs
hideCustomTabbooltrue是否隐藏自定义tabs栏,默认true隐藏
customTabTitleString自定义区域tabs的标题
customTabWidgetWidget自定义区域tabs显示的组件
hideBottomboolfalse是否隐藏底部区域块,当为ture隐藏时,bottomWidge自定义底部区域将无效
customBottomWidgeWidget底部区域组件,如果定义此参数默认定义的底部组件不显示
printRecordint50print日志最多记录多少条,默认50条
debugRecordint30调试日志最多记录多少条,默认30条
scrollFlagboolfalse是否开始弹窗口内容区域左右滑动tab功能
recordEnabledbooltrue是否开启记录log模式(默认开启),生产环境可以关闭提高APP性能,在需要调试时调用jhDebug.setRecordEnabled(true)方法开启

第三步:

3、调用调试工具,在你需要使用到的页面

import 'package:jh_debug/jh_debug.dart' show jhDebug;

jhDebug.showLog(); // 弹出jhDebug调试窗口,可自己指定义绑定到某个按钮事件上
jhDebug.hideLog(); // 隐藏jhDebug调试窗口

jhDebug.showDebugBtn(); // 显示全局浮动按钮,此按钮已内置点击显示出jeDebug调试弹层, 双击隐藏自身按钮, 长按拖动按钮位置
jhDebug.removeDebugBtn(); // 隐藏全局按钮

其它相关API

import 'package:jh_debug/jh_debug.dart' show jhDebug;
// 手动添加一条print日志
jhDebug.setPrintLog('错误'); 

// 手动添加一条debug调试日志
jhDebug.setDebugLog(
  debugLog: 'debugError错误',
  debugStack: 'stack信息',
);

// 自定义全局key
jhDebug.setGlobalKey = GlobalKey<NavigatorState>();

// 获取全局context
jhDebug.getGlobalContext;

// 设置是否开启记录log模式,生产环境可以关闭,需要调试时在开启
jhDebug.setRecordEnabled(false); 

个人博客 www.jonhuu.com

Libraries

BaseBtn
BaseLogContext
BottomWrap
DebugTab
JhToast
LogHeader
PrintTab
SearchItem
StackPosBtn
TabsWrap
index
index
index
jhSql_util
jh_config
jh_constants
jh_debug
logData_utls
logItem
mainFn
main_interface
utls