diff --git a/example/lib/main.dart b/example/lib/main.dart index 0508638..266fb7a 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -10,8 +10,8 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( - title: 'Flutter Demo', - home: MyHomePage(title: 'Flutter Demo Home Page'), + title: 'PowerLogger\nDemo', + home: MyHomePage(title: 'PowerLogger Demo'), ); } } @@ -25,6 +25,8 @@ class MyHomePage extends StatefulWidget { } class _MyHomePageState extends State { + TextEditingController _textController = + TextEditingController(text: 'https://'); @override void initState() { super.initState(); @@ -32,27 +34,53 @@ class _MyHomePageState extends State { NetTool.dio.get("https://192.168.31.255:8888"); NetTool.dio.get("https://www.baidu.com", queryParameters: {'test': 'test'}); NetTool.dio.get("https://www.baidu.com/ahefbawfbe.html"); - NetTool.dio.post( - "https://www.baidu.com/ahefbawfbe.html", - data: FormData.fromMap({'test': 'test'}), - ); - + NetTool.dio.post("https://www.baidu.com/ahefbawfbe.html", + data: FormData.fromMap({'test': 'test'})); NetTool.dio.get( "https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png"); PowerLogger.start(context); LoggerData.addData('TEST'); } + bool loading = false; + + @override + void dispose() { + _textController.dispose(); + super.dispose(); + } + @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), - floatingActionButton: FloatingActionButton( - onPressed: () { - NetTool.dio.get("https://www.baidu.com"); - }, + body: Container( + padding: EdgeInsets.all(10), + alignment: Alignment.center, + child: TextField( + controller: _textController, + decoration: InputDecoration( + filled: true, + ), + ), + ), + floatingActionButton: FloatingActionButton.extended( + icon: loading + ? CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation(Colors.white)) + : Icon(Icons.send), + label: Text('发送'), + onPressed: loading + ? null + : () async { + loading = true; + setState(() {}); + await NetTool.dio.get(_textController.text); + loading = false; + setState(() {}); + }, ), ); } diff --git a/lib/src/parser/dio_parser/dio_parser.dart b/lib/src/parser/dio_parser/dio_parser.dart index 69db2ff..b08895a 100644 --- a/lib/src/parser/dio_parser/dio_parser.dart +++ b/lib/src/parser/dio_parser/dio_parser.dart @@ -28,19 +28,13 @@ class DioParser { /// get dio contentType ContentType get type { - String _ctype = response!.headers.map['content-type']!.first; - switch (_ctype) { - case 'text/plain': - return ContentType.TEXT_PLAIN; - case 'text/html': - return ContentType.TEXT_HTML; - case 'text/css': - return ContentType.TEXT_CSS; - case 'text/javascript': - return ContentType.TEXT_JS; - case 'application/json': - return ContentType.JSON; - } + String _ctype = _response!.headers.map['content-type']!.first; + + if (_ctype.contains('text/plain')) return ContentType.TEXT_PLAIN; + if (_ctype.contains('text/html')) return ContentType.TEXT_HTML; + if (_ctype.contains('text/css')) return ContentType.TEXT_CSS; + if (_ctype.contains('text/javascript')) return ContentType.TEXT_JS; + if (_ctype.contains('application/json')) return ContentType.JSON; if (_ctype.contains('image/')) return ContentType.IMAGE; if (_ctype.contains('audio/')) return ContentType.AUDIO; if (_ctype.contains('video/')) return ContentType.VIDEO;