警告处理

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,7 +230,9 @@ class AccountLoginPage extends GetView<AccountLoginController> {
} else {
loginPrefs.saveExpire((res["data"]["expire"]));
loginPrefs.saveToken((res["data"]["token"]));
Navigator.pushNamed(context, 'home'); //
if (context.mounted) {
Navigator.pushNamed(context, 'home'); //
}
}
}
},

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,46 +17,47 @@ class CoorTransModel {
String name;
double rota;
String srcEllipsoid;
CoorTransModel({
required this.name,
// ignore: non_constant_identifier_names
required this.L0,
required this.belt,
this.calibs,
required this.dstEllipsoid,
required this.dx,
required this.dy,
required this.dz,
required this.id,
required this.wx,
required this.wy,
required this.wz,
required this.k,
required this.elevation,
required this.isMain,
required this.rota,
required this.srcEllipsoid,
});
int? type;
CoorTransModel(
{required this.name,
// ignore: non_constant_identifier_names
required this.L0,
required this.belt,
this.calibs,
required this.dstEllipsoid,
required this.dx,
required this.dy,
required this.dz,
required this.id,
required this.wx,
required this.wy,
required this.wz,
required this.k,
required this.elevation,
required this.isMain,
required this.rota,
required this.srcEllipsoid,
this.type});
factory CoorTransModel.fromJson(Map<dynamic, dynamic> data) {
return CoorTransModel(
name: data['name'],
id: data['id'],
L0: data['L0'].toDouble(),
belt: data['belt'],
calibs: data['calibs'],
dstEllipsoid: data['dstEllipsoid'],
dx: data['dx'].toDouble(),
dy: data['dy'].toDouble(),
dz: data['dz'].toDouble(),
wx: data['wx'].toDouble(),
wy: data['wy'].toDouble(),
wz: data['wz'].toDouble(),
rota: data['rota'].toDouble(),
k: data['k'].toDouble(),
isMain: data['is_main'],
elevation: data['elevation'].toDouble(),
srcEllipsoid: data['srcEllipsoid'],
);
name: data['name'],
id: data['id'],
L0: data['L0'].toDouble(),
belt: data['belt'],
calibs: data['calibs'],
dstEllipsoid: data['dstEllipsoid'],
dx: data['dx'].toDouble(),
dy: data['dy'].toDouble(),
dz: data['dz'].toDouble(),
wx: data['wx'].toDouble(),
wy: data['wy'].toDouble(),
wz: data['wz'].toDouble(),
rota: data['rota'].toDouble(),
k: data['k'].toDouble(),
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,18 +358,20 @@ class XyChangeView extends StatelessWidget {
},
)),
const Divider(),
Flexible(
child: TextFormField(
keyboardType: TextInputType.number,
controller: dzController,
decoration: const InputDecoration(
prefixText: 'Z平移(米):',
border: InputBorder.none,
),
onChanged: (String value) {
// _controller.coorTrans.value.L0 =(value);
},
)),
_controller.coorTrans.value.type == 4
? Flexible(
child: TextFormField(
keyboardType: TextInputType.number,
controller: dzController,
decoration: const InputDecoration(
prefixText: 'Z平移(米):',
border: InputBorder.none,
),
onChanged: (String value) {
// _controller.coorTrans.value.L0 =(value);
},
))
: const Text(""),
const Divider(),
];
List<Widget> list3 = [
@ -383,18 +401,20 @@ class XyChangeView extends StatelessWidget {
},
)),
const Divider(),
Flexible(
child: TextFormField(
keyboardType: TextInputType.number,
controller: wzController,
decoration: const InputDecoration(
border: InputBorder.none,
prefixText: 'Z轴旋转(秒):',
),
onChanged: (String value) {
// _controller.coorTrans.value.L0 =(value);
},
)),
_controller.coorTrans.value.type == 4
? Flexible(
child: TextFormField(
keyboardType: TextInputType.number,
controller: wzController,
decoration: const InputDecoration(
border: InputBorder.none,
prefixText: 'Z轴旋转(秒):',
),
onChanged: (String value) {
// _controller.coorTrans.value.L0 =(value);
},
))
: const Text(""),
const Divider(),
];
@ -422,18 +442,20 @@ class XyChangeView extends StatelessWidget {
children: list3,
),
const Divider(),
SizedBox(
child: TextFormField(
keyboardType: TextInputType.number,
controller: kController,
decoration: const InputDecoration(
border: InputBorder.none,
prefixText: '尺度:',
),
onChanged: (String value) {
// _controller.coorTrans.value.L0 =(value);
},
)),
_controller.coorTrans.value.type == 4
? SizedBox(
child: TextFormField(
keyboardType: TextInputType.number,
controller: kController,
decoration: const InputDecoration(
border: InputBorder.none,
prefixText: '尺度:',
),
onChanged: (String value) {
// _controller.coorTrans.value.L0 =(value);
},
))
: const Text(""),
const Divider(),
TextButton(
onPressed: () {
@ -453,23 +475,24 @@ class XyChangeView extends StatelessWidget {
class XYChangeController extends GetxController {
List<Widget> list = [];
var coorTrans = CoorTransModel(
name: "",
L0: 0,
belt: "",
dstEllipsoid: "",
dx: 0,
dy: 0,
dz: 0,
id: 0,
wx: 0,
wy: 0,
wz: 0,
k: 0,
elevation: 0,
isMain: 0,
rota: 0,
srcEllipsoid: "",
).obs;
name: "",
L0: 0,
belt: "",
dstEllipsoid: "",
dx: 0,
dy: 0,
dz: 0,
id: 0,
wx: 0,
wy: 0,
wz: 0,
k: 0,
elevation: 0,
isMain: 0,
rota: 0,
srcEllipsoid: "",
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,28 +80,30 @@ class TaskManagePage extends StatelessWidget {
],
),
),
SizedBox(width: 150),
Container(
alignment: Alignment.centerLeft,
// const SizedBox(width: 150),
Expanded(
child: Container(
child: Row(children: [
const Text(
'编辑',
style: TextStyle(
fontSize: 14, color: Color.fromARGB(164, 75, 73, 73)),
),
SizedBox(width: 12),
InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => RealView()),
);
},
child: const Icon(Icons.arrow_forward_ios,
size: 30, color: Color.fromARGB(164, 75, 73, 73)),
)
])))
alignment: Alignment.centerRight,
child:
Row(mainAxisAlignment: MainAxisAlignment.end, children: [
const Text(
'编辑',
style: TextStyle(
fontSize: 14, color: Color.fromARGB(164, 75, 73, 73)),
),
const SizedBox(width: 12),
InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const RealView()),
);
},
child: const Icon(Icons.arrow_forward_ios,
size: 30, color: Color.fromARGB(164, 75, 73, 73)),
)
])))
])),
));
}));
@ -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: