diff --git a/.flutter-plugins b/.flutter-plugins index 5f96337..1f360a4 100644 --- a/.flutter-plugins +++ b/.flutter-plugins @@ -1,18 +1,18 @@ # This is a generated file; do not edit or check into version control. -device_info_plus=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\device_info_plus-11.1.1\\ -flutter_webrtc=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\flutter_webrtc-0.9.48+hotfix.1\\ +device_info_plus=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\device_info_plus-11.1.1\\ +flutter_webrtc=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\flutter_webrtc-0.9.48+hotfix.1\\ libserialport=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\git\\libserialport-d6d27ef7aaf89e4dfa026db0c50dd3053c546710\\ -open_settings=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\open_settings-2.0.2\\ -path_provider=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.1.5\\ -path_provider_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.2.12\\ -path_provider_foundation=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.4.0\\ -path_provider_linux=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.2.1\\ -path_provider_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.3.0\\ -permission_handler=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\permission_handler-11.3.1\\ -permission_handler_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\permission_handler_android-12.0.13\\ -permission_handler_apple=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\permission_handler_apple-9.4.5\\ -permission_handler_html=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\permission_handler_html-0.1.3+2\\ -permission_handler_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\permission_handler_windows-0.2.1\\ -quick_blue=D:\\ly\\dart\\A\\new\\hy_tamping\\plugins\\quick_blue\\ -wifi_iot=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\wifi_iot-0.3.19+1\\ -wifi_scan=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\wifi_scan-0.4.1+1\\ +open_settings=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\open_settings-2.0.2\\ +path_provider=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\path_provider-2.1.5\\ +path_provider_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\path_provider_android-2.2.12\\ +path_provider_foundation=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\path_provider_foundation-2.4.0\\ +path_provider_linux=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\path_provider_linux-2.2.1\\ +path_provider_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\path_provider_windows-2.3.0\\ +permission_handler=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\permission_handler-11.3.1\\ +permission_handler_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\permission_handler_android-12.0.13\\ +permission_handler_apple=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\permission_handler_apple-9.4.5\\ +permission_handler_html=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\permission_handler_html-0.1.3+4\\ +permission_handler_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\permission_handler_windows-0.2.1\\ +quick_blue=D:\\pile_nav_new\\plugins\\quick_blue\\ +wifi_iot=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\wifi_iot-0.3.19+1\\ +wifi_scan=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\wifi_scan-0.4.1+1\\ diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index 9673d08..c083243 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\device_info_plus-11.1.1\\\\","native_build":true,"dependencies":[]},{"name":"flutter_webrtc","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_webrtc-0.9.48+hotfix.1\\\\","native_build":true,"dependencies":[]},{"name":"open_settings","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\open_settings-2.0.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler_apple-9.4.5\\\\","native_build":true,"dependencies":[]},{"name":"quick_blue","path":"D:\\\\ly\\\\dart\\\\A\\\\new\\\\hy_tamping\\\\plugins\\\\quick_blue\\\\","native_build":true,"dependencies":[]},{"name":"wifi_iot","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\wifi_iot-0.3.19+1\\\\","native_build":true,"dependencies":[]},{"name":"wifi_scan","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\wifi_scan-0.4.1+1\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\device_info_plus-11.1.1\\\\","native_build":true,"dependencies":[]},{"name":"flutter_webrtc","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_webrtc-0.9.48+hotfix.1\\\\","native_build":true,"dependencies":[]},{"name":"libserialport","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\git\\\\libserialport-d6d27ef7aaf89e4dfa026db0c50dd3053c546710\\\\","native_build":true,"dependencies":[]},{"name":"open_settings","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\open_settings-2.0.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.2.12\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler_android-12.0.13\\\\","native_build":true,"dependencies":[]},{"name":"quick_blue","path":"D:\\\\ly\\\\dart\\\\A\\\\new\\\\hy_tamping\\\\plugins\\\\quick_blue\\\\","native_build":true,"dependencies":[]},{"name":"wifi_iot","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\wifi_iot-0.3.19+1\\\\","native_build":true,"dependencies":[]},{"name":"wifi_scan","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\wifi_scan-0.4.1+1\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\device_info_plus-11.1.1\\\\","native_build":true,"dependencies":[]},{"name":"flutter_webrtc","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_webrtc-0.9.48+hotfix.1\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"quick_blue","path":"D:\\\\ly\\\\dart\\\\A\\\\new\\\\hy_tamping\\\\plugins\\\\quick_blue\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\device_info_plus-11.1.1\\\\","native_build":false,"dependencies":[]},{"name":"flutter_webrtc","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_webrtc-0.9.48+hotfix.1\\\\","native_build":true,"dependencies":[]},{"name":"libserialport","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\git\\\\libserialport-d6d27ef7aaf89e4dfa026db0c50dd3053c546710\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_linux","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"quick_blue","path":"D:\\\\ly\\\\dart\\\\A\\\\new\\\\hy_tamping\\\\plugins\\\\quick_blue\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\device_info_plus-11.1.1\\\\","native_build":false,"dependencies":[]},{"name":"flutter_webrtc","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_webrtc-0.9.48+hotfix.1\\\\","native_build":true,"dependencies":[]},{"name":"libserialport","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\git\\\\libserialport-d6d27ef7aaf89e4dfa026db0c50dd3053c546710\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.3.0\\\\","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler_windows-0.2.1\\\\","native_build":true,"dependencies":[]},{"name":"quick_blue","path":"D:\\\\ly\\\\dart\\\\A\\\\new\\\\hy_tamping\\\\plugins\\\\quick_blue\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\device_info_plus-11.1.1\\\\","dependencies":[]},{"name":"permission_handler_html","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler_html-0.1.3+2\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"device_info_plus","dependencies":[]},{"name":"flutter_webrtc","dependencies":["path_provider"]},{"name":"libserialport","dependencies":[]},{"name":"open_settings","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"quick_blue","dependencies":[]},{"name":"wifi_iot","dependencies":[]},{"name":"wifi_scan","dependencies":[]}],"date_created":"2024-11-19 08:59:08.276343","version":"3.24.4","swift_package_manager_enabled":false} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus-11.1.1\\\\","native_build":true,"dependencies":[]},{"name":"flutter_webrtc","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_webrtc-0.9.48+hotfix.1\\\\","native_build":true,"dependencies":[]},{"name":"open_settings","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\open_settings-2.0.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_apple-9.4.5\\\\","native_build":true,"dependencies":[]},{"name":"quick_blue","path":"D:\\\\pile_nav_new\\\\plugins\\\\quick_blue\\\\","native_build":true,"dependencies":[]},{"name":"wifi_iot","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\wifi_iot-0.3.19+1\\\\","native_build":true,"dependencies":[]},{"name":"wifi_scan","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\wifi_scan-0.4.1+1\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus-11.1.1\\\\","native_build":true,"dependencies":[]},{"name":"flutter_webrtc","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_webrtc-0.9.48+hotfix.1\\\\","native_build":true,"dependencies":[]},{"name":"libserialport","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\git\\\\libserialport-d6d27ef7aaf89e4dfa026db0c50dd3053c546710\\\\","native_build":true,"dependencies":[]},{"name":"open_settings","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\open_settings-2.0.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.12\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_android-12.0.13\\\\","native_build":true,"dependencies":[]},{"name":"quick_blue","path":"D:\\\\pile_nav_new\\\\plugins\\\\quick_blue\\\\","native_build":true,"dependencies":[]},{"name":"wifi_iot","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\wifi_iot-0.3.19+1\\\\","native_build":true,"dependencies":[]},{"name":"wifi_scan","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\wifi_scan-0.4.1+1\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus-11.1.1\\\\","native_build":true,"dependencies":[]},{"name":"flutter_webrtc","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_webrtc-0.9.48+hotfix.1\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"quick_blue","path":"D:\\\\pile_nav_new\\\\plugins\\\\quick_blue\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus-11.1.1\\\\","native_build":false,"dependencies":[]},{"name":"flutter_webrtc","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_webrtc-0.9.48+hotfix.1\\\\","native_build":true,"dependencies":[]},{"name":"libserialport","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\git\\\\libserialport-d6d27ef7aaf89e4dfa026db0c50dd3053c546710\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_linux","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"quick_blue","path":"D:\\\\pile_nav_new\\\\plugins\\\\quick_blue\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus-11.1.1\\\\","native_build":false,"dependencies":[]},{"name":"flutter_webrtc","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_webrtc-0.9.48+hotfix.1\\\\","native_build":true,"dependencies":[]},{"name":"libserialport","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\git\\\\libserialport-d6d27ef7aaf89e4dfa026db0c50dd3053c546710\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.3.0\\\\","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_windows-0.2.1\\\\","native_build":true,"dependencies":[]},{"name":"quick_blue","path":"D:\\\\pile_nav_new\\\\plugins\\\\quick_blue\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"device_info_plus","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus-11.1.1\\\\","dependencies":[]},{"name":"permission_handler_html","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_html-0.1.3+4\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"device_info_plus","dependencies":[]},{"name":"flutter_webrtc","dependencies":["path_provider"]},{"name":"libserialport","dependencies":[]},{"name":"open_settings","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"quick_blue","dependencies":[]},{"name":"wifi_iot","dependencies":[]},{"name":"wifi_scan","dependencies":[]}],"date_created":"2024-11-20 19:41:05.654848","version":"3.24.0","swift_package_manager_enabled":false} \ No newline at end of file diff --git a/images/hammer.png b/images/hammer.png new file mode 100644 index 0000000..bc0d19d Binary files /dev/null and b/images/hammer.png differ diff --git a/images/hook.png b/images/hook.png new file mode 100644 index 0000000..c9f72ec Binary files /dev/null and b/images/hook.png differ diff --git a/images/index.dart b/images/index.dart new file mode 100644 index 0000000..7e39181 --- /dev/null +++ b/images/index.dart @@ -0,0 +1,231 @@ +import 'dart:math'; + +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../counter_pointer/sight.dart'; +import '../draws/data_type.dart'; +import '../draws/scence_map.dart'; +import '../getx/polyon.dart'; +import 'controller.dart'; +import 'direction.dart'; +import 'polyon.dart'; +import 'real_data.dart'; +import 'real_device.dart'; + +class HomeView extends GetView { + const HomeView({super.key}); + + @override + Widget build(BuildContext context) { + ScenceMapController scenceMapController = Get.find(); + PolyonController polyonController = Get.find(); + List children = []; + final size = MediaQuery.of(context).size; + return OrientationBuilder(builder: ((context, orientation) { + bool isPortrait = Orientation.portrait == orientation ? true : false; + double topHeight = isPortrait ? size.height / 6 : 0; + if (isPortrait) { + children = [const SightGview()]; + } else { + children = []; + } +// 中间 + var center = Obx(() { + // 桩点生成 + if (controller.isGenerate.value) { + return GestureDetector( + onTapDown: (TapDownDetails details) { + if (controller.checkValue.value == "checkPile") { + controller.centerOffset.value = details.localPosition; + double diagonal = scenceMapController.diagonal; + double mapWidth = scenceMapController.width; + double mapHeight = scenceMapController.height; + Offset offset = Offset( + mapWidth / 2 - diagonal / 2, mapHeight / 2 - diagonal / 2); + Offset sc2xy = scenceMapController + .screen2xy0(details.localPosition - offset); + controller.centerXY.value = sc2xy; + HyRecordItem? checkPoint = + scenceMapController.pointInfo(controller.centerXY.value); + if (checkPoint != null) { + controller.isPileId.value = true; + controller.checkName.value = checkPoint.tpId.toString(); + } else { + controller.isPileId.value = false; + controller.checkName.value = "未找到"; + } + showDialog( + context: context, + barrierDismissible: false, + builder: (BuildContext context) { + return const GenerateDialog(); + }); + } + }, + onScaleStart: (details) { + controller.isUp.value = false; + if (controller.checkValue.value != "checkPile") { + controller.linePoint.value = details.localFocalPoint; + } + controller.shouldPaint.value = true; + }, + onScaleUpdate: (details) { + controller.shouldPaint.value = true; + if (controller.checkValue.value != "checkPile") { + if (controller.linePoint.value != details.localFocalPoint) { + controller.updateLinePoint(details.localFocalPoint); + } + } + }, + onScaleEnd: (details) { + double deg = (atan2( + controller.linePoint.value.dy - + controller.centerOffset.value.dy, + controller.linePoint.value.dx - + controller.centerOffset.value.dx) * + 180 / + pi) + .roundToDouble(); + controller.direction.value = deg + 90; + controller.angle.value = + ((controller.direction.value * pi / 180) * 100).round() / 100; + controller.isUp.value = true; + controller.shouldPaint.value = false; + + }, + child: Container( + clipBehavior: Clip.hardEdge, + decoration: BoxDecoration( + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.2), + blurRadius: 8, + offset: const Offset(0, 4), + ), + ], + ), + child: Obx(() { + ////必须写 因为 需要监听 -- 的值发生变化 刷新 + controller.linePoint.value; + List scenceMapViewChildren = []; + if (controller.isGenerate.value) { + scenceMapViewChildren = []; + } else { + scenceMapViewChildren = [const SightGview()]; + } + return CustomPaint( + foregroundPainter: DrawDirection(controller), + child: AbsorbPointer( + absorbing: true, //设置CenterLayout 内的GestureDetector 不生效 + child: ScenceMapView(scenceMapViewChildren), + )); + }), + ), + ); + // 多边形 + } else if (polyonController.isRuler.value) { + return const PolyonView( ScenceMapView([])); + } else { + return ScenceMapView(children); + } + }); +// 桩点生成时返回按钮 + var back = Obx(() => Positioned( + left: controller.isGenerate.value + ? controller.centerOffset.value.dx - 25 //宽一半 + : -50, + top: controller.isGenerate.value + ? controller.centerOffset.value.dy + topHeight - 20 // 20 为高一半 + : -50, + width: 50, + height: 40, + child: ClipOval( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + padding: EdgeInsets.zero, + shape: const CircleBorder(), + ), + child: const Icon(Icons.keyboard_return), + onPressed: () { + showDialog( + context: context, + barrierDismissible: false, + builder: (BuildContext context) { + return const GenerateDialog(); + }); + controller.isDirect.value = false; + }, + ), + ))); + // 竖屏 + var portraitWidget = Column( + children: [ + Expanded(flex: 1, child: RealDataVIew()), + Expanded(flex: 5, child: center), + ], + ); + // 横屏 + var landscapeWidget = Row( + children: [ + Expanded(flex: 2, child: RealDataVIew()), + Expanded(flex: 5, child: center), + const Expanded(flex: 2, child: RealDeviceView()), + ], + ); + // 瞄准器 + var sightWidegt = Positioned( + width: size.width / 9 * 2, + height: size.width / 9 * 2, + bottom: 0, + left: 0, + child: Container( + decoration: const BoxDecoration(color: Colors.transparent), + child: const Card( + elevation: 5.0, + child: SightView(), + ))); + return Stack( + children: [ + if (isPortrait) portraitWidget else landscapeWidget, + back, + if (!isPortrait) sightWidegt, + ], + ); + })); + } +} + +// 瞄准器 +class SightGview extends GetView { + const SightGview({super.key}); + + @override + Widget build(BuildContext context) { + final Size size = MediaQuery.of(context).size; + return Obx(() => Positioned( + left: controller.sightOffset.value.dx, + top: controller.sightOffset.value.dy, + width: size.width / 5 * 2, + height: size.width / 5 * 2, + child: GestureDetector( + onScaleStart: ((details) { + // 17 这个值不知原因? + controller.initSight.value = + Offset(0, size.width / 5 * 2 - 17) + details.localFocalPoint; + controller.sightOffset.value = + details.focalPoint - controller.initSight.value; + }), + onScaleUpdate: (details) { + controller.sightOffset.value = + details.focalPoint - controller.initSight.value; + }, + child: Container( + decoration: const BoxDecoration(color: Colors.transparent), + child: const Card( + elevation: 5.0, + child: SightView(), + )), + ), + )); + } +} diff --git a/images/mechinacs.png b/images/mechinacs.png new file mode 100644 index 0000000..f8c970a Binary files /dev/null and b/images/mechinacs.png differ diff --git a/lib/appbar.dart b/lib/appbar.dart index f87002f..74d881c 100644 --- a/lib/appbar.dart +++ b/lib/appbar.dart @@ -25,9 +25,9 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget { @override Widget build(BuildContext context) { - const textStyle = TextStyle(fontSize: 16); + const textStyle = TextStyle(fontSize: 20); return AppBar( - toolbarHeight: 40, + toolbarHeight: 50, centerTitle: true, // 标题居中 title: Obx(() { // pile_cm @@ -83,7 +83,7 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget { }, child: Icon( appcontroller.isDarkMode.value ? Icons.dark_mode : Icons.sunny, - size: 35, + size: 45, ), ), ), @@ -132,7 +132,7 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget { image: const AssetImage('images/satellite.png'), // width: 40, color: color, - height: 40, + height: 50, ) ], ), @@ -157,7 +157,7 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget { }, child: Icon( Icons.my_location_sharp, - size: 35, + size: 45, color: aimcontroller.isCardVisible.value ? Colors.blue // : const Color.fromARGB(200, 29, 28, 28), @@ -178,7 +178,7 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget { }, child: Icon( Icons.date_range_rounded, - size: 35, + size: 45, color: isDataVisible.value ? Colors.blue : (appcontroller.isDarkMode.value diff --git a/lib/main.dart b/lib/main.dart index c31004d..203d43e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -15,6 +15,7 @@ import 'pages/login/my_routes.dart'; import 'pages/pass_track/view.dart'; import 'pages/real/real_controller.dart'; +import 'pages/dataAndDevice/controller.dart'; import 'pages/setting/child_pages/antenna/antenna_setting.dart'; import 'pages/setting/child_pages/connect/config/socket_setting.dart'; import 'pages/setting/setting_controller.dart'; @@ -31,7 +32,7 @@ final AppController appcontroller = Get.put(AppController()); final GlobalKey scaffoldMessengerKey = GlobalKey(); // Connect connect = Connect(); - SocketSetting socket = SocketSetting(); +SocketSetting socket = SocketSetting(); void main() async { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []); //设置全屏 @@ -41,7 +42,9 @@ void main() async { Get.put(PhoneLoginController()); Get.put(ScenceMapController()); Get.put(AimPointerController()); - Get.put(RealController()); + Get.put(RealController()); + Get.put(RealDataController()); + Get.put(PlumRealDataController()); LoginPrefs loginPrefs = LoginPrefs(); String value = await loginPrefs.init(); // await 关键字必须用在异步方法中 await等待异步方法执行完毕 异步方法必须用变量接收 @@ -92,7 +95,7 @@ class MyHomePage extends StatefulWidget { class _MyHomePageState extends State { late bool isPortrait; - late double appBarHeight = 34.0; + late double appBarHeight = 44.0; bool isInitialized = false; @override void initState() { @@ -123,7 +126,7 @@ class _MyHomePageState extends State { } final List pages = [ // const Real(), - PassTrack(), + PassTackAndDevice(), const TaskManagePage(), const HistoryRecord(), const SettingPortrait() @@ -134,16 +137,15 @@ class _MyHomePageState extends State { appBar: PreferredSize( preferredSize: Size.fromHeight(appBarHeight), child: CustomAppBar( - appBarHeight: 56, + appBarHeight: 66, currentIndex: appcontroller.currentIndex, ), ), body: OrientationBuilder( builder: (context, orientation) { // final size = MediaQuery.of(context).size; - appBarHeight = Orientation.portrait == orientation ? 56.0 : 34.0; + appBarHeight = Orientation.portrait == orientation ? 66.0 : 44.0; isPortrait = Orientation.portrait == orientation ? true : false; - appBarHeight = Orientation.portrait == orientation ? 56.0 : 34.0; return Obx(() { appcontroller.currentIndex.value; if (!isPortrait) { diff --git a/lib/pages/aim_point/aimpoint_page.dart b/lib/pages/aim_point/aimpoint_page.dart index 755a38f..0ce6592 100644 --- a/lib/pages/aim_point/aimpoint_page.dart +++ b/lib/pages/aim_point/aimpoint_page.dart @@ -15,11 +15,10 @@ final GnssController gnsscontroller = Get.find(); // ignore: must_be_immutable class AimPointer extends GetView { String gradienter = "0"; - - AimPointer({super.key}); //水平仪 + final Size size; + AimPointer({super.key, required this.size}); //水平仪 @override Widget build(BuildContext context) { - final Size size = MediaQuery.of(context).size; final mediaQueryData = MediaQueryData.fromView(View.of(context)); //获取当前屏幕信息 final orientation = mediaQueryData.orientation; //获得设备方向 bool isPortrait = Orientation.portrait == orientation ? true : false; @@ -27,17 +26,17 @@ class AimPointer extends GetView { final deviceType = getDeviceType(context); - if (orientation == Orientation.landscape) { - rectWidth = size.width / 2 - 60; - if (deviceType == DeviceType.mobile) { - rectWidth = size.height - 130; - } - } else { - rectWidth = size.height / 2; - if (deviceType == DeviceType.mobile) { - rectWidth = size.width - 5; - } - } + // if (orientation == Orientation.landscape) { + // rectWidth = size.width / 2 - 60; + // if (deviceType == DeviceType.mobile) { + // rectWidth = size.height - 60; + // } + // } else { + // rectWidth = size.height / 2; + // if (deviceType == DeviceType.mobile) { + // rectWidth = size.width - 5; + // } + // } bool isDarkMode = Theme.of(context).brightness == Brightness.dark; List children = [ SizedBox( @@ -50,6 +49,7 @@ class AimPointer extends GetView { borderRadius: BorderRadius.circular(4.0), // 可以根据需要调整圆角半径 ), + child: Container( width: rectWidth, height: rectWidth, @@ -85,29 +85,17 @@ class AimPointer extends GetView { }, ); })), - Positioned( - right: 0, - top: 0, - child: IconButton( - icon: const Icon(Icons.close), - onPressed: () { - // 关闭按钮的回调函数 - aimcontroller.isCardVisible.value = false; - aimcontroller.lastCloseTapTime = - DateTime.now().millisecondsSinceEpoch; - }, - ), - ), - Positioned( - top: 30, - right: 10, - child: TextButton( - child: Text( - "垂直度:$gradienter°", - style: const TextStyle(fontSize: 20), - ), - onPressed: () {}, - )), + + // Positioned( + // top: 30, + // right: 10, + // child: TextButton( + // child: Text( + // "垂直度:$gradienter°", + // style: const TextStyle(fontSize: 20), + // ), + // onPressed: () {}, + // )), Obx(() { var pixel2MeterRatio = aimcontroller.plot.value * 2 / rectWidth; @@ -148,9 +136,10 @@ class AimPointer extends GetView { aimcontroller.x.value / pixel2MeterRatio, child: Transform( transform: Matrix4.identity() - ..rotateZ(gnsscontroller.device.rotation.value + - pi / 2 + - mapcontroller.rotation.value), + ..rotateZ( + gnsscontroller.device.rotation.value + + pi / 2 + + mapcontroller.rotation.value), alignment: FractionalOffset.center, child: Stack( alignment: Alignment.center, @@ -331,11 +320,12 @@ class DrawAxis extends CustomPainter { // 瞄准器卡片 class SightGview extends StatelessWidget { - const SightGview({super.key}); - + const SightGview({super.key, required this.size}); + + final Size size; @override Widget build(BuildContext context) { - final Size size = MediaQuery.of(context).size; + // final Size size = MediaQuery.of(context).size; final mediaQueryData = MediaQueryData.fromView(View.of(context)); //获取当前屏幕信息 final orientation = mediaQueryData.orientation; //获得设备方向 double rectWidth = size.width; @@ -354,7 +344,9 @@ class SightGview extends StatelessWidget { return Obx(() => Visibility( visible: aimcontroller.isCardVisible.value, - child: Positioned( + child: + Stack(children: [ + Positioned( left: aimcontroller.sightOffset.value.dx, top: aimcontroller.sightOffset.value.dy, width: rectWidth + 15, @@ -378,9 +370,24 @@ class SightGview extends StatelessWidget { Card( color: Colors.transparent, elevation: 5.0, - child: AimPointer(), + child: AimPointer(size: Size(580, 580)), ), - ])) - ]))))); + ])), + + Positioned( + right: 10, + top: 5, + child: IconButton( + icon: const Icon(Icons.close), + onPressed: () { + // 关闭按钮的回调函数 + aimcontroller.isCardVisible.value = false; + aimcontroller.lastCloseTapTime = + DateTime.now().millisecondsSinceEpoch; + }, + ), + ) + ]))),]) + )); } } diff --git a/lib/pages/dataAndDevice/controller.dart b/lib/pages/dataAndDevice/controller.dart new file mode 100644 index 0000000..5c90a4c --- /dev/null +++ b/lib/pages/dataAndDevice/controller.dart @@ -0,0 +1,150 @@ +import 'dart:async'; +import 'dart:core'; +import 'dart:math'; + +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:roslibdart/roslibdart.dart'; +import '../../service/base.dart'; + +class PlumRealDataController extends GetxController { + var isGenerate = false.obs; //是否生成 + var angle = 0.0.obs; //方向弧度 + var isDirect = false.obs; //是否为方向设置 + var checkValue = "".obs; //checkPile -桩点坐标,checkDirection-方向设置 + var checkName = "".obs; + var centerXY = Offset.zero.obs; //中心点 + var space = 5.0.obs; //间距 m + var genLenth = 0.obs; //半径 + var isPileId = false.obs; + var direction = 0.0.obs; //角度 + var centerOffset = Offset.zero.obs; + var linePoint = Offset.zero.obs; + var isUp = false.obs; + var plumList = [].obs; + var shouldPaint = true.obs; + late Service service; + late Ros ros; + @override + void onInit() async { + super.onInit(); + ros = BaseService().getRos(); + // ros.connect(); + // service = Service( + // name: '/smash_point_list_service', + // ros: ros, + // type: "nav2_smash_behavior/srv/SmashPointList"); + // var json = {'data': []}; + // service.call(json).then((value) { + // print('ros$value'); + // }); + } + + updateLinePoint(Offset offset) { + linePoint.value = offset; + update(); + } + + // 监听 plumList 变量的变化 + void listenToPlumList() { + plumList.listen((list) { + var points = []; + for (var i = 0; i < list.length; i++) { + Offset item = list[i]; + points.add({"x": item.dx, "y": item.dy, "z": 0}); + } + service + .call({"points": points}) + .then((value) => {print("----$value")}) + .catchError((e) => {print(e)}); + }, onError: (err) { + // 错误处理 + }); + } +} + +class RealDataController extends GetxController { + final time = DateTime.now().obs; + final tid = 100.obs; + final name = '桩点名称'.obs; + final sid = '10.222'.obs; + final times = 10.obs; +late final isClick = false.obs; + + late final lineDis = 110.0.obs; + late final distance = 460.0.obs; + var isHooked = false.obs; + late Topic topic; + late Ros ros; + + double g = 9.8; // 重力加速度 + double t = 0; // 时间 + @override + void onInit() async { + super.onInit(); + ros = BaseService().getRos(); + // ros.connect(); + // topic = Topic( + // ros: ros, + // name: '/your_topic', + // type: 'std_msgs/String', + // ); + // // 订阅者来接收 ROS 主题的消息 + // topic.subscribe((message) async { + // print('Received message: $message'); + // }); + + // ActionClient action = ActionClient( + // ros: ros, + // actionName: '/virtual_odom', + // serverName: 'virtual_odom_publisher_behavior/action/PublishVirtualOdom', + // goalName: "/target_pose", + // goalType: 'geometry_msgs/PoseStamped'); + // await action.init(); + // action.feedbacker.subscription!.listen((message) { + // String g = message['status']['goal_id']['id']; + // action.goals[g]!.stream.listen((data) { + // // 在这里处理 status 的变化 + // print('Status changed: ${data['status']}'); + // }); + // }); + // Map message = { + // 'target_pose': { + // 'header': {'frame_id': 'map'}, + // 'pose': { + // 'position': {'x': 10.0, 'y': 10.0, 'z': 0.0}, + // 'orientation': {'x': 0.0, 'y': 0.0, 'z': 0.0, 'w': 1.0} + // } + // } + // }; + + // action.send(message); + + // 定时器每秒更新时间 + Timer.periodic(const Duration(milliseconds: 100), (_) { + time.value = DateTime.now(); + if (!isHooked.value && lineDis < 560 && distance >= 460) { + lineDis.value += 10; // 每秒增加10 + } else if (lineDis > 110 && distance <= 460) { + isHooked.value = true; + distance.value -= 10; + lineDis.value -= 10; + } else if (distance.value < 460) { + isHooked.value = false; + t += 1; // 每秒增加1秒 + distance.value = 0.5 * g * t * t; + if (distance.value >= 460) { + distance.value = 460; + t = 0; + } + lineDis.value = 110; + } + }); + } + + @override + void dispose() async { + super.dispose(); + await ros.close(); + } +} diff --git a/lib/pages/dataAndDevice/real_data.dart b/lib/pages/dataAndDevice/real_data.dart new file mode 100644 index 0000000..76e3971 --- /dev/null +++ b/lib/pages/dataAndDevice/real_data.dart @@ -0,0 +1,124 @@ +import 'dart:math'; +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:intl/intl.dart'; + +import '../../service/pile/device_type.dart'; +import '../../service/pile/input.dart'; +import '../../service/pile/public_widget.dart'; +import '../aim_point/aimpoint_page.dart'; +import 'controller.dart'; + +class RealDataContainer extends StatelessWidget { + final PlumRealDataController controller = Get.put(PlumRealDataController()); + @override + Widget build(BuildContext context) { + // final size = MediaQuery.of(context).size; + return Container( + child: Stack( + children: [ + RealDataVIew(), + Positioned( + bottom: 60, // 根据需要调整位置 + left: 5, // 根据需要调整位置 + child: Container( + decoration: const BoxDecoration(color: Colors.transparent), + child: Stack(children: [ + Card( + color: Colors.transparent, + elevation: 0, + child: AimPointer(size: Size(250,250)), + ), + ]))), + ], + ), + ); + } +} + +class RealDataVIew extends GetView { + RealDataVIew({super.key}); + final PlumRealDataController plumDataController = + Get.find(); + @override + Widget build(BuildContext context) { + double fontSize = 16; + DeviceType deviceType = getDeviceType(context); + if (deviceType == DeviceType.mobile) { + fontSize = 16; + } else { + fontSize = 20; + } + return Container( + clipBehavior: Clip.hardEdge, + alignment: Alignment.centerLeft, + // height: 130, + padding: const EdgeInsets.symmetric(horizontal: 5), + decoration: + BoxDecoration(border: Border.all(color: Colors.black, width: 1)), + child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + // Stack(children: [ + // Positioned( + // width: 20, + // height: 20, + // child: Card( + // color: Colors.transparent, + // elevation: 5.0, + // child: + + // ), + // ) + // ]), + const SizedBox( + height: 20, + ), + Wrap( + children: [ + Obx(() => Text( + DateFormat('yy-MM-dd HH:mm:ss').format(controller.time.value), + style: const TextStyle(fontSize: 20, height: 2), + )), + ], + ), + SingleChildScrollView( + child: Theme( + data: ThemeData( + textTheme: TextTheme( + titleLarge: TextStyle( + fontSize: fontSize, + fontWeight: FontWeight.normal, + ), + )), + child: Obx(() => Wrap( + children: [ + // Text( + // '工作区域:$txt ', + // style: textStyle, + // ), + // Text( + // '工作层级:$txt ', + // style: textStyle, + // ), + Text( + '设备编号:${controller.tid.value} ', + style: Theme.of(context).textTheme.titleLarge, + ), + Text( + '桩点名称:${controller.name.value} ', + style: Theme.of(context).textTheme.titleLarge, + ), + Text( + '夯沉量:${controller.sid.value} ', + style: Theme.of(context).textTheme.titleLarge, + ), + Text( + '次:${controller.times.value} ', + style: Theme.of(context).textTheme.titleLarge, + ), + ], + ))), + ), + ]), + ); + } +} diff --git a/lib/pages/dataAndDevice/real_device.dart b/lib/pages/dataAndDevice/real_device.dart new file mode 100644 index 0000000..aeb65a7 --- /dev/null +++ b/lib/pages/dataAndDevice/real_device.dart @@ -0,0 +1,126 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; + +import '../../service/pile/device_type.dart'; +import 'controller.dart'; + +class RealDeviceView extends GetView { + const RealDeviceView({super.key}); + + @override + Widget build(BuildContext context) { + DeviceType deviceType = getDeviceType(context); + final size = MediaQuery.of(context).size; + double imageW = size.width / 4 - 20; + double imageH = size.height - 40; + double rad = 0.10625; + // double distance = 0; + double hammerDis = 50; // + + double hookDis = 30; + + bool isMobile = deviceType != DeviceType.mobile ? false : true; + double lineTop = deviceType != DeviceType.mobile + ? (rad * size.height).floorToDouble() - 45 + : (rad / 2 * size.height).floorToDouble() - 45; + return Obx(() { + return Container( + decoration: BoxDecoration( + border: Border.all(color: Colors.black, width: 1), + ), + child: Stack( + children: [ + // 车 + Positioned( + bottom: 45, + left: 0, + width: imageW, + height: imageH, + child: const Image( + image: AssetImage( + 'images/mechinacs.png', + ), + ), + ), + + // 线 + Positioned( + top: lineTop, + left: isMobile ? 35 : 32, + width: 3, + height: controller.lineDis.value, + child: CustomPaint( + painter: LinePainter(), + ), + ), + // 锤 + Positioned( + left: isMobile ? 10 : 8, + top: lineTop + 110 + controller.distance.value, + width: 50, + height: hammerDis, + child: const Image(image: AssetImage('images/hammer.png')), + ), + // 钩 + Positioned( + top: lineTop + controller.lineDis.value, + left: isMobile ? 20 : 18, + width: 30, + height: hookDis, + child: const Image( + image: AssetImage('images/hook.png'), + fit: BoxFit.contain, + ), + ), + Positioned( + bottom: 20, + left: 35, + child: ElevatedButton( + style: ButtonStyle( + fixedSize: MaterialStateProperty.all(Size(200, 70)), + + backgroundColor: MaterialStateProperty.all( const Color.fromARGB(255, 226, 220, 220))), + + child: Text( + controller.isClick.value ? ' 暂停 ' : ' 开始 ', + style: TextStyle(fontSize: 28, + color: + controller.isClick.value ? Colors.red : Colors.green), + ), + onPressed: () => { + controller.isClick.value = !controller.isClick.value, + }, + ), + ) + // Positioned( + // bottom: 40, + // right: 30, + // child: ElevatedButton( + // child: + // const Text(" 暂停 ", style: TextStyle(color: Colors.red)), + // onPressed: () => null, + // ), + // ) + ], + ), + ); + }); + } +} + +class LinePainter extends CustomPainter { + @override + void paint(Canvas canvas, Size size) { + final paint = Paint() + ..color = Colors.black + ..strokeWidth = 3; + + // 绘制一条从顶部到底部的直线 + canvas.drawLine(Offset(0, 0), Offset(0, size.height), paint); + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) { + return false; + } +} diff --git a/lib/pages/pass_track/view.dart b/lib/pages/pass_track/view.dart index c983960..3c2b997 100644 --- a/lib/pages/pass_track/view.dart +++ b/lib/pages/pass_track/view.dart @@ -11,20 +11,34 @@ import 'package:scence_map/controllers/controller.dart'; import 'package:scence_map/record_entity.dart'; import 'package:scence_map/scence_map.dart'; import '../aim_point/aimpoint_controller.dart'; +import '../dataAndDevice/real_data.dart'; +import '../dataAndDevice/real_device.dart'; import '../real/real_data_card.dart'; + import "controller.dart"; ScenceMapController mapcontroller = Get.put(ScenceMapController()); -// class PassTrack extends StatefulWidget { -// final String date; -// final controller; - -// const PassTrack({super.key, required this.date, this.controller}); - -// @override -// State createState() => _PasstrackState(); -// } +class PassTackAndDevice extends StatelessWidget { + final RecordEntity? currentPoint; + PassTackAndDevice({this.currentPoint}); + @override + Widget build(BuildContext context) { + return Row( + children: [ + Expanded(flex: 2, child: RealDataContainer()), + Expanded( + flex: 5, + child: PassTrack(currentPoint: currentPoint), + ), + Expanded( + flex: 2, + child: RealDeviceView(), + ), + ], + ); + } +} // ignore: must_be_immutable class PassTrack extends GetView { @@ -62,7 +76,9 @@ class PassTrack extends GetView { controller, ) : null; + return OrientationBuilder(builder: (context, orientation) { + final size = MediaQuery.of(context).size; return Stack( children: [ ScenceMapView( @@ -79,8 +95,9 @@ class PassTrack extends GetView { }, children: const [], ), - const SightGview(), + SightGview(size:size), const RealDataShow(), + ], ); }); diff --git a/lib/service/base.dart b/lib/service/base.dart index fe2b63a..ae03fea 100644 --- a/lib/service/base.dart +++ b/lib/service/base.dart @@ -7,6 +7,7 @@ import 'package:cpnav/pages/setting/setting_controller.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:http/http.dart' as http; +import 'package:roslibdart/roslibdart.dart'; import '../main.dart'; import 'user/loginprefs.dart'; @@ -138,6 +139,11 @@ class BaseService { log("refreshToken error: $e"); } } + String rosUrl ="ws://192.168.1.90:9090"; + getRos(){ + Ros ros = Ros(url: rosUrl); + return ros; + } } class GetServices { diff --git a/plugins/quick_blue/example/pubspec.lock b/plugins/quick_blue/example/pubspec.lock index c75d834..7b6af50 100644 --- a/plugins/quick_blue/example/pubspec.lock +++ b/plugins/quick_blue/example/pubspec.lock @@ -6,7 +6,7 @@ packages: description: name: args sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.6.0" async: @@ -14,7 +14,7 @@ packages: description: name: async sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.11.0" bluez: @@ -22,7 +22,7 @@ packages: description: name: bluez sha256: "203a1924e818a9dd74af2b2c7a8f375ab8e5edf0e486bba8f90a0d8a17ed9fce" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.8.2" boolean_selector: @@ -30,7 +30,7 @@ packages: description: name: boolean_selector sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.1" characters: @@ -38,7 +38,7 @@ packages: description: name: characters sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.0" clock: @@ -46,7 +46,7 @@ packages: description: name: clock sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.1" collection: @@ -54,7 +54,7 @@ packages: description: name: collection sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.18.0" convert: @@ -62,7 +62,7 @@ packages: description: name: convert sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.2" cupertino_icons: @@ -70,7 +70,7 @@ packages: description: name: cupertino_icons sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.8" dbus: @@ -78,7 +78,7 @@ packages: description: name: dbus sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.7.10" fake_async: @@ -86,7 +86,7 @@ packages: description: name: fake_async sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.1" ffi: @@ -94,7 +94,7 @@ packages: description: name: ffi sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.3" flutter: @@ -107,7 +107,7 @@ packages: description: name: flutter_lints sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.3" flutter_test: @@ -120,7 +120,7 @@ packages: description: name: leak_tracker sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "10.0.5" leak_tracker_flutter_testing: @@ -128,7 +128,7 @@ packages: description: name: leak_tracker_flutter_testing sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.5" leak_tracker_testing: @@ -136,7 +136,7 @@ packages: description: name: leak_tracker_testing sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.1" lints: @@ -144,7 +144,7 @@ packages: description: name: lints sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.1" logging: @@ -152,7 +152,7 @@ packages: description: name: logging sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.0" matcher: @@ -160,7 +160,7 @@ packages: description: name: matcher sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.12.16+1" material_color_utilities: @@ -168,7 +168,7 @@ packages: description: name: material_color_utilities sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.11.1" meta: @@ -176,7 +176,7 @@ packages: description: name: meta sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.15.0" path: @@ -184,7 +184,7 @@ packages: description: name: path sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.9.0" petitparser: @@ -192,7 +192,7 @@ packages: description: name: petitparser sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.0.2" plugin_platform_interface: @@ -200,7 +200,7 @@ packages: description: name: plugin_platform_interface sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.8" quick_blue: @@ -220,7 +220,7 @@ packages: description: name: source_span sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.10.0" stack_trace: @@ -228,7 +228,7 @@ packages: description: name: stack_trace sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.11.1" stream_channel: @@ -236,7 +236,7 @@ packages: description: name: stream_channel sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.2" string_scanner: @@ -244,7 +244,7 @@ packages: description: name: string_scanner sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.0" term_glyph: @@ -252,7 +252,7 @@ packages: description: name: term_glyph sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: @@ -260,7 +260,7 @@ packages: description: name: test_api sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.7.2" typed_data: @@ -268,7 +268,7 @@ packages: description: name: typed_data sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.4.0" vector_math: @@ -276,23 +276,23 @@ packages: description: name: vector_math sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.4" vm_service: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.flutter-io.cn" + sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc + url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.2.4" xml: dependency: transitive description: name: xml sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.5.0" sdks: diff --git a/plugins/scence_map b/plugins/scence_map index 887a9ee..9b1ec3e 160000 --- a/plugins/scence_map +++ b/plugins/scence_map @@ -1 +1 @@ -Subproject commit 887a9eeaf57b8c757df93ed09cb2ce65999057ea +Subproject commit 9b1ec3ea2d0ee1e10f6ad2ee32482092972f5cfd diff --git a/pubspec.lock b/pubspec.lock index 0234fd7..021d099 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -6,7 +6,7 @@ packages: description: name: args sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.6.0" async: @@ -14,7 +14,7 @@ packages: description: name: async sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.11.0" bluez: @@ -22,7 +22,7 @@ packages: description: name: bluez sha256: "203a1924e818a9dd74af2b2c7a8f375ab8e5edf0e486bba8f90a0d8a17ed9fce" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.8.2" boolean_selector: @@ -30,23 +30,23 @@ packages: description: name: boolean_selector sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.1" bottom_picker: dependency: "direct main" description: name: bottom_picker - sha256: "7c690407c6c489bc7c556858c3f1b804aac73c3a128559f328cc829ba12983ad" - url: "https://pub.flutter-io.cn" + sha256: "5d52cf94cfe41e3cc448101552f9b2e9faa810e3609e18432280431fb7dd676a" + url: "https://pub.dev" source: hosted - version: "2.8.0" + version: "2.9.0" calendar_date_picker2: dependency: "direct main" description: name: calendar_date_picker2 sha256: "986955aea43081c8cf70fe01735ccdfe9a7041218b2be53ed92d5d4e639e8a1a" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.7" characters: @@ -54,7 +54,7 @@ packages: description: name: characters sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.0" clock: @@ -62,7 +62,7 @@ packages: description: name: clock sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.1" collection: @@ -70,7 +70,7 @@ packages: description: name: collection sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.18.0" convert: @@ -78,7 +78,7 @@ packages: description: name: convert sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.2" crypto: @@ -86,7 +86,7 @@ packages: description: name: crypto sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.6" cupertino_icons: @@ -94,7 +94,7 @@ packages: description: name: cupertino_icons sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.8" dart_webrtc: @@ -102,7 +102,7 @@ packages: description: name: dart_webrtc sha256: c664ad88d5646735753add421ee2118486c100febef5e92b7f59cdbabf6a51f6 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.4.9" data_table_2: @@ -110,7 +110,7 @@ packages: description: name: data_table_2 sha256: f02ec9b24f44420816a87370ff4f4e533e15b274f6267e4c9a88a585ad1a0473 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.5.15" dbus: @@ -118,7 +118,7 @@ packages: description: name: dbus sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.7.10" device_info_plus: @@ -126,7 +126,7 @@ packages: description: name: device_info_plus sha256: f545ffbadee826f26f2e1a0f0cbd667ae9a6011cc0f77c0f8f00a969655e6e95 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "11.1.1" device_info_plus_platform_interface: @@ -134,7 +134,7 @@ packages: description: name: device_info_plus_platform_interface sha256: "282d3cf731045a2feb66abfe61bbc40870ae50a3ed10a4d3d217556c35c8c2ba" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "7.0.1" dylib: @@ -142,7 +142,7 @@ packages: description: name: dylib sha256: bf609b3eb6492a3309b3d1dbe8f83a4031de5535dd7686be33487051cc760bb0 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.3.3" equatable: @@ -150,7 +150,7 @@ packages: description: name: equatable sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.5" fake_async: @@ -158,7 +158,7 @@ packages: description: name: fake_async sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.1" ffi: @@ -166,7 +166,7 @@ packages: description: name: ffi sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.3" file: @@ -174,7 +174,7 @@ packages: description: name: file sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "7.0.1" fl_chart: @@ -182,7 +182,7 @@ packages: description: name: fl_chart sha256: "94307bef3a324a0d329d3ab77b2f0c6e5ed739185ffc029ed28c0f9b019ea7ef" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.69.0" flutter: @@ -195,7 +195,7 @@ packages: description: name: flutter_lints sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.2" flutter_localizations: @@ -207,10 +207,10 @@ packages: dependency: "direct main" description: name: flutter_svg - sha256: de82e6bf958cec7190fbc1c5298282c851228e35ae2b14e2b103e7f777818c64 - url: "https://pub.flutter-io.cn" + sha256: "578bd8c508144fdaffd4f77b8ef2d8c523602275cd697cc3db284dbd762ef4ce" + url: "https://pub.dev" source: hosted - version: "2.0.13" + version: "2.0.14" flutter_test: dependency: "direct dev" description: flutter @@ -226,7 +226,7 @@ packages: description: name: flutter_webrtc sha256: "2f17fb96e0c9c6ff75f6b1c36d94755461fc7f36a5c28386f5ee5a18b98688c8" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.9.48+hotfix.1" get: @@ -234,7 +234,7 @@ packages: description: name: get sha256: e4e7335ede17452b391ed3b2ede016545706c01a02292a6c97619705e7d2a85e - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.6.6" get_storage: @@ -242,7 +242,7 @@ packages: description: name: get_storage sha256: "39db1fffe779d0c22b3a744376e86febe4ade43bf65e06eab5af707dc84185a2" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.1" gnss: @@ -259,7 +259,7 @@ packages: description: name: google_fonts sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.2.1" http: @@ -267,7 +267,7 @@ packages: description: name: http sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.2" http_parser: @@ -275,7 +275,7 @@ packages: description: name: http_parser sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.0.2" intl: @@ -283,7 +283,7 @@ packages: description: name: intl sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.19.0" js: @@ -291,7 +291,7 @@ packages: description: name: js sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.7.1" leak_tracker: @@ -299,7 +299,7 @@ packages: description: name: leak_tracker sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "10.0.5" leak_tracker_flutter_testing: @@ -307,7 +307,7 @@ packages: description: name: leak_tracker_flutter_testing sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.5" leak_tracker_testing: @@ -315,7 +315,7 @@ packages: description: name: leak_tracker_testing sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.1" libserialport: @@ -332,7 +332,7 @@ packages: description: name: lints sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.0" logging: @@ -340,7 +340,7 @@ packages: description: name: logging sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.0" matcher: @@ -348,7 +348,7 @@ packages: description: name: matcher sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.12.16+1" material_color_utilities: @@ -356,7 +356,7 @@ packages: description: name: material_color_utilities sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.11.1" meta: @@ -364,7 +364,7 @@ packages: description: name: meta sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.15.0" open_settings: @@ -372,7 +372,7 @@ packages: description: name: open_settings sha256: ceb716dc476352aecb939805b6fa6a593168a5ed1abfe3caa022b6b1715e94ae - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.2" path: @@ -380,7 +380,7 @@ packages: description: name: path sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.9.0" path_parsing: @@ -388,7 +388,7 @@ packages: description: name: path_parsing sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.0" path_provider: @@ -396,7 +396,7 @@ packages: description: name: path_provider sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.5" path_provider_android: @@ -404,7 +404,7 @@ packages: description: name: path_provider_android sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.2.12" path_provider_foundation: @@ -412,7 +412,7 @@ packages: description: name: path_provider_foundation sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.4.0" path_provider_linux: @@ -420,7 +420,7 @@ packages: description: name: path_provider_linux sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.2.1" path_provider_platform_interface: @@ -428,7 +428,7 @@ packages: description: name: path_provider_platform_interface sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.2" path_provider_windows: @@ -436,7 +436,7 @@ packages: description: name: path_provider_windows sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.3.0" permission_handler: @@ -444,7 +444,7 @@ packages: description: name: permission_handler sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "11.3.1" permission_handler_android: @@ -452,7 +452,7 @@ packages: description: name: permission_handler_android sha256: "71bbecfee799e65aff7c744761a57e817e73b738fedf62ab7afd5593da21f9f1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "12.0.13" permission_handler_apple: @@ -460,23 +460,23 @@ packages: description: name: permission_handler_apple sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "9.4.5" permission_handler_html: dependency: transitive description: name: permission_handler_html - sha256: af26edbbb1f2674af65a8f4b56e1a6f526156bc273d0e65dd8075fab51c78851 - url: "https://pub.flutter-io.cn" + sha256: "6b9cb54b7135073841a35513fba39e598b421702d5f4d92319992fd6eb5532a9" + url: "https://pub.dev" source: hosted - version: "0.1.3+2" + version: "0.1.3+4" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.2.3" permission_handler_windows: @@ -484,7 +484,7 @@ packages: description: name: permission_handler_windows sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.2.1" petitparser: @@ -492,7 +492,7 @@ packages: description: name: petitparser sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.0.2" platform: @@ -500,7 +500,7 @@ packages: description: name: platform sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.6" platform_detect: @@ -508,7 +508,7 @@ packages: description: name: platform_detect sha256: a62f99417fc4fa2d099ce0ccdbb1bd3977920f2a64292c326271f049d4bc3a4f - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.0" plugin_platform_interface: @@ -516,7 +516,7 @@ packages: description: name: plugin_platform_interface sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.8" pub_semver: @@ -524,7 +524,7 @@ packages: description: name: pub_semver sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.4" quick_blue: @@ -539,7 +539,7 @@ packages: description: name: roslibdart sha256: "7473a39947f3f5ee32b032f8bab5285a465449e5cd234ae486e5ea11bd6c9e3b" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.0.1-dev+4" scence_map: @@ -553,10 +553,10 @@ packages: dependency: "direct main" description: name: searchfield - sha256: "837721576ca1de1ce40c9841760e40cd7452d3068ea2a22a7b25d06133a7d989" - url: "https://pub.flutter-io.cn" + sha256: "6b657ee0cf943fc53bdf3cc68459231bdaba9b25ebac52a335f35079a68f2a7c" + url: "https://pub.dev" source: hosted - version: "1.1.7" + version: "1.1.8" sky_engine: dependency: transitive description: flutter @@ -567,7 +567,7 @@ packages: description: name: source_span sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.10.0" stack_trace: @@ -575,7 +575,7 @@ packages: description: name: stack_trace sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.11.1" stream_channel: @@ -583,7 +583,7 @@ packages: description: name: stream_channel sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.2" string_scanner: @@ -591,7 +591,7 @@ packages: description: name: string_scanner sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.0" syncfusion_flutter_core: @@ -599,7 +599,7 @@ packages: description: name: syncfusion_flutter_core sha256: "6e67726b85812afc7105725a23620b876ab7f6b04b8410e211330ffb8c2cdbe8" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "26.2.14" syncfusion_flutter_sliders: @@ -607,7 +607,7 @@ packages: description: name: syncfusion_flutter_sliders sha256: dca62b54b6b4f99efa1c34abfc54ce83854d7628e78118a1941a2f30d33ea4d5 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "26.2.14" synchronized: @@ -615,7 +615,7 @@ packages: description: name: synchronized sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.3.0+3" term_glyph: @@ -623,7 +623,7 @@ packages: description: name: term_glyph sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: @@ -631,7 +631,7 @@ packages: description: name: test_api sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.7.2" typed_data: @@ -639,7 +639,7 @@ packages: description: name: typed_data sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.4.0" vector_graphics: @@ -647,7 +647,7 @@ packages: description: name: vector_graphics sha256: "773c9522d66d523e1c7b25dfb95cc91c26a1e17b107039cfe147285e92de7878" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.14" vector_graphics_codec: @@ -655,39 +655,39 @@ packages: description: name: vector_graphics_codec sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.12" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: "26d520739b7c6b5d2a2b3274427874a8390831fd4cd5bb8cfbd7d913477d3a2e" - url: "https://pub.flutter-io.cn" + sha256: ab9ff38fc771e9ee1139320adbe3d18a60327370c218c60752068ebee4b49ab1 + url: "https://pub.dev" source: hosted - version: "1.1.14" + version: "1.1.15" vector_math: dependency: transitive description: name: vector_math sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.4" vm_service: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.flutter-io.cn" + sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc + url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.2.4" web: dependency: transitive description: name: web sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.0" web_socket_channel: @@ -695,7 +695,7 @@ packages: description: name: web_socket_channel sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.4.0" webrtc_interface: @@ -703,7 +703,7 @@ packages: description: name: webrtc_interface sha256: abec3ab7956bd5ac539cf34a42fa0c82ea26675847c0966bb85160400eea9388 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.0" wifi_iot: @@ -711,7 +711,7 @@ packages: description: name: wifi_iot sha256: "4a3301f71663a908bb50ffe6d9dc9e8b8383fab48368accf978409bde96e9aca" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.3.19+1" wifi_scan: @@ -719,7 +719,7 @@ packages: description: name: wifi_scan sha256: "9a9df688d3e71c39edcd861e6d50beb63815d5505d3884867d75f93e49d66363" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.4.1+1" win32: @@ -727,7 +727,7 @@ packages: description: name: win32 sha256: "84ba388638ed7a8cb3445a320c8273136ab2631cd5f2c57888335504ddab1bc2" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "5.8.0" win32_registry: @@ -735,7 +735,7 @@ packages: description: name: win32_registry sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.5" xdg_directories: @@ -743,7 +743,7 @@ packages: description: name: xdg_directories sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.0" xml: @@ -751,7 +751,7 @@ packages: description: name: xml sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.5.0" sdks: diff --git a/pubspec.yaml b/pubspec.yaml index f3613f2..268a6b8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -94,6 +94,9 @@ flutter: - images/navi_pointer.png - images/satellite.png - images/pilerCar.png + - images/hammer.png + - images/hook.png + - images/mechinacs.png # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware