警告处理

This commit is contained in:
刘媛 2024-11-06 17:23:29 +08:00
parent f41e6a8c96
commit 0c480a2d5b
46 changed files with 602 additions and 548 deletions

View File

@ -1,17 +1,17 @@
# This is a generated file; do not edit or check into version control.
flutter_webrtc=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\flutter_webrtc-0.9.48+hotfix.1\\
flutter_webrtc=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\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.dev\\open_settings-2.0.2\\
path_provider=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\path_provider-2.1.4\\
path_provider_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\path_provider_android-2.2.10\\
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.12\\
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+2\\
permission_handler_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.dev\\permission_handler_windows-0.2.1\\
quick_blue=D:\\workspace\\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\\
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\\pile_nav_new\\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\\

File diff suppressed because one or more lines are too long

View File

@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip

View File

@ -1,9 +1,8 @@
import 'package:cpnav/pages/aim_point/aimpoint_page.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'main.dart';
import 'pages/aim_point/aimpointController.dart';
import 'pages/real/realController.dart';
import 'pages/aim_point/aimpoint_controller.dart';
import 'pages/real/real_controller.dart';
final AimPointerController aimcontroller = Get.find();
final RealController realcontroller = Get.find();
@ -15,6 +14,7 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
final isCardVisible = false.obs;
final isDataVisible = false.obs;
CustomAppBar({
super.key,
required this.appBarHeight,
required RxInt currentIndex,
}) : _currentIndex = currentIndex;
@ -36,6 +36,7 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
return const Text("系统:", style: textStyle);
}
}),
leading: null,
// title: _currentIndex.value == 0
// ? Obx(() => Text("桩点:${realController.pileId.value}",
// style: textStyle))

View File

@ -1,14 +1,14 @@
import 'dart:async';
import 'dart:math';
import 'dart:developer' as dev;
import 'dart:ui';
import 'package:cpnav/pages/aim_point/aimpoint_page.dart';
import 'package:get/get.dart';
import 'package:gnss/gnss.dart';
import 'package:scence_map/controllers/controller.dart';
import 'package:scence_map/record_entity.dart';
import '../models/pilePoint/coord_trans.dart';
import '../pages/aim_point/aimpointController.dart';
import '../pages/aim_point/aimpoint_controller.dart';
class GnssController extends GetxController {
late final Gnss gnss;
@ -46,14 +46,14 @@ class GnssController extends GetxController {
aimcontroller.selectedPilePoint!.x, aimcontroller.selectedPilePoint!.y);
if (mapController.calculateDistance(pilerCenterPoint, offset) < 1.9) {
if (!aimcontroller.isCardVisible.value) {
print("距离小于1m");
dev.log("距离小于1m");
aimcontroller.isCardVisible.value = true;
} else {
return null;
}
} else {
if (!aimcontroller.isCardVisible.value) {
print("距离大于1m");
dev.log("距离大于1m");
return null;
} else {
aimcontroller.isCardVisible.value = false;
@ -69,7 +69,7 @@ class GnssController extends GetxController {
aimcontroller = Get.find<AimPointerController>();
device = DeviceItem(
name: 'GNSS',
TID: 1001,
tid: 1001,
type: 2,
height: 3.0,
width: 3.0,
@ -87,7 +87,7 @@ class GnssController extends GetxController {
// pilerCenter = Pos3D(4196544.959, 517639.709, 0.0);
//
timer = Timer.periodic(Duration(seconds: 1), (Timer timer) {
timer = Timer.periodic(const Duration(seconds: 1), (Timer timer) {
if (lastPilePoint != aimcontroller.selectedPilePoint) {
lastPilePoint = aimcontroller.selectedPilePoint;
if (aimcontroller.selectedPilePoint != null) {
@ -128,12 +128,12 @@ class GnssController extends GetxController {
gnss.start();
gnss.locationStream.listen((location) {
locationData = location;
// print(locationData);
// log(locationData);
// var xyh = coordTrans.d2p(CoordBLH(
// B: location.latitude, L: location.longitude, H: location.altitude));
// pilerCenter = pilerCenterPoint.pilerPos3D(xyh, location.heading,
// location.pitch, location.baseLength, offsetangle.value);
// print(
// log(
// 'X: ${pilerCenter.X}, Y: ${pilerCenter.Y}, Rotation: ${pilerCenter.rotation}');
// CheckDistance();
locationUpdate.value++;

View File

@ -1,21 +1,18 @@
import 'package:cpnav/controllers/appcontroller.dart';
import 'package:cpnav/controllers/gnss_Controller.dart';
import 'package:cpnav/controllers/gnss_controller.dart';
import 'package:cpnav/pages/setting/child_pages/antenna/antenna_setting.dart';
import 'package:cpnav/pages/task/task_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:scence_map/controllers/controller.dart';
import 'package:scence_map/controllers/plumController.dart';
import 'package:scence_map/controllers/plum_controller.dart';
import 'appbar.dart';
import 'pages/aim_point/aimpointController.dart';
import 'pages/aim_point/aimpoint_controller.dart';
import 'pages/history/history_record.dart';
import 'pages/login/login_page.dart';
import 'pages/login/my_routes.dart';
import 'pages/pass_track/view.dart';
import 'pages/setting/child_pages/XyChange/xy_change.dart';
import 'pages/setting/child_pages/persondetail/person_details.dart';
import 'pages/task/pile/pileNav/view.dart';
// import 'pages/pile/rightDra/pileGenerate.dart';
import 'pages/real/index.dart';
import 'pages/setting/child_pages/XyChange/connect.dart';
@ -41,7 +38,7 @@ void main() async {
await loginPrefs.init(); // await await等待异步方法执行完毕
if ('ok' == value) {
connect.init();
loginPrefs.removeToken(); //
// loginPrefs.removeToken(); //
runApp(const MyApp());
}
}
@ -57,7 +54,7 @@ class MyApp extends StatelessWidget {
? ThemeData.dark()
: ThemeData.light(),
debugShowCheckedModeBanner: false,
home: MyHomePage(title: 'Flutter Demo Home Page'),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
initialRoute: "home",
onGenerateRoute: onGenerateRoute,
);
@ -77,18 +74,16 @@ class _MyHomePageState extends State<MyHomePage> {
late double appBarHeight = 34.0;
final List<Widget> _pages = [
Real(),
const Real(),
PassTrack(
// date: '',
),
TaskManagePage(),
HistoryRecord(),
SettingPortrait()
const TaskManagePage(),
const HistoryRecord(),
const SettingPortrait()
];
@override
Widget build(BuildContext context) {
final size = MediaQuery.of(context).size;
return Scaffold(
resizeToAvoidBottomInset: false,
drawerEdgeDragWidth: 0.0, // drawer

View File

@ -110,6 +110,7 @@ class TransOptions {
String? dstEllipsoid; //
double? zoneWidth; //线
double? elevation; //
int? type = 7; //7
TransOptions({
this.L0,
this.dstEllipsoid,
@ -123,6 +124,7 @@ class TransOptions {
this.ry,
this.rz,
this.srcEllipsoid,
this.type,
});
}
@ -135,6 +137,8 @@ class CoordTrans {
late Ellipsoid srcEllipsoid; //
late Ellipsoid dstEllipsoid; //
late TransParm transParm; //7
late int isMainBelt;
int Type = 7;
CoordTrans(TransOptions options) {
transParm = TransParm(options);
L0 = options.L0 ?? 0;
@ -142,6 +146,7 @@ class CoordTrans {
srcEllipsoid = Ellipsoid(options.srcEllipsoid ?? 'WGS84');
dstEllipsoid = Ellipsoid(options.dstEllipsoid ?? 'WGS2000');
zoneWidth = options.zoneWidth ?? 3;
Type = options.type ?? 7;
}
CoordXYH GPS2XY(CoordGPS gps) {
@ -154,11 +159,19 @@ class CoordTrans {
CoordXYZ xzj = XYZ2XYZ(zj);
CoordBLH xdd = XYZ2BLH(xzj);
CoordXYH xpm = BL2XY(xdd);
if (Type == 4) {
xpm.X = xpm.X + transParm.dx;
xpm.Y = xpm.Y + transParm.dy;
}
return xpm;
}
//
CoordBLH p2d(CoordXYH xyh) {
if (Type == 4) {
xyh.X = xyh.X - transParm.dx;
xyh.Y = xyh.Y - transParm.dy;
}
CoordBLH bl = XY2BL(xyh, true);
CoordXYZ zj = BLH2XYZ(bl, true);
CoordXYZ xzj = XYZ2XYZ(zj, true);
@ -168,7 +181,7 @@ class CoordTrans {
setZoneWidth(width) {
if (width != 6 && width != 3) {
// print('带宽应当为6或者为3');
// log('带宽应当为6或者为3');
} else {
zoneWidth = width;
}
@ -233,6 +246,14 @@ class CoordTrans {
double dX = transParm.dx;
double dY = transParm.dy;
double dZ = transParm.dz;
if (Type == 4) {
dX = 0;
dY = 0;
dZ = 0;
transParm.rx = 0;
transParm.ry = 0;
transParm.rz = 0;
}
double rX = transParm.rx / 3600 / 180 * pi;
double rY = transParm.ry / 3600 / 180 * pi;
double rZ = transParm.rz / 3600 / 180 * pi;

View File

@ -1,31 +1,33 @@
import 'dart:async';
import 'dart:math';
import 'dart:ui' as ui;
import 'dart:developer' as dev;
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:scence_map/controllers/controller.dart';
import '../../controllers/appcontroller.dart';
import '../../controllers/gnss_Controller.dart';
import '../../controllers/gnss_controller.dart';
import '../../service/pile/device_type.dart';
import 'aimpointController.dart';
import 'aimpoint_controller.dart';
final AimPointerController aimcontroller = Get.put(AimPointerController());
final ScenceMapController mapcontroller = Get.put(ScenceMapController());
final GnssController gnsscontroller = Get.put(GnssController());
// ignore: must_be_immutable
class AimPointer extends GetView<AimPointerController> {
String gradienter = "0"; //
String gradienter = "0";
AimPointer({super.key}); //
@override
Widget build(BuildContext context) {
final Size size = MediaQuery.of(context).size;
MediaQueryData mediaQueryData =
MediaQueryData.fromView(WidgetsBinding.instance.window); //
final mediaQueryData = MediaQueryData.fromView(View.of(context)); //
final orientation = mediaQueryData.orientation; //
bool isPortrait = Orientation.portrait == orientation ? true : false;
double rectWidth = size.width;
final deviceType = getDeviceType(context);
final appcontroller = Get.put(AppController());
Get.put(AppController());
if (orientation == Orientation.landscape) {
rectWidth = size.width / 2 - 60;
if (deviceType == DeviceType.mobile) {
@ -45,7 +47,7 @@ class AimPointer extends GetView<AimPointerController> {
child: Card(
clipBehavior: Clip.antiAlias,
shape: RoundedRectangleBorder(
side: BorderSide(color: Colors.transparent, width: 0),
side: const BorderSide(color: Colors.transparent, width: 0),
borderRadius: BorderRadius.circular(4.0), //
),
@ -110,8 +112,9 @@ class AimPointer extends GetView<AimPointerController> {
Obx(() {
var pixel2MeterRatio =
aimcontroller.plot.value * 2 / rectWidth;
if (aimcontroller.selectedPilePoint != null)
if (aimcontroller.selectedPilePoint != null) {
gnsscontroller.device.update.value;
}
if (aimcontroller.selectedPilePoint != null) {
var dx = (gnsscontroller.device.x -
aimcontroller.selectedPilePoint!.x);
@ -132,8 +135,8 @@ class AimPointer extends GetView<AimPointerController> {
-dx * sin(-mapcontroller.rotation.value) +
dy * cos(-mapcontroller.rotation.value);
// aimcontroller.positionUpdate.value++;
print("dx:$dx,dy:$dy");
print(
dev.log("dx:$dx,dy:$dy");
dev.log(
"left:${aimcontroller.x.value},top:${aimcontroller.y.value}");
}
@ -160,7 +163,7 @@ class AimPointer extends GetView<AimPointerController> {
"images/navi_pointer.png",
errorBuilder:
(context, error, stackTrace) {
return Text('无法加载图片');
return const Text('无法加载图片');
},
),
),
@ -285,7 +288,7 @@ class DrawAxis extends CustomPainter {
// //
// double x = real.tiltX.value; //
// double y = real.tiltY.value; //
// print("----${real.centerX.value},${real.centerY.value}");
// log("----${real.centerX.value},${real.centerY.value}");
// if (real.tiltX.value == 0 || real.tiltY.value == 0) {
// x = 0;
// y = 0;
@ -329,13 +332,12 @@ class DrawAxis extends CustomPainter {
//
class SightGview extends StatelessWidget {
const SightGview();
const SightGview({super.key});
@override
Widget build(BuildContext context) {
final Size size = MediaQuery.of(context).size;
MediaQueryData mediaQueryData =
MediaQueryData.fromView(WidgetsBinding.instance.window); //
final mediaQueryData = MediaQueryData.fromView(View.of(context)); //
final orientation = mediaQueryData.orientation; //
double rectWidth = size.width;
final deviceType = getDeviceType(context);

View File

@ -33,7 +33,7 @@ class _CanlenderSelectState extends State<CanlenderSelect> {
if (!_initialized &&
oldWidget.constructionData != widget.constructionData) {
setState(() {
// print(widget.constructionData?.first);
// log(widget.constructionData?.first);
if (widget.constructionData.isNotEmpty) {
_dialogCalendarPickerValue = [
DateTime.parse(widget.constructionData.first)
@ -203,7 +203,7 @@ class _CanlenderSelectState extends State<CanlenderSelect> {
);
if (values != null) {
// ignore: avoid_print
// print(_getValueText(
// log(_getValueText(
// config.calendarType,
// values,
// ));

View File

@ -1,6 +1,5 @@
import 'package:data_table_2/data_table_2.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class PageNumber extends StatefulWidget {
const PageNumber({
@ -39,7 +38,7 @@ class PageNumberState extends State<PageNumber> {
// with AsyncPaginatedDatatable2 the widget is instatiotaed once
// though it's state is created 3 times upon first loading
// of the Custom pager example
// print(identityHashCode(this));
// log(identityHashCode(this));
return Text(widget._controller.isAttached
? 'Page: ${1 + ((widget._controller.currentRowIndex + 1) / widget._controller.rowsPerPage).floor()} of '
'${(widget._controller.rowCount / widget._controller.rowsPerPage).ceil()}'

View File

@ -8,7 +8,7 @@ import '../../service/base.dart';
import 'component/canlender_select.dart';
import 'component/custom_pager.dart';
import 'record_data_source.dart';
import 'tableCol.dart';
import 'table_col.dart';
// import 'record_data_source.dart'; // bug proj_type

View File

@ -14,11 +14,11 @@ class RecordDataSourceAsync extends AsyncDataTableSource {
BuildContext context;
final RecordFakeWebService _repo = RecordFakeWebService();
RecordDataSourceAsync(this.size, this.date, this.context) {
// print(' created');
// log(' created');
}
RecordDataSourceAsync.empty(this.size, this.date, this.context) {
_empty = true;
// print('empty created');
// log('empty created');
}
String _sortColumn = "tp_id";
@ -32,7 +32,7 @@ class RecordDataSourceAsync extends AsyncDataTableSource {
@override
Future<AsyncRowsResponse> getRows(int startIndex, int count) async {
// print('getRows($startIndex, $count)');
// log('getRows($startIndex, $count)');
page = startIndex ~/ count + 1;
var data = await GetServices()

View File

@ -1,14 +1,13 @@
import 'dart:async';
import 'package:get/get.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:cpnav/service/base.dart';
import '../../service/user/loginprefs.dart';
class LoginPageController extends GetxController
with SingleGetTickerProviderMixin {
with GetSingleTickerProviderStateMixin {
late TabController _tabController;
@override
@ -208,7 +207,7 @@ class AccountLoginPage extends GetView<AccountLoginController> {
controller.svgString.value,
width: 70, //
height: 40, //
color: Colors.black,
// color: Colors.black,
)
: const Text("")))
],
@ -231,9 +230,11 @@ class AccountLoginPage extends GetView<AccountLoginController> {
} else {
loginPrefs.saveExpire((res["data"]["expire"]));
loginPrefs.saveToken((res["data"]["token"]));
if (context.mounted) {
Navigator.pushNamed(context, 'home'); //
}
}
}
},
child: const Text('登录'),
)

View File

@ -11,7 +11,7 @@ import 'login_page.dart';
*/
Route<dynamic>? onGenerateRoute(RouteSettings settings) {
Map<String, Widget> routes = {
'home': MyHomePage(title: 'Flutter Demo Home Page'), //app路径
'home': const MyHomePage(title: 'Flutter Demo Home Page'), //app路径
'login': const Login(), //login路径
};

View File

@ -27,7 +27,7 @@ class PassTrackController extends GetxController {
var binddevices = await service.getDeviceBind();
for (var device in binddevices) {
var dev = DeviceItem.fromJson(device);
mapController.deviceList[dev.TID] = dev;
mapController.deviceList[dev.tid] = dev;
}
}

View File

@ -1,20 +1,16 @@
//
import 'package:bottom_picker/resources/arrays.dart';
import 'package:cpnav/controllers/gnss_Controller.dart';
import 'dart:developer';
import 'package:cpnav/controllers/gnss_controller.dart';
import 'package:cpnav/main.dart';
import 'package:cpnav/pages/aim_point/aimpoint_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter/widgets.dart';
import 'package:get/get.dart';
import 'package:scence_map/controllers/controller.dart';
import 'package:scence_map/record_entity.dart';
import 'package:scence_map/scence_map.dart';
import 'package:syncfusion_flutter_sliders/sliders.dart';
import '../aim_point/aimpointController.dart';
import '../real/realDataCard.dart';
import '../aim_point/aimpoint_controller.dart';
import '../real/real_data_card.dart';
import "controller.dart";
ScenceMapController mapcontroller = Get.put(ScenceMapController());
@ -30,17 +26,20 @@ ScenceMapController mapcontroller = Get.put(ScenceMapController());
// }
class PassTrack extends GetView<PassTrackController> {
final GlobalKey<PopupMenuButtonState<int>> _popupMenuKey =
GlobalKey<PopupMenuButtonState<int>>();
// final GlobalKey<PopupMenuButtonState<int>> _popupMenuKey =
// GlobalKey<PopupMenuButtonState<int>>();
@override
final controller = Get.put(PassTrackController("TEST", "pile_cm"));
final aimcontroller = Get.find<AimPointerController>();
String str = "播放";
int sWidth = 0;
int bits = -1;
int speed = 50;
List<int> speedList = [1, 2, 10, 20, 50, 100, 200, 500];
int maxLength = 200;
SfRangeValues _rangevalues = const SfRangeValues(0.0, 200.0);
// String str = "播放";
// int sWidth = 0;
// int bits = -1;
// int speed = 50;
// List<int> speedList = [1, 2, 10, 20, 50, 100, 200, 500];
// int maxLength = 200;
// final _rangevalues = const SfRangeValues(0.0, 200.0);
PassTrack({super.key});
// @override
// initState() {
@ -86,7 +85,7 @@ class PassTrack extends GetView<PassTrackController> {
// }
// await passTrackPlugin.create(sWidth, sWidth);
// fileHandle.textureId = await passTrackPlugin.getTextureId() ?? -1;
// print("textureId: ${fileHandle.textureId}");
// log("textureId: ${fileHandle.textureId}");
// if (!mounted) return;
@ -101,23 +100,23 @@ class PassTrack extends GetView<PassTrackController> {
return Stack(
children: [
ScenceMapView(
children: [],
onUpdate: (Offset center, double scale, double rotation) {
print("center:$center scale:$scale rotation:$rotation");
log("center:$center scale:$scale rotation:$rotation");
},
forGroundPainter: appcontroller.currentIndex.value == 1
? BorderPainter(controller)
: null,
onUpdatePilePoint: (RecordEntity? selectedPilePoint, double scale,
double rotation) {
print(
log(
"selectedPilePoint:$selectedPilePoint scale:$scale rotation:$rotation");
controller.selectedPilePoint = selectedPilePoint;
aimcontroller.selectedPilePoint = selectedPilePoint;
},
children: const [],
),
SightGview(),
RealDataShow(),
const SightGview(),
const RealDataShow(),
],
);
});

View File

@ -1,5 +1,5 @@
import 'dart:math';
import 'dart:developer' as dev;
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter/services.dart';
@ -56,7 +56,7 @@ class _ProcessChartState extends State<ProcessChart> {
});
});
} catch (e) {
print('错误:$e');
dev.log("错误");
setState(() {
processList = [];
});

View File

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'line_chart.dart';
import 'realController.dart';
import 'real_controller.dart';
import 'real_data.dart';

View File

@ -7,7 +7,7 @@ import 'package:intl/intl.dart';
import 'component/chart.dart';
import 'process.dart';
import 'realController.dart';
import 'real_controller.dart';

View File

@ -1,7 +1,7 @@
import 'dart:typed_data';
import 'dart:ui';
import 'package:get/get.dart';
import 'package:flutter_webrtc/flutter_webrtc.dart';
// import 'package:flutter_webrtc/flutter_webrtc.dart';
import 'process.dart';
@ -19,8 +19,8 @@ class RealController extends GetxController {
update();
}
RTCPeerConnection? peerConnection;
RTCDataChannel? dataChannel;
// RTCPeerConnection? peerConnection;
// RTCDataChannel? dataChannel;
final speed = 0.0.obs;
final depth = 0.0.obs;
final tiltX = 0.0.obs;
@ -71,28 +71,28 @@ class RealController extends GetxController {
}
void initializePeerConnection() async {
final configuration = <String, dynamic>{
'iceServers': [
{'url': 'stun:stun.l.google.com:19302'},
],
};
peerConnection = await createPeerConnection(configuration);
initializeDataChannel();
// final configuration = <String, dynamic>{
// 'iceServers': [
// {'url': 'stun:stun.l.google.com:19302'},
// ],
// };
// peerConnection = await createPeerConnection(configuration);
// initializeDataChannel();
}
void initializeDataChannel() async {
//
dataChannel = await peerConnection!
.createDataChannel('dataChannel', RTCDataChannelInit()..id = 1);
// void initializeDataChannel() async {
// //
// dataChannel = await peerConnection!
// .createDataChannel('dataChannel', RTCDataChannelInit()..id = 1);
//
dataChannel!.onMessage = (RTCDataChannelMessage message) {
//
if (message.isBinary) {
onBleData(message.binary);
}
};
}
// //
// dataChannel!.onMessage = (RTCDataChannelMessage message) {
// //
// if (message.isBinary) {
// onBleData(message.binary);
// }
// };
// }
onBleData(Uint8List data) {
ByteData byteData = data.buffer.asByteData();
@ -101,7 +101,7 @@ class RealController extends GetxController {
if (tag == 161) {
speed.value = byteData.getInt16(2, Endian.little) * 0.1;
int timeInt = byteData.getUint16(4, Endian.little);
// print(timeInt);
// log(timeInt);
time.value = convertSecondsToMinSec(timeInt);
depth.value = byteData.getInt16(6, Endian.little) * 0.001;
pileId.value = byteData.getUint16(8, Endian.little).toString();
@ -126,12 +126,12 @@ class RealController extends GetxController {
//
centerX.value = byteData.getFloat64(44, Endian.little);
centerY.value = byteData.getFloat64(52, Endian.little);
// print("中心---$centerX,$centerY");
// log("中心---$centerX,$centerY");
// tiltX.value = byteData.getFloat64(44, Endian.little);
// tiltY.value = byteData.getFloat64(52, Endian.little);
// var direction = byteData.getFloat64(60, Endian.little);
// var pitch = byteData.getFloat64(68, Endian.little);
// print("$gpsUse,$gpsView,$utc,$direction,$pitch");
// log("$gpsUse,$gpsView,$utc,$direction,$pitch");
}
}
}
@ -147,8 +147,8 @@ class RealController extends GetxController {
@override
void dispose() {
dataChannel?.close(); //
peerConnection?.close(); //
// dataChannel?.close(); //
// peerConnection?.close(); //
super.dispose();
}
}

View File

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../service/pile/device_type.dart';
import 'realController.dart';
import 'real_controller.dart';
class RealItem extends StatelessWidget {
final int flex;

View File

@ -1,9 +1,8 @@
//
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:get/get.dart';
import 'realController.dart';
import 'real_controller.dart';
class RealDataShow extends StatelessWidget {
const RealDataShow({super.key});
@ -83,37 +82,37 @@ class RealDataShow extends StatelessWidget {
)))));
}
Widget _buildCard(BuildContext context, double width, double height) {
final RealController controller1 = Get.find();
// Widget _buildCard(BuildContext context, double width, double height) {
// final RealController controller1 = Get.find();
return Container(
decoration: const BoxDecoration(color: Color.fromARGB(0, 214, 133, 133)),
child: Card(
elevation: 5.0,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("实时数据"),
IconButton(
icon: const Icon(Icons.close),
onPressed: () {
controller1.isDataVisible.value = false;
},
),
],
),
..._buildRealTimeDataList(context),
],
),
),
),
);
}
// return Container(
// decoration: const BoxDecoration(color: Color.fromARGB(0, 214, 133, 133)),
// child: Card(
// elevation: 5.0,
// child: Padding(
// padding: const EdgeInsets.all(8.0),
// child: Column(
// mainAxisSize: MainAxisSize.min,
// children: [
// Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
// children: [
// const Text("实时数据"),
// IconButton(
// icon: const Icon(Icons.close),
// onPressed: () {
// controller1.isDataVisible.value = false;
// },
// ),
// ],
// ),
// ..._buildRealTimeDataList(context),
// ],
// ),
// ),
// ),
// );
// }
List<Widget> _buildRealTimeDataList(BuildContext context) {
//

View File

@ -1,11 +1,12 @@
import 'dart:developer';
import 'dart:typed_data';
import 'package:flutter/material.dart';
import '../connect/bluetooth_page.dart';
import '../connect/config/SocketSetting.dart';
import '../connect/config/socket_setting.dart';
import '../connect/config/app_config.dart';
import '../connect/config/blueParams.dart';
import '../connect/config/blue_params.dart';
import '../connect/config/connect_type.dart';
import 'coor_trans.dart';
@ -58,7 +59,7 @@ class Connect {
ConnectType.bluetooth) {
blueSetting.write(blueToothController.connectedDeviceID.value, value);
} else {
print("暂无连接");
log("暂无连接");
}
}

View File

@ -17,8 +17,9 @@ class CoorTransModel {
String name;
double rota;
String srcEllipsoid;
CoorTransModel({
required this.name,
int? type;
CoorTransModel(
{required this.name,
// ignore: non_constant_identifier_names
required this.L0,
required this.belt,
@ -36,7 +37,7 @@ class CoorTransModel {
required this.isMain,
required this.rota,
required this.srcEllipsoid,
});
this.type});
factory CoorTransModel.fromJson(Map<dynamic, dynamic> data) {
return CoorTransModel(
name: data['name'],
@ -56,7 +57,7 @@ class CoorTransModel {
isMain: data['is_main'],
elevation: data['elevation'].toDouble(),
srcEllipsoid: data['srcEllipsoid'],
);
type: data['type'] ?? 7);
}
void forEach(Null Function(dynamic key, dynamic value) param0) {}

View File

@ -1,11 +1,13 @@
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:get/get.dart';
import '../../../../service/base.dart';
import '../../../../service/pile/device_type.dart';
import '../connect/config/blueParams.dart';
import '../connect/controllers/blueToothController.dart';
import '../connect/config/blue_params.dart';
import '../connect/controllers/blue_tooth_controller.dart';
import 'connect.dart';
import 'coor_trans.dart';
@ -50,7 +52,7 @@ BlueSetting blueSetting = BlueSetting();
// coorTrans = CoorTransModel.fromJson(mianBelt);
// setState(() {});
// } else {
// print("当前项目没有设置中央子午线");
// log("当前项目没有设置中央子午线");
// return;
// }
// });
@ -274,6 +276,8 @@ class XyChangeView extends StatelessWidget {
text: _controller.coorTrans.value.L0.toString());
TextEditingController elevationController = TextEditingController(
text: _controller.coorTrans.value.elevation.toString());
TextEditingController typeController = TextEditingController(
text: _controller.coorTrans.value.type.toString());
TextEditingController dxController = TextEditingController(
text: _controller.coorTrans.value.dx.toString());
TextEditingController dyController = TextEditingController(
@ -314,6 +318,18 @@ class XyChangeView extends StatelessWidget {
// _controller.coorTrans.value.L0 =(value);
},
)),
Flexible(
child: TextFormField(
keyboardType: TextInputType.number,
controller: typeController,
decoration: const InputDecoration(
border: InputBorder.none,
prefixText: '参数设置:',
),
onChanged: (String value) {
// _controller.coorTrans.value.L0 =(value);
},
))
];
List<Widget> list2 = [
Flexible(
@ -342,7 +358,8 @@ class XyChangeView extends StatelessWidget {
},
)),
const Divider(),
Flexible(
_controller.coorTrans.value.type == 4
? Flexible(
child: TextFormField(
keyboardType: TextInputType.number,
controller: dzController,
@ -353,7 +370,8 @@ class XyChangeView extends StatelessWidget {
onChanged: (String value) {
// _controller.coorTrans.value.L0 =(value);
},
)),
))
: const Text(""),
const Divider(),
];
List<Widget> list3 = [
@ -383,7 +401,8 @@ class XyChangeView extends StatelessWidget {
},
)),
const Divider(),
Flexible(
_controller.coorTrans.value.type == 4
? Flexible(
child: TextFormField(
keyboardType: TextInputType.number,
controller: wzController,
@ -394,7 +413,8 @@ class XyChangeView extends StatelessWidget {
onChanged: (String value) {
// _controller.coorTrans.value.L0 =(value);
},
)),
))
: const Text(""),
const Divider(),
];
@ -422,7 +442,8 @@ class XyChangeView extends StatelessWidget {
children: list3,
),
const Divider(),
SizedBox(
_controller.coorTrans.value.type == 4
? SizedBox(
child: TextFormField(
keyboardType: TextInputType.number,
controller: kController,
@ -433,7 +454,8 @@ class XyChangeView extends StatelessWidget {
onChanged: (String value) {
// _controller.coorTrans.value.L0 =(value);
},
)),
))
: const Text(""),
const Divider(),
TextButton(
onPressed: () {
@ -469,7 +491,8 @@ class XYChangeController extends GetxController {
isMain: 0,
rota: 0,
srcEllipsoid: "",
).obs;
type: 7)
.obs;
@override
void onInit() {
@ -481,7 +504,7 @@ class XYChangeController extends GetxController {
coordTransmap.firstWhere((element) => element['belt'] == 'main');
coorTrans.value = CoorTransModel.fromJson(mianBelt);
} else {
print("当前项目没有设置中央子午线");
log("当前项目没有设置中央子午线");
}
});
}

View File

@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../XyChange/connect.dart';
import '../connect/config/blueParams.dart';
import '../connect/controllers/blueToothController.dart';
import '../connect/config/blue_params.dart';
import '../connect/controllers/blue_tooth_controller.dart';
final BlueToothController blueToothController = Get.put(BlueToothController());
BlueSetting blueSetting = BlueSetting();

View File

@ -1,4 +1,5 @@
import 'dart:async';
import 'dart:developer';
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
@ -7,10 +8,10 @@ import 'package:get/get.dart';
import 'package:open_settings/open_settings.dart';
import 'package:permission_handler/permission_handler.dart';
import '../../../real/realController.dart';
import '../../../real/real_controller.dart';
import 'config/app_config.dart';
import 'config/blueParams.dart';
import 'controllers/blueToothController.dart';
import 'config/blue_params.dart';
import 'controllers/blue_tooth_controller.dart';
BlueParams blueParams = BlueParams();
BlueSetting blueSetting = BlueSetting();
@ -126,7 +127,7 @@ class _BlueToothState extends State<BlueTooth> {
_scanResults.length = 0;
//
QuickBlue.availabilityChangeStream.listen((AvailabilityState state) {
debugPrint('Bluetooth state: ${state.toString()}');
log('Bluetooth state: ${state.toString()}');
});
//
@ -279,7 +280,7 @@ class _BlueToothState extends State<BlueTooth> {
blueParams.gssUuid("FF02"), BleInputProperty.indication);
}
print('_handleServiceDiscovery $deviceId, $serviceId, $characteristicIds');
log('_handleServiceDiscovery $deviceId, $serviceId, $characteristicIds');
}
List<Uint8List> originalList = [];

View File

@ -21,12 +21,12 @@ class SocketSetting {
// socket!.listen(
// (Uint8List data) {
// realController.onBleData(data);
// // print('收到服务器回复:$data');
// // log('收到服务器回复:$data');
// },
// onError: (error) async {
// disConnect();
// print('与服务器的连接发生错误:$error');
// log('与服务器的连接发生错误:$error');
// socket = await Socket.connect(ip, port);
// return;
// },
@ -34,12 +34,12 @@ class SocketSetting {
// //
// socket!.done.then((_) {
// print('与服务器的连接已断开');
// log('与服务器的连接已断开');
// disConnect();
// });
// } catch (e) {
// print("----------$e");
// log("----------$e");
// disConnect();
// }
@ -60,7 +60,7 @@ class SocketSetting {
Datagram? dg = socket!.receive();
if (dg != null) {
realController.onBleData(dg.data);
// print('${dg.address.address}:${dg.port} 接收:');
// log('${dg.address.address}:${dg.port} 接收:');
//
// socket.send("已收到".codeUnits, dg.address, dg.port);
}

View File

@ -1,3 +1,5 @@
import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
@ -6,7 +8,7 @@ import 'package:wifi_iot/wifi_iot.dart';
import 'dart:async';
import 'package:wifi_scan/wifi_scan.dart';
import 'config/SocketSetting.dart';
import 'config/socket_setting.dart';
SocketSetting socket = SocketSetting();
@ -53,9 +55,9 @@ class _WifiPageState extends State<WifiPage> {
connectedssid = ssid;
setState(() {});
print("Successfully reconnected to WiFi network: $ssid");
log("Successfully reconnected to WiFi network: $ssid");
} else {
print("Failed to reconnect to WiFi network: $ssid");
log("Failed to reconnect to WiFi network: $ssid");
}
}
@ -68,7 +70,12 @@ class _WifiPageState extends State<WifiPage> {
final can = await WiFiScan.instance.canGetScannedResults();
// if can-not, then show error
if (can != CanGetScannedResults.yes) {
if (mounted) kShowSnackBar(context, "Cannot get scanned results: $can");
if (context.mounted) {
if (mounted) {
kShowSnackBar(context, "Cannot get scanned results: $can");
}
}
accessPoints = <WiFiAccessPoint>[];
return false;
}
@ -245,7 +252,7 @@ class _WifiPageState extends State<WifiPage> {
}
void kShowSnackBar(BuildContext context, String message) {
if (kDebugMode) print(message);
if (kDebugMode) log(message);
ScaffoldMessenger.of(context)
..hideCurrentSnackBar()
..showSnackBar(SnackBar(content: Text(message)));

View File

@ -11,7 +11,7 @@ import 'child_pages/connect/wifi_page.dart';
import 'component/list_view_item.dart';
import 'child_pages/connect/config/app_config.dart';
import 'child_pages/connect/config/connect_type.dart';
import 'child_pages/connect/controllers/blueToothController.dart';
import 'child_pages/connect/controllers/blue_tooth_controller.dart';
//
TextStyle textStyle = const TextStyle(fontSize: 15);

View File

@ -1,17 +1,16 @@
import 'dart:math';
import 'package:cpnav/service/pile_cm.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:scence_map/controllers/controller.dart';
import 'package:scence_map/controllers/plumController.dart';
import 'package:scence_map/controllers/plum_controller.dart';
import '../../../../service/pile/device_type.dart';
import '../../../../service/pile/input.dart';
import '../../../../service/pile/public_widget.dart';
import '../../task_page.dart';
import '../../taskcontroller.dart';
import 'pileGenerController.dart';
import 'pile_gener_controller.dart';
final ScenceMapController mapController = Get.find<ScenceMapController>();
final PlumDataController controller = Get.find<PlumDataController>();
@ -21,10 +20,10 @@ class PileGenerate extends StatefulWidget {
const PileGenerate({super.key});
@override
_PileGenerateState createState() => _PileGenerateState();
PileGenerateState createState() => PileGenerateState();
}
class _PileGenerateState extends State<PileGenerate> {
class PileGenerateState extends State<PileGenerate> {
late StepDialogManager _showStepDialog;
@override
@ -59,7 +58,7 @@ class _PileGenerateState extends State<PileGenerate> {
title: const Text("桩点生成"),
toolbarHeight: 30,
leading: IconButton(
icon: Icon(Icons.close),
icon: const Icon(Icons.close),
onPressed: () {
setState(() {
pilecontroller.isPileCardVisible.value = false;
@ -240,7 +239,7 @@ class _PileGenerateState extends State<PileGenerate> {
var dy1 = -(item.dx - dx) * sin(rotation) +
(item.dy - dy) * cos(rotation);
Offset xy = mapController.ScreenCenter2xy(dx1, dy1);
Offset xy = mapController.screenCenter2xy(dx1, dy1);
PilePoint pilePoint = PilePoint(
x: (xy.dx * 1000).roundToDouble() / 1000,
y: (xy.dy * 1000).roundToDouble() / 1000,
@ -248,7 +247,6 @@ class _PileGenerateState extends State<PileGenerate> {
id: i + 1,
radius: 0.3);
mapController.pilePoints.add(pilePoint);
}
controller.isGenerate.value = false;
controller.isDirect.value = false;
@ -271,13 +269,12 @@ final PileGenerController pilecontroller = Get.put(PileGenerController());
//
class PileGenerateCard extends StatelessWidget {
const PileGenerateCard();
const PileGenerateCard({super.key});
@override
Widget build(BuildContext context) {
final Size size = MediaQuery.of(context).size;
MediaQueryData mediaQueryData =
MediaQueryData.fromView(WidgetsBinding.instance.window); //
final mediaQueryData = MediaQueryData.fromView(View.of(context)); //
final orientation = mediaQueryData.orientation; //
double rectWidth = size.width;
final deviceType = getDeviceType(context);
@ -316,13 +313,12 @@ class PileGenerateCard extends StatelessWidget {
//
class PileGenerateCard1 extends StatelessWidget {
const PileGenerateCard1();
const PileGenerateCard1({super.key});
@override
Widget build(BuildContext context) {
final Size size = MediaQuery.of(context).size;
MediaQueryData mediaQueryData =
MediaQueryData.fromView(WidgetsBinding.instance.window); //
final mediaQueryData = MediaQueryData.fromView(View.of(context)); //
final orientation = mediaQueryData.orientation; //
double rectWidth = size.width;
final deviceType = getDeviceType(context);

View File

@ -5,13 +5,13 @@ class PilePointTable extends StatefulWidget {
final List<PilePoint> pilePoints;
final Function(List<PilePoint>) onUpdate;
PilePointTable({required this.pilePoints, required this.onUpdate});
const PilePointTable({super.key, required this.pilePoints, required this.onUpdate});
@override
_PilePointTableState createState() => _PilePointTableState();
PilePointTableState createState() => PilePointTableState();
}
class _PilePointTableState extends State<PilePointTable> {
class PilePointTableState extends State<PilePointTable> {
List<bool> _selected = [];
@override
@ -33,10 +33,10 @@ class _PilePointTableState extends State<PilePointTable> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('桩点列表'),
title:const Text('桩点列表'),
actions: [
IconButton(
icon: Icon(Icons.delete),
icon:const Icon(Icons.delete),
onPressed: _deleteSelected,
),
],
@ -71,7 +71,7 @@ class _PilePointTableState extends State<PilePointTable> {
verticalAlignment: TableCellVerticalAlignment.middle,
child: Padding(
padding:
EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
const EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
child: Checkbox(
value: _selected[index],
onChanged: (bool? value) {
@ -86,7 +86,7 @@ class _PilePointTableState extends State<PilePointTable> {
verticalAlignment: TableCellVerticalAlignment.middle,
child: Padding(
padding:
EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
const EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
child: Text(widget.pilePoints[index].id.toString()),
),
),
@ -94,7 +94,7 @@ class _PilePointTableState extends State<PilePointTable> {
verticalAlignment: TableCellVerticalAlignment.middle,
child: Padding(
padding:
EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
const EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
child: GestureDetector(
onTap: () => _editPilePoint(context, index, 'x'),
child: Text(widget.pilePoints[index].x.toString()),
@ -105,7 +105,7 @@ class _PilePointTableState extends State<PilePointTable> {
verticalAlignment: TableCellVerticalAlignment.middle,
child: Padding(
padding:
EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
const EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
child: GestureDetector(
onTap: () => _editPilePoint(context, index, 'y'),
child: Text(widget.pilePoints[index].y.toString()),
@ -132,7 +132,7 @@ class _PilePointTableState extends State<PilePointTable> {
context: context,
builder: (context) {
return AlertDialog(
title: Text('编辑桩点'),
title:const Text('编辑桩点'),
content: TextField(
controller: controller,
keyboardType: TextInputType.number,
@ -151,13 +151,13 @@ class _PilePointTableState extends State<PilePointTable> {
});
Navigator.of(context).pop();
},
child: Text('保存'),
child:const Text('保存'),
),
TextButton(
onPressed: () {
Navigator.of(context).pop();
},
child: Text('取消'),
child:const Text('取消'),
),
],
);

View File

@ -1,8 +1,10 @@
import 'dart:math';
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:scence_map/controllers/controller.dart';
import 'package:scence_map/controllers/plumController.dart';
import 'package:scence_map/controllers/plum_controller.dart';
ScenceMapController mapController = Get.find<ScenceMapController>();
@ -37,7 +39,7 @@ class DrawDirection extends CustomPainter {
linePointOffset = linePointOffset + pos;
centerOffset = controller.centerOffset.value + pos;
}
print("-----矩阵中心$centerOffset,$centerXY");
log("-----矩阵中心$centerOffset,$centerXY");
path.moveTo(centerOffset.dx, centerOffset.dy);
path.lineTo(linePointOffset.dx, linePointOffset.dy);

View File

@ -1,18 +1,16 @@
import 'dart:developer' as dev;
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:scence_map/controllers/controller.dart';
import 'package:scence_map/controllers/plumController.dart';
import 'package:scence_map/controllers/plum_controller.dart';
import 'package:scence_map/record_entity.dart';
import 'package:scence_map/scence_map.dart';
import 'package:get/get.dart';
import '../../../../models/pilePoint/hyrecorditem.dart';
import '../../../pass_track/view.dart';
import '../../task_page.dart';
import '../../taskcontroller.dart';
import '../pileGenerateCard/pileGenerate.dart';
import '../pileGenerateCard/pile_generate.dart';
import 'draw_pile.dart';
final TaskController taskcontroller = Get.put(TaskController());
@ -165,10 +163,10 @@ class _RealViewState extends State<RealView> {
controller.centerXY.value.dx, controller.centerXY.value.dy) -
scOffset;
}
print(
dev.log(
"中心${controller.centerOffset.value},${controller.centerXY.value},${scenceMapController.centerXY},$scOffset,$isInit");
print(scenceMapController.xy2Screen(
controller.centerXY.value.dx, controller.centerXY.value.dy));
// dev.log(scenceMapController.xy2Screen(
// controller.centerXY.value.dx, controller.centerXY.value.dy));
return Positioned(
left: controller.isGenerate.value
@ -212,14 +210,14 @@ class _RealViewState extends State<RealView> {
// child: const ScenceMapView(
// children: [],
// ),
child: TaskPage(), //
child:const TaskPage(), //
// PassTrack(
// date: '',
// )
)),
center,
back,
PileGenerateCard1()
const PileGenerateCard1()
],
);
}

View File

@ -1,21 +1,23 @@
import 'dart:developer';
import 'package:cpnav/main.dart';
import 'package:cpnav/pages/task/pile/pileGenerateCard/pileGenerate.dart';
import 'package:cpnav/pages/task/pile/pileGenerateCard/pile_generate.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get/get_connect/http/src/utils/utils.dart';
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_page.dart';
import '../pass_track/controller.dart';
import '../pass_track/view.dart';
import 'pile/pileGenerateCard/pilePointTable.dart';
import 'pile/pileGenerateCard/pile_point_table.dart';
import 'pile/pileNav/view.dart';
import 'taskcontroller.dart';
final ScenceMapController mapcontroller = Get.put(ScenceMapController());
class TaskManagePage extends StatelessWidget {
const TaskManagePage({super.key});
@override
Widget build(BuildContext context) {
final size = MediaQuery.of(context).size;
@ -30,10 +32,11 @@ class TaskManagePage extends StatelessWidget {
),
child: SingleChildScrollView(
child: Row(children: [
SizedBox(width: 16),
Icon(Icons.task, size: 50, color: Color.fromARGB(164, 75, 73, 73)),
SizedBox(width: 16),
Container(
const SizedBox(width: 16),
const Icon(Icons.task,
size: 50, color: Color.fromARGB(164, 75, 73, 73)),
const SizedBox(width: 16),
SizedBox(
width: size.width * 0.4,
child: const Column(
crossAxisAlignment: CrossAxisAlignment.start,
@ -77,22 +80,24 @@ class TaskManagePage extends StatelessWidget {
],
),
),
SizedBox(width: 150),
Container(
alignment: Alignment.centerLeft,
// const SizedBox(width: 150),
Expanded(
child: Container(
child: Row(children: [
alignment: Alignment.centerRight,
child:
Row(mainAxisAlignment: MainAxisAlignment.end, children: [
const Text(
'编辑',
style: TextStyle(
fontSize: 14, color: Color.fromARGB(164, 75, 73, 73)),
),
SizedBox(width: 12),
const SizedBox(width: 12),
InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => RealView()),
MaterialPageRoute(
builder: (context) => const RealView()),
);
},
child: const Icon(Icons.arrow_forward_ios,
@ -110,11 +115,13 @@ final TaskController taskcontroller = Get.put(TaskController());
// class TaskPage extends StatelessWidget {
class TaskPage extends StatefulWidget {
const TaskPage({super.key});
@override
_TaskPageState createState() => _TaskPageState();
TaskPageState createState() => TaskPageState();
}
class _TaskPageState extends State<TaskPage> {
class TaskPageState extends State<TaskPage> {
late StepDialogManager _showStepDialog;
@override
@ -126,10 +133,9 @@ class _TaskPageState extends State<TaskPage> {
@override
Widget build(BuildContext context) {
final size = MediaQuery.of(context).size;
MediaQueryData mediaQueryData =
MediaQueryData.fromView(WidgetsBinding.instance.window); //
final orientation = mediaQueryData.orientation; //
bool isPortrait = Orientation.portrait == orientation ? true : false;
// final mediaQueryData = MediaQueryData.fromView(View.of(context)); //
// final orientation = mediaQueryData.orientation; //
// bool isPortrait = Orientation.portrait == orientation ? true : false;
return Scaffold(
endDrawer: Drawer(
@ -138,8 +144,8 @@ class _TaskPageState extends State<TaskPage> {
pilePoints: mapcontroller.pilePoints,
onUpdate: (updatedPilePoints) {
//
print("生成桩点$updatedPilePoints,");
updatedPilePoints.forEach((updatedPilePoint) {
log("生成桩点$updatedPilePoints,");
for (var updatedPilePoint in updatedPilePoints) {
// recordList RecordEntity
RecordEntity? recordEntity =
mapController.recordList.firstWhere(
@ -203,12 +209,12 @@ class _TaskPageState extends State<TaskPage> {
);
mapController.recordList.add(recordEntity);
}
});
}
},
),
),
appBar: AppBar(
title: Text('任务页面'),
title: const Text('任务页面'),
actions: [
UnconstrainedBox(
child: SizedBox(
@ -257,21 +263,22 @@ class _TaskPageState extends State<TaskPage> {
body: Stack(
children: [
ScenceMapView(
children: [],
onUpdate: (Offset center, double scale, double rotation) {
print("center:$center scale:$scale rotation:$rotation");
log("center:$center scale:$scale rotation:$rotation");
},
forGroundPainter: appcontroller.currentIndex.value == 1
? BorderPainter(controller)
: null,
onUpdatePilePoint: (RecordEntity? selectedPilePoint, double scale,
double rotation) {
print(
log(
"selectedPilePoint:$selectedPilePoint scale:$scale rotation:$rotation");
},
children: const [],
),
// ),
if (pilecontroller.isPileCardVisible.value) PileGenerateCard(),
if (pilecontroller.isPileCardVisible.value)
const PileGenerateCard(),
],
));
}
@ -295,11 +302,11 @@ class StepDialogManager {
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text('步骤提示'),
title: const Text('步骤提示'),
content: Text(_stepTexts[step]),
actions: <Widget>[
TextButton(
child: Text('确定'),
child: const Text('确定'),
onPressed: () {
Navigator.of(context).pop();
for (int i = 0; i < taskcontroller.isDialogShown.length; i++) {

View File

@ -1,8 +1,7 @@
import 'dart:convert';
import 'dart:developer';
import 'dart:io';
import 'dart:ui';
import 'package:cpnav/models/pilePoint/coord_trans.dart';
import 'package:get/get.dart';
import 'package:http/http.dart' as http;
import 'user/loginprefs.dart';
@ -14,16 +13,17 @@ class BaseService {
//client实例
final _client = http.Client();
final String token =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc1IiOjAsInJvbGVJZHMiOlsiODMiXSwidXNlcm5hbWUiOiJseWNzIiwidXNlcklkIjozNTYsIlBWIjoyLCJvcmciOiJhIiwiaWF0IjoxNzI1MzQzNTg3LCJleHAiOjE3MjY2Mzk1ODd9.Zh7sdBXWfNPjYrnc-uMBMrd93sAT3yqQF7WXrHvdzJs";
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc1IiOjAsInJvbGVJZHMiOlsiMSIsIjI0Il0sInVzZXJuYW1lIjoiYWRtaW4iLCJ1c2VySWQiOjEsIlBWIjo1LCJvcmciOiJhIiwiaWF0IjoxNzMwNzg3MDE3LCJleHAiOjE3MzIwODMwMTd9.hhWpQAqv160E6tNi5ymyHigzRzZTM4CfwSsraomvJWM";
// String baseUrl = "http://192.168.1.189:8001";//
String baseUrl = "http://1.82.251.83:8001"; //线
// String baseUrl = "http://192.168.1.154:8001";//
String baseUrl = "http://v5.rdc.pub"; //线
String loginstatus = "登录失效";
//GET请求
getClient(String url, [bool useBaseUrl = true]) async {
try {
Uri fullUrl =Uri.parse(useBaseUrl ? (baseUrl + url) : url);
http.Response response = await _client
.get(Uri.parse(useBaseUrl ? baseUrl + url : url), headers: {
.get(fullUrl, headers: {
HttpHeaders.contentTypeHeader: "application/json",
HttpHeaders.authorizationHeader: token,
});
@ -34,7 +34,7 @@ class BaseService {
}
return res;
} catch (e) {
print(e);
log(e.toString());
return {};
}
}
@ -56,7 +56,7 @@ class BaseService {
}
return res;
} catch (e) {
print(e);
log(e.toString());
return {};
}
}
@ -92,7 +92,7 @@ class GetServices {
// return [];
// }
'/api/sys/device_bind/list?proj_type=$projType&proj_code=$projCode');
if (res != null && res['code'] == 1000) {
if (res['code'] == 1000) {
return res['data'];
} else {
return [];

View File

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip

View File

@ -5,16 +5,16 @@ packages:
dependency: transitive
description:
name: args
sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a"
url: "https://pub.dev"
sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.5.0"
version: "2.6.0"
async:
dependency: transitive
description:
name: async
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.11.0"
bluez:
@ -22,7 +22,7 @@ packages:
description:
name: bluez
sha256: "203a1924e818a9dd74af2b2c7a8f375ab8e5edf0e486bba8f90a0d8a17ed9fce"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.8.2"
boolean_selector:
@ -30,7 +30,7 @@ packages:
description:
name: boolean_selector
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
characters:
@ -38,7 +38,7 @@ packages:
description:
name: characters
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.0"
clock:
@ -46,7 +46,7 @@ packages:
description:
name: clock
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.1"
collection:
@ -54,23 +54,23 @@ packages:
description:
name: collection
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.18.0"
convert:
dependency: "direct main"
description:
name: convert
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
url: "https://pub.dev"
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.1.1"
version: "3.1.2"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.8"
dbus:
@ -78,7 +78,7 @@ packages:
description:
name: dbus
sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.7.10"
fake_async:
@ -86,7 +86,7 @@ packages:
description:
name: fake_async
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.1"
ffi:
@ -94,7 +94,7 @@ packages:
description:
name: ffi
sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.3"
flutter:
@ -107,7 +107,7 @@ packages:
description:
name: flutter_lints
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.3"
flutter_test:
@ -120,7 +120,7 @@ packages:
description:
name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
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.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.5"
leak_tracker_testing:
@ -136,7 +136,7 @@ packages:
description:
name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.1"
lints:
@ -144,23 +144,23 @@ packages:
description:
name: lints
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
logging:
dependency: "direct main"
description:
name: logging
sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
url: "https://pub.dev"
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.0"
version: "1.3.0"
matcher:
dependency: transitive
description:
name: matcher
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
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.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.11.1"
meta:
@ -176,7 +176,7 @@ packages:
description:
name: meta
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.15.0"
path:
@ -184,7 +184,7 @@ packages:
description:
name: path
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.9.0"
petitparser:
@ -192,7 +192,7 @@ packages:
description:
name: petitparser
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.0.2"
plugin_platform_interface:
@ -200,7 +200,7 @@ packages:
description:
name: plugin_platform_interface
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.8"
quick_blue:
@ -220,7 +220,7 @@ packages:
description:
name: source_span
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.10.0"
stack_trace:
@ -228,7 +228,7 @@ packages:
description:
name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.11.1"
stream_channel:
@ -236,7 +236,7 @@ packages:
description:
name: stream_channel
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.2"
string_scanner:
@ -244,7 +244,7 @@ packages:
description:
name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.0"
term_glyph:
@ -252,7 +252,7 @@ packages:
description:
name: term_glyph
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.1"
test_api:
@ -260,41 +260,41 @@ packages:
description:
name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.7.2"
typed_data:
dependency: transitive
description:
name: typed_data
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
url: "https://pub.dev"
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.2"
version: "1.4.0"
vector_math:
dependency: transitive
description:
name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.4"
vm_service:
dependency: transitive
description:
name: vm_service
sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
url: "https://pub.dev"
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "14.2.4"
version: "14.2.5"
xml:
dependency: transitive
description:
name: xml
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.5.0"
sdks:
dart: ">=3.3.0 <4.0.0"
dart: ">=3.5.0 <4.0.0"
flutter: ">=3.18.0-18.0.pre.54"

@ -1 +1 @@
Subproject commit 2cd0cbf3a177bfd24c0117769a280171b810312b
Subproject commit cc9ee2fe1abf30613fe191794e841cf0399f8d58

View File

@ -5,16 +5,16 @@ packages:
dependency: transitive
description:
name: args
sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a"
url: "https://pub.dev"
sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.5.0"
version: "2.6.0"
async:
dependency: transitive
description:
name: async
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.11.0"
bluez:
@ -22,7 +22,7 @@ packages:
description:
name: bluez
sha256: "203a1924e818a9dd74af2b2c7a8f375ab8e5edf0e486bba8f90a0d8a17ed9fce"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.8.2"
boolean_selector:
@ -30,7 +30,7 @@ packages:
description:
name: boolean_selector
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
bottom_picker:
@ -38,23 +38,23 @@ packages:
description:
name: bottom_picker
sha256: "7c690407c6c489bc7c556858c3f1b804aac73c3a128559f328cc829ba12983ad"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.8.0"
calendar_date_picker2:
dependency: "direct main"
description:
name: calendar_date_picker2
sha256: c7684d1a6bae19dc78c0b59101b272b47d78713d4aa0fcca55e55cf2dde9e3e4
url: "https://pub.dev"
sha256: "986955aea43081c8cf70fe01735ccdfe9a7041218b2be53ed92d5d4e639e8a1a"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.5"
version: "1.1.7"
characters:
dependency: transitive
description:
name: characters
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.0"
clock:
@ -62,7 +62,7 @@ packages:
description:
name: clock
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.1"
collection:
@ -70,47 +70,47 @@ packages:
description:
name: collection
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.18.0"
convert:
dependency: transitive
description:
name: convert
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
url: "https://pub.dev"
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.1.1"
version: "3.1.2"
crypto:
dependency: transitive
description:
name: crypto
sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27
url: "https://pub.dev"
sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.5"
version: "3.0.6"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.8"
dart_webrtc:
dependency: transitive
description:
name: dart_webrtc
sha256: "5cbc40bd9b33d0c9b8004cff52e9883c71f0f54799afc8faca77535eeb9ef857"
url: "https://pub.dev"
sha256: c664ad88d5646735753add421ee2118486c100febef5e92b7f59cdbabf6a51f6
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.1"
version: "1.4.9"
data_table_2:
dependency: "direct main"
description:
name: data_table_2
sha256: f02ec9b24f44420816a87370ff4f4e533e15b274f6267e4c9a88a585ad1a0473
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.5.15"
dbus:
@ -118,7 +118,7 @@ packages:
description:
name: dbus
sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.7.10"
dylib:
@ -126,7 +126,7 @@ packages:
description:
name: dylib
sha256: bf609b3eb6492a3309b3d1dbe8f83a4031de5535dd7686be33487051cc760bb0
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.3"
equatable:
@ -134,7 +134,7 @@ packages:
description:
name: equatable
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.5"
fake_async:
@ -142,7 +142,7 @@ packages:
description:
name: fake_async
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.1"
ffi:
@ -150,7 +150,7 @@ packages:
description:
name: ffi
sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.3"
fl_chart:
@ -158,7 +158,7 @@ packages:
description:
name: fl_chart
sha256: "94307bef3a324a0d329d3ab77b2f0c6e5ed739185ffc029ed28c0f9b019ea7ef"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.69.0"
flutter:
@ -171,17 +171,17 @@ packages:
description:
name: flutter_lints
sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.2"
flutter_svg:
dependency: "direct main"
description:
name: flutter_svg
sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2"
url: "https://pub.dev"
sha256: de82e6bf958cec7190fbc1c5298282c851228e35ae2b14e2b103e7f777818c64
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.10+1"
version: "2.0.13"
flutter_test:
dependency: "direct dev"
description: flutter
@ -197,7 +197,7 @@ packages:
description:
name: flutter_webrtc
sha256: "2f17fb96e0c9c6ff75f6b1c36d94755461fc7f36a5c28386f5ee5a18b98688c8"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.9.48+hotfix.1"
get:
@ -205,7 +205,7 @@ packages:
description:
name: get
sha256: e4e7335ede17452b391ed3b2ede016545706c01a02292a6c97619705e7d2a85e
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.6.6"
get_storage:
@ -213,7 +213,7 @@ packages:
description:
name: get_storage
sha256: "39db1fffe779d0c22b3a744376e86febe4ade43bf65e06eab5af707dc84185a2"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
gnss:
@ -230,7 +230,7 @@ packages:
description:
name: google_fonts
sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.2.1"
http:
@ -238,7 +238,7 @@ packages:
description:
name: http
sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.2"
http_parser:
@ -246,31 +246,31 @@ packages:
description:
name: http_parser
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.0.2"
intl:
dependency: transitive
dependency: "direct main"
description:
name: intl
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.19.0"
js:
dependency: transitive
description:
name: js
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.dev"
sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.6.7"
version: "0.7.1"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "10.0.5"
leak_tracker_flutter_testing:
@ -278,7 +278,7 @@ packages:
description:
name: leak_tracker_flutter_testing
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.5"
leak_tracker_testing:
@ -286,7 +286,7 @@ packages:
description:
name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.1"
libserialport:
@ -303,23 +303,23 @@ packages:
description:
name: lints
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.0"
logging:
dependency: transitive
description:
name: logging
sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
url: "https://pub.dev"
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.0"
version: "1.3.0"
matcher:
dependency: transitive
description:
name: matcher
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.12.16+1"
material_color_utilities:
@ -327,7 +327,7 @@ packages:
description:
name: material_color_utilities
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.11.1"
meta:
@ -335,7 +335,7 @@ packages:
description:
name: meta
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.15.0"
open_settings:
@ -343,7 +343,7 @@ packages:
description:
name: open_settings
sha256: ceb716dc476352aecb939805b6fa6a593168a5ed1abfe3caa022b6b1715e94ae
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.2"
path:
@ -351,39 +351,39 @@ packages:
description:
name: path
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.9.0"
path_parsing:
dependency: transitive
description:
name: path_parsing
sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf
url: "https://pub.dev"
sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
version: "1.1.0"
path_provider:
dependency: "direct main"
description:
name: path_provider
sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378
url: "https://pub.dev"
sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.4"
version: "2.1.5"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7"
url: "https://pub.dev"
sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.2.10"
version: "2.2.12"
path_provider_foundation:
dependency: transitive
description:
name: path_provider_foundation
sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.0"
path_provider_linux:
@ -391,7 +391,7 @@ packages:
description:
name: path_provider_linux
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.2.1"
path_provider_platform_interface:
@ -399,7 +399,7 @@ packages:
description:
name: path_provider_platform_interface
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.2"
path_provider_windows:
@ -407,7 +407,7 @@ packages:
description:
name: path_provider_windows
sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.3.0"
permission_handler:
@ -415,23 +415,23 @@ packages:
description:
name: permission_handler
sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "11.3.1"
permission_handler_android:
dependency: transitive
description:
name: permission_handler_android
sha256: "76e4ab092c1b240d31177bb64d2b0bea43f43d0e23541ec866151b9f7b2490fa"
url: "https://pub.dev"
sha256: "71bbecfee799e65aff7c744761a57e817e73b738fedf62ab7afd5593da21f9f1"
url: "https://pub.flutter-io.cn"
source: hosted
version: "12.0.12"
version: "12.0.13"
permission_handler_apple:
dependency: transitive
description:
name: permission_handler_apple
sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "9.4.5"
permission_handler_html:
@ -439,23 +439,23 @@ packages:
description:
name: permission_handler_html
sha256: af26edbbb1f2674af65a8f4b56e1a6f526156bc273d0e65dd8075fab51c78851
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.1.3+2"
permission_handler_platform_interface:
dependency: transitive
description:
name: permission_handler_platform_interface
sha256: fe0ffe274d665be8e34f9c59705441a7d248edebbe5d9e3ec2665f88b79358ea
url: "https://pub.dev"
sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.2.2"
version: "4.2.3"
permission_handler_windows:
dependency: transitive
description:
name: permission_handler_windows
sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.2.1"
petitparser:
@ -463,23 +463,23 @@ packages:
description:
name: petitparser
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.0.2"
platform:
dependency: transitive
description:
name: platform
sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65"
url: "https://pub.dev"
sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.1.5"
version: "3.1.6"
platform_detect:
dependency: transitive
description:
name: platform_detect
sha256: a62f99417fc4fa2d099ce0ccdbb1bd3977920f2a64292c326271f049d4bc3a4f
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.0"
plugin_platform_interface:
@ -487,7 +487,7 @@ packages:
description:
name: plugin_platform_interface
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.8"
pub_semver:
@ -495,7 +495,7 @@ packages:
description:
name: pub_semver
sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.4"
quick_blue:
@ -510,7 +510,7 @@ packages:
description:
name: roslibdart
sha256: "7473a39947f3f5ee32b032f8bab5285a465449e5cd234ae486e5ea11bd6c9e3b"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.1-dev+4"
scence_map:
@ -530,7 +530,7 @@ packages:
description:
name: source_span
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.10.0"
stack_trace:
@ -538,7 +538,7 @@ packages:
description:
name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.11.1"
stream_channel:
@ -546,7 +546,7 @@ packages:
description:
name: stream_channel
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.2"
string_scanner:
@ -554,39 +554,39 @@ packages:
description:
name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.0"
syncfusion_flutter_core:
dependency: transitive
description:
name: syncfusion_flutter_core
sha256: "24d7f43ff33bd6248c95d8b3312f6b9fe89637727ca778d60490b81ebd5bd8e7"
url: "https://pub.dev"
sha256: "6e67726b85812afc7105725a23620b876ab7f6b04b8410e211330ffb8c2cdbe8"
url: "https://pub.flutter-io.cn"
source: hosted
version: "26.2.9"
version: "26.2.14"
syncfusion_flutter_sliders:
dependency: "direct main"
description:
name: syncfusion_flutter_sliders
sha256: "3adae52373f7dfbf829bbd0b1afe8e37b7e63d13e612a68e7f2474ff8bc5cb99"
url: "https://pub.dev"
sha256: dca62b54b6b4f99efa1c34abfc54ce83854d7628e78118a1941a2f30d33ea4d5
url: "https://pub.flutter-io.cn"
source: hosted
version: "26.2.9"
version: "26.2.14"
synchronized:
dependency: transitive
description:
name: synchronized
sha256: a824e842b8a054f91a728b783c177c1e4731f6b124f9192468457a8913371255
url: "https://pub.dev"
sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.2.0"
version: "3.3.0+3"
term_glyph:
dependency: transitive
description:
name: term_glyph
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.1"
test_api:
@ -594,71 +594,71 @@ packages:
description:
name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.7.2"
typed_data:
dependency: transitive
description:
name: typed_data
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
url: "https://pub.dev"
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.2"
version: "1.4.0"
vector_graphics:
dependency: transitive
description:
name: vector_graphics
sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3"
url: "https://pub.dev"
sha256: "773c9522d66d523e1c7b25dfb95cc91c26a1e17b107039cfe147285e92de7878"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.11+1"
version: "1.1.14"
vector_graphics_codec:
dependency: transitive
description:
name: vector_graphics_codec
sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da
url: "https://pub.dev"
sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.11+1"
version: "1.1.12"
vector_graphics_compiler:
dependency: transitive
description:
name: vector_graphics_compiler
sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81"
url: "https://pub.dev"
sha256: "26d520739b7c6b5d2a2b3274427874a8390831fd4cd5bb8cfbd7d913477d3a2e"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.11+1"
version: "1.1.14"
vector_math:
dependency: transitive
description:
name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.4"
vm_service:
dependency: transitive
description:
name: vm_service
sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
url: "https://pub.dev"
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "14.2.4"
version: "14.2.5"
web:
dependency: transitive
description:
name: web
sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062
url: "https://pub.dev"
sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.0"
version: "1.1.0"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.0"
webrtc_interface:
@ -666,7 +666,7 @@ packages:
description:
name: webrtc_interface
sha256: abec3ab7956bd5ac539cf34a42fa0c82ea26675847c0966bb85160400eea9388
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.0"
wifi_iot:
@ -674,7 +674,7 @@ packages:
description:
name: wifi_iot
sha256: "4a3301f71663a908bb50ffe6d9dc9e8b8383fab48368accf978409bde96e9aca"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.19+1"
wifi_scan:
@ -682,25 +682,25 @@ packages:
description:
name: wifi_scan
sha256: "9a9df688d3e71c39edcd861e6d50beb63815d5505d3884867d75f93e49d66363"
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.4.1+1"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d
url: "https://pub.dev"
sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.4"
version: "1.1.0"
xml:
dependency: transitive
description:
name: xml
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
url: "https://pub.dev"
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.5.0"
sdks:
dart: ">=3.5.0 <4.0.0"
flutter: ">=3.22.0"
flutter: ">=3.24.0"

View File

@ -59,6 +59,7 @@ dependencies:
wifi_scan: ^0.4.1+1
wifi_iot: ^0.3.19+1
path_provider: ^2.1.4
intl: ^0.19.0
dev_dependencies: