警告处理
This commit is contained in:
parent
f41e6a8c96
commit
0c480a2d5b
@ -1,17 +1,17 @@
|
|||||||
# This is a generated file; do not edit or check into version control.
|
# 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\\
|
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\\
|
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.dev\\path_provider-2.1.4\\
|
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.dev\\path_provider_android-2.2.10\\
|
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.dev\\path_provider_foundation-2.4.0\\
|
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.dev\\path_provider_linux-2.2.1\\
|
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.dev\\path_provider_windows-2.3.0\\
|
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.dev\\permission_handler-11.3.1\\
|
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.dev\\permission_handler_android-12.0.12\\
|
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.dev\\permission_handler_apple-9.4.5\\
|
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.dev\\permission_handler_html-0.1.3+2\\
|
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.dev\\permission_handler_windows-0.2.1\\
|
permission_handler_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\permission_handler_windows-0.2.1\\
|
||||||
quick_blue=D:\\workspace\\pile_NAV_new\\plugins\\quick_blue\\
|
quick_blue=D:\\ly\\dart\\A\\new\\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_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.dev\\wifi_scan-0.4.1+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
@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
|
|||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
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
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
import 'package:cpnav/pages/aim_point/aimpoint_page.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'main.dart';
|
import 'main.dart';
|
||||||
import 'pages/aim_point/aimpointController.dart';
|
import 'pages/aim_point/aimpoint_controller.dart';
|
||||||
import 'pages/real/realController.dart';
|
import 'pages/real/real_controller.dart';
|
||||||
|
|
||||||
final AimPointerController aimcontroller = Get.find();
|
final AimPointerController aimcontroller = Get.find();
|
||||||
final RealController realcontroller = Get.find();
|
final RealController realcontroller = Get.find();
|
||||||
@ -15,6 +14,7 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||||||
final isCardVisible = false.obs;
|
final isCardVisible = false.obs;
|
||||||
final isDataVisible = false.obs;
|
final isDataVisible = false.obs;
|
||||||
CustomAppBar({
|
CustomAppBar({
|
||||||
|
super.key,
|
||||||
required this.appBarHeight,
|
required this.appBarHeight,
|
||||||
required RxInt currentIndex,
|
required RxInt currentIndex,
|
||||||
}) : _currentIndex = currentIndex;
|
}) : _currentIndex = currentIndex;
|
||||||
@ -36,6 +36,7 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||||||
return const Text("系统:", style: textStyle);
|
return const Text("系统:", style: textStyle);
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
leading: null,
|
||||||
// title: _currentIndex.value == 0
|
// title: _currentIndex.value == 0
|
||||||
// ? Obx(() => Text("桩点:${realController.pileId.value}",
|
// ? Obx(() => Text("桩点:${realController.pileId.value}",
|
||||||
// style: textStyle))
|
// style: textStyle))
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
import 'dart:developer' as dev;
|
||||||
import 'dart:ui';
|
import 'dart:ui';
|
||||||
import 'package:cpnav/pages/aim_point/aimpoint_page.dart';
|
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:gnss/gnss.dart';
|
import 'package:gnss/gnss.dart';
|
||||||
import 'package:scence_map/controllers/controller.dart';
|
import 'package:scence_map/controllers/controller.dart';
|
||||||
import 'package:scence_map/record_entity.dart';
|
import 'package:scence_map/record_entity.dart';
|
||||||
|
|
||||||
import '../models/pilePoint/coord_trans.dart';
|
import '../models/pilePoint/coord_trans.dart';
|
||||||
import '../pages/aim_point/aimpointController.dart';
|
import '../pages/aim_point/aimpoint_controller.dart';
|
||||||
|
|
||||||
class GnssController extends GetxController {
|
class GnssController extends GetxController {
|
||||||
late final Gnss gnss;
|
late final Gnss gnss;
|
||||||
@ -46,14 +46,14 @@ class GnssController extends GetxController {
|
|||||||
aimcontroller.selectedPilePoint!.x, aimcontroller.selectedPilePoint!.y);
|
aimcontroller.selectedPilePoint!.x, aimcontroller.selectedPilePoint!.y);
|
||||||
if (mapController.calculateDistance(pilerCenterPoint, offset) < 1.9) {
|
if (mapController.calculateDistance(pilerCenterPoint, offset) < 1.9) {
|
||||||
if (!aimcontroller.isCardVisible.value) {
|
if (!aimcontroller.isCardVisible.value) {
|
||||||
print("距离小于1m");
|
dev.log("距离小于1m");
|
||||||
aimcontroller.isCardVisible.value = true;
|
aimcontroller.isCardVisible.value = true;
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!aimcontroller.isCardVisible.value) {
|
if (!aimcontroller.isCardVisible.value) {
|
||||||
print("距离大于1m");
|
dev.log("距离大于1m");
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
aimcontroller.isCardVisible.value = false;
|
aimcontroller.isCardVisible.value = false;
|
||||||
@ -69,7 +69,7 @@ class GnssController extends GetxController {
|
|||||||
aimcontroller = Get.find<AimPointerController>();
|
aimcontroller = Get.find<AimPointerController>();
|
||||||
device = DeviceItem(
|
device = DeviceItem(
|
||||||
name: 'GNSS',
|
name: 'GNSS',
|
||||||
TID: 1001,
|
tid: 1001,
|
||||||
type: 2,
|
type: 2,
|
||||||
height: 3.0,
|
height: 3.0,
|
||||||
width: 3.0,
|
width: 3.0,
|
||||||
@ -87,7 +87,7 @@ class GnssController extends GetxController {
|
|||||||
// pilerCenter = Pos3D(4196544.959, 517639.709, 0.0);
|
// 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) {
|
if (lastPilePoint != aimcontroller.selectedPilePoint) {
|
||||||
lastPilePoint = aimcontroller.selectedPilePoint;
|
lastPilePoint = aimcontroller.selectedPilePoint;
|
||||||
if (aimcontroller.selectedPilePoint != null) {
|
if (aimcontroller.selectedPilePoint != null) {
|
||||||
@ -128,12 +128,12 @@ class GnssController extends GetxController {
|
|||||||
gnss.start();
|
gnss.start();
|
||||||
gnss.locationStream.listen((location) {
|
gnss.locationStream.listen((location) {
|
||||||
locationData = location;
|
locationData = location;
|
||||||
// print(locationData);
|
// log(locationData);
|
||||||
// var xyh = coordTrans.d2p(CoordBLH(
|
// var xyh = coordTrans.d2p(CoordBLH(
|
||||||
// B: location.latitude, L: location.longitude, H: location.altitude));
|
// B: location.latitude, L: location.longitude, H: location.altitude));
|
||||||
// pilerCenter = pilerCenterPoint.pilerPos3D(xyh, location.heading,
|
// pilerCenter = pilerCenterPoint.pilerPos3D(xyh, location.heading,
|
||||||
// location.pitch, location.baseLength, offsetangle.value);
|
// location.pitch, location.baseLength, offsetangle.value);
|
||||||
// print(
|
// log(
|
||||||
// 'X: ${pilerCenter.X}, Y: ${pilerCenter.Y}, Rotation: ${pilerCenter.rotation}');
|
// 'X: ${pilerCenter.X}, Y: ${pilerCenter.Y}, Rotation: ${pilerCenter.rotation}');
|
||||||
// CheckDistance();
|
// CheckDistance();
|
||||||
locationUpdate.value++;
|
locationUpdate.value++;
|
||||||
|
@ -1,21 +1,18 @@
|
|||||||
import 'package:cpnav/controllers/appcontroller.dart';
|
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/setting/child_pages/antenna/antenna_setting.dart';
|
||||||
import 'package:cpnav/pages/task/task_page.dart';
|
import 'package:cpnav/pages/task/task_page.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:scence_map/controllers/controller.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 'appbar.dart';
|
||||||
import 'pages/aim_point/aimpointController.dart';
|
import 'pages/aim_point/aimpoint_controller.dart';
|
||||||
import 'pages/history/history_record.dart';
|
import 'pages/history/history_record.dart';
|
||||||
import 'pages/login/login_page.dart';
|
import 'pages/login/login_page.dart';
|
||||||
import 'pages/login/my_routes.dart';
|
import 'pages/login/my_routes.dart';
|
||||||
import 'pages/pass_track/view.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/pile/rightDra/pileGenerate.dart';
|
||||||
import 'pages/real/index.dart';
|
import 'pages/real/index.dart';
|
||||||
import 'pages/setting/child_pages/XyChange/connect.dart';
|
import 'pages/setting/child_pages/XyChange/connect.dart';
|
||||||
@ -41,7 +38,7 @@ void main() async {
|
|||||||
await loginPrefs.init(); // await 关键字必须用在异步方法中 await等待异步方法执行完毕 异步方法必须用变量接收
|
await loginPrefs.init(); // await 关键字必须用在异步方法中 await等待异步方法执行完毕 异步方法必须用变量接收
|
||||||
if ('ok' == value) {
|
if ('ok' == value) {
|
||||||
connect.init();
|
connect.init();
|
||||||
loginPrefs.removeToken(); //注释掉即能实现短时间二次登录不需要再重新登录
|
// loginPrefs.removeToken(); //注释掉即能实现短时间二次登录不需要再重新登录
|
||||||
runApp(const MyApp());
|
runApp(const MyApp());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -57,7 +54,7 @@ class MyApp extends StatelessWidget {
|
|||||||
? ThemeData.dark()
|
? ThemeData.dark()
|
||||||
: ThemeData.light(),
|
: ThemeData.light(),
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
home: MyHomePage(title: 'Flutter Demo Home Page'),
|
home: const MyHomePage(title: 'Flutter Demo Home Page'),
|
||||||
initialRoute: "home",
|
initialRoute: "home",
|
||||||
onGenerateRoute: onGenerateRoute,
|
onGenerateRoute: onGenerateRoute,
|
||||||
);
|
);
|
||||||
@ -77,18 +74,16 @@ class _MyHomePageState extends State<MyHomePage> {
|
|||||||
late double appBarHeight = 34.0;
|
late double appBarHeight = 34.0;
|
||||||
|
|
||||||
final List<Widget> _pages = [
|
final List<Widget> _pages = [
|
||||||
Real(),
|
const Real(),
|
||||||
PassTrack(
|
PassTrack(
|
||||||
// date: '',
|
// date: '',
|
||||||
),
|
),
|
||||||
TaskManagePage(),
|
const TaskManagePage(),
|
||||||
HistoryRecord(),
|
const HistoryRecord(),
|
||||||
SettingPortrait()
|
const SettingPortrait()
|
||||||
];
|
];
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final size = MediaQuery.of(context).size;
|
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
resizeToAvoidBottomInset: false,
|
resizeToAvoidBottomInset: false,
|
||||||
drawerEdgeDragWidth: 0.0, // 禁止通过滑动打开drawer
|
drawerEdgeDragWidth: 0.0, // 禁止通过滑动打开drawer
|
||||||
|
@ -110,6 +110,7 @@ class TransOptions {
|
|||||||
String? dstEllipsoid; //目标椭球名称
|
String? dstEllipsoid; //目标椭球名称
|
||||||
double? zoneWidth; //带宽度,用于未指定中央子午线时自动计算
|
double? zoneWidth; //带宽度,用于未指定中央子午线时自动计算
|
||||||
double? elevation; //投影高程
|
double? elevation; //投影高程
|
||||||
|
int? type = 7; //类型,默认7参数
|
||||||
TransOptions({
|
TransOptions({
|
||||||
this.L0,
|
this.L0,
|
||||||
this.dstEllipsoid,
|
this.dstEllipsoid,
|
||||||
@ -123,6 +124,7 @@ class TransOptions {
|
|||||||
this.ry,
|
this.ry,
|
||||||
this.rz,
|
this.rz,
|
||||||
this.srcEllipsoid,
|
this.srcEllipsoid,
|
||||||
|
this.type,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,6 +137,8 @@ class CoordTrans {
|
|||||||
late Ellipsoid srcEllipsoid; //源椭球
|
late Ellipsoid srcEllipsoid; //源椭球
|
||||||
late Ellipsoid dstEllipsoid; //目标椭球
|
late Ellipsoid dstEllipsoid; //目标椭球
|
||||||
late TransParm transParm; //7参数
|
late TransParm transParm; //7参数
|
||||||
|
late int isMainBelt;
|
||||||
|
int Type = 7;
|
||||||
CoordTrans(TransOptions options) {
|
CoordTrans(TransOptions options) {
|
||||||
transParm = TransParm(options);
|
transParm = TransParm(options);
|
||||||
L0 = options.L0 ?? 0;
|
L0 = options.L0 ?? 0;
|
||||||
@ -142,6 +146,7 @@ class CoordTrans {
|
|||||||
srcEllipsoid = Ellipsoid(options.srcEllipsoid ?? 'WGS84');
|
srcEllipsoid = Ellipsoid(options.srcEllipsoid ?? 'WGS84');
|
||||||
dstEllipsoid = Ellipsoid(options.dstEllipsoid ?? 'WGS2000');
|
dstEllipsoid = Ellipsoid(options.dstEllipsoid ?? 'WGS2000');
|
||||||
zoneWidth = options.zoneWidth ?? 3;
|
zoneWidth = options.zoneWidth ?? 3;
|
||||||
|
Type = options.type ?? 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
CoordXYH GPS2XY(CoordGPS gps) {
|
CoordXYH GPS2XY(CoordGPS gps) {
|
||||||
@ -154,11 +159,19 @@ class CoordTrans {
|
|||||||
CoordXYZ xzj = XYZ2XYZ(zj);
|
CoordXYZ xzj = XYZ2XYZ(zj);
|
||||||
CoordBLH xdd = XYZ2BLH(xzj);
|
CoordBLH xdd = XYZ2BLH(xzj);
|
||||||
CoordXYH xpm = BL2XY(xdd);
|
CoordXYH xpm = BL2XY(xdd);
|
||||||
|
if (Type == 4) {
|
||||||
|
xpm.X = xpm.X + transParm.dx;
|
||||||
|
xpm.Y = xpm.Y + transParm.dy;
|
||||||
|
}
|
||||||
return xpm;
|
return xpm;
|
||||||
}
|
}
|
||||||
|
|
||||||
//平面坐标转大地坐标
|
//平面坐标转大地坐标
|
||||||
CoordBLH p2d(CoordXYH xyh) {
|
CoordBLH p2d(CoordXYH xyh) {
|
||||||
|
if (Type == 4) {
|
||||||
|
xyh.X = xyh.X - transParm.dx;
|
||||||
|
xyh.Y = xyh.Y - transParm.dy;
|
||||||
|
}
|
||||||
CoordBLH bl = XY2BL(xyh, true);
|
CoordBLH bl = XY2BL(xyh, true);
|
||||||
CoordXYZ zj = BLH2XYZ(bl, true);
|
CoordXYZ zj = BLH2XYZ(bl, true);
|
||||||
CoordXYZ xzj = XYZ2XYZ(zj, true);
|
CoordXYZ xzj = XYZ2XYZ(zj, true);
|
||||||
@ -168,7 +181,7 @@ class CoordTrans {
|
|||||||
|
|
||||||
setZoneWidth(width) {
|
setZoneWidth(width) {
|
||||||
if (width != 6 && width != 3) {
|
if (width != 6 && width != 3) {
|
||||||
// print('带宽应当为6或者为3');
|
// log('带宽应当为6或者为3');
|
||||||
} else {
|
} else {
|
||||||
zoneWidth = width;
|
zoneWidth = width;
|
||||||
}
|
}
|
||||||
@ -233,6 +246,14 @@ class CoordTrans {
|
|||||||
double dX = transParm.dx;
|
double dX = transParm.dx;
|
||||||
double dY = transParm.dy;
|
double dY = transParm.dy;
|
||||||
double dZ = transParm.dz;
|
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 rX = transParm.rx / 3600 / 180 * pi;
|
||||||
double rY = transParm.ry / 3600 / 180 * pi;
|
double rY = transParm.ry / 3600 / 180 * pi;
|
||||||
double rZ = transParm.rz / 3600 / 180 * pi;
|
double rZ = transParm.rz / 3600 / 180 * pi;
|
||||||
|
@ -1,31 +1,33 @@
|
|||||||
import 'dart:async';
|
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
import 'dart:ui' as ui;
|
import 'dart:ui' as ui;
|
||||||
|
import 'dart:developer' as dev;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:scence_map/controllers/controller.dart';
|
import 'package:scence_map/controllers/controller.dart';
|
||||||
import '../../controllers/appcontroller.dart';
|
import '../../controllers/appcontroller.dart';
|
||||||
import '../../controllers/gnss_Controller.dart';
|
import '../../controllers/gnss_controller.dart';
|
||||||
import '../../service/pile/device_type.dart';
|
import '../../service/pile/device_type.dart';
|
||||||
import 'aimpointController.dart';
|
import 'aimpoint_controller.dart';
|
||||||
|
|
||||||
final AimPointerController aimcontroller = Get.put(AimPointerController());
|
final AimPointerController aimcontroller = Get.put(AimPointerController());
|
||||||
final ScenceMapController mapcontroller = Get.put(ScenceMapController());
|
final ScenceMapController mapcontroller = Get.put(ScenceMapController());
|
||||||
final GnssController gnsscontroller = Get.put(GnssController());
|
final GnssController gnsscontroller = Get.put(GnssController());
|
||||||
|
|
||||||
|
// ignore: must_be_immutable
|
||||||
class AimPointer extends GetView<AimPointerController> {
|
class AimPointer extends GetView<AimPointerController> {
|
||||||
String gradienter = "0"; //水平仪
|
String gradienter = "0";
|
||||||
|
|
||||||
|
AimPointer({super.key}); //水平仪
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final Size size = MediaQuery.of(context).size;
|
final Size size = MediaQuery.of(context).size;
|
||||||
MediaQueryData mediaQueryData =
|
final mediaQueryData = MediaQueryData.fromView(View.of(context)); //获取当前屏幕信息
|
||||||
MediaQueryData.fromView(WidgetsBinding.instance.window); //获取当前屏幕信息
|
|
||||||
final orientation = mediaQueryData.orientation; //获得设备方向
|
final orientation = mediaQueryData.orientation; //获得设备方向
|
||||||
bool isPortrait = Orientation.portrait == orientation ? true : false;
|
bool isPortrait = Orientation.portrait == orientation ? true : false;
|
||||||
double rectWidth = size.width;
|
double rectWidth = size.width;
|
||||||
|
|
||||||
final deviceType = getDeviceType(context);
|
final deviceType = getDeviceType(context);
|
||||||
final appcontroller = Get.put(AppController());
|
Get.put(AppController());
|
||||||
if (orientation == Orientation.landscape) {
|
if (orientation == Orientation.landscape) {
|
||||||
rectWidth = size.width / 2 - 60;
|
rectWidth = size.width / 2 - 60;
|
||||||
if (deviceType == DeviceType.mobile) {
|
if (deviceType == DeviceType.mobile) {
|
||||||
@ -45,7 +47,7 @@ class AimPointer extends GetView<AimPointerController> {
|
|||||||
child: Card(
|
child: Card(
|
||||||
clipBehavior: Clip.antiAlias,
|
clipBehavior: Clip.antiAlias,
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
side: BorderSide(color: Colors.transparent, width: 0),
|
side: const BorderSide(color: Colors.transparent, width: 0),
|
||||||
|
|
||||||
borderRadius: BorderRadius.circular(4.0), // 可以根据需要调整圆角半径
|
borderRadius: BorderRadius.circular(4.0), // 可以根据需要调整圆角半径
|
||||||
),
|
),
|
||||||
@ -110,8 +112,9 @@ class AimPointer extends GetView<AimPointerController> {
|
|||||||
Obx(() {
|
Obx(() {
|
||||||
var pixel2MeterRatio =
|
var pixel2MeterRatio =
|
||||||
aimcontroller.plot.value * 2 / rectWidth;
|
aimcontroller.plot.value * 2 / rectWidth;
|
||||||
if (aimcontroller.selectedPilePoint != null)
|
if (aimcontroller.selectedPilePoint != null) {
|
||||||
gnsscontroller.device.update.value;
|
gnsscontroller.device.update.value;
|
||||||
|
}
|
||||||
if (aimcontroller.selectedPilePoint != null) {
|
if (aimcontroller.selectedPilePoint != null) {
|
||||||
var dx = (gnsscontroller.device.x -
|
var dx = (gnsscontroller.device.x -
|
||||||
aimcontroller.selectedPilePoint!.x);
|
aimcontroller.selectedPilePoint!.x);
|
||||||
@ -132,8 +135,8 @@ class AimPointer extends GetView<AimPointerController> {
|
|||||||
-dx * sin(-mapcontroller.rotation.value) +
|
-dx * sin(-mapcontroller.rotation.value) +
|
||||||
dy * cos(-mapcontroller.rotation.value);
|
dy * cos(-mapcontroller.rotation.value);
|
||||||
// aimcontroller.positionUpdate.value++;
|
// aimcontroller.positionUpdate.value++;
|
||||||
print("dx:$dx,dy:$dy");
|
dev.log("dx:$dx,dy:$dy");
|
||||||
print(
|
dev.log(
|
||||||
"left:${aimcontroller.x.value},top:${aimcontroller.y.value}");
|
"left:${aimcontroller.x.value},top:${aimcontroller.y.value}");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,7 +163,7 @@ class AimPointer extends GetView<AimPointerController> {
|
|||||||
"images/navi_pointer.png",
|
"images/navi_pointer.png",
|
||||||
errorBuilder:
|
errorBuilder:
|
||||||
(context, error, stackTrace) {
|
(context, error, stackTrace) {
|
||||||
return Text('无法加载图片');
|
return const Text('无法加载图片');
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -285,7 +288,7 @@ class DrawAxis extends CustomPainter {
|
|||||||
// // 绘制水平仪
|
// // 绘制水平仪
|
||||||
// double x = real.tiltX.value; //
|
// double x = real.tiltX.value; //
|
||||||
// double y = real.tiltY.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) {
|
// if (real.tiltX.value == 0 || real.tiltY.value == 0) {
|
||||||
// x = 0;
|
// x = 0;
|
||||||
// y = 0;
|
// y = 0;
|
||||||
@ -329,13 +332,12 @@ class DrawAxis extends CustomPainter {
|
|||||||
|
|
||||||
// 瞄准器卡片
|
// 瞄准器卡片
|
||||||
class SightGview extends StatelessWidget {
|
class SightGview extends StatelessWidget {
|
||||||
const SightGview();
|
const SightGview({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final Size size = MediaQuery.of(context).size;
|
final Size size = MediaQuery.of(context).size;
|
||||||
MediaQueryData mediaQueryData =
|
final mediaQueryData = MediaQueryData.fromView(View.of(context)); //获取当前屏幕信息
|
||||||
MediaQueryData.fromView(WidgetsBinding.instance.window); //获取当前屏幕信息
|
|
||||||
final orientation = mediaQueryData.orientation; //获得设备方向
|
final orientation = mediaQueryData.orientation; //获得设备方向
|
||||||
double rectWidth = size.width;
|
double rectWidth = size.width;
|
||||||
final deviceType = getDeviceType(context);
|
final deviceType = getDeviceType(context);
|
||||||
|
@ -33,7 +33,7 @@ class _CanlenderSelectState extends State<CanlenderSelect> {
|
|||||||
if (!_initialized &&
|
if (!_initialized &&
|
||||||
oldWidget.constructionData != widget.constructionData) {
|
oldWidget.constructionData != widget.constructionData) {
|
||||||
setState(() {
|
setState(() {
|
||||||
// print(widget.constructionData?.first);
|
// log(widget.constructionData?.first);
|
||||||
if (widget.constructionData.isNotEmpty) {
|
if (widget.constructionData.isNotEmpty) {
|
||||||
_dialogCalendarPickerValue = [
|
_dialogCalendarPickerValue = [
|
||||||
DateTime.parse(widget.constructionData.first)
|
DateTime.parse(widget.constructionData.first)
|
||||||
@ -203,7 +203,7 @@ class _CanlenderSelectState extends State<CanlenderSelect> {
|
|||||||
);
|
);
|
||||||
if (values != null) {
|
if (values != null) {
|
||||||
// ignore: avoid_print
|
// ignore: avoid_print
|
||||||
// print(_getValueText(
|
// log(_getValueText(
|
||||||
// config.calendarType,
|
// config.calendarType,
|
||||||
// values,
|
// values,
|
||||||
// ));
|
// ));
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import 'package:data_table_2/data_table_2.dart';
|
import 'package:data_table_2/data_table_2.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
|
||||||
|
|
||||||
class PageNumber extends StatefulWidget {
|
class PageNumber extends StatefulWidget {
|
||||||
const PageNumber({
|
const PageNumber({
|
||||||
@ -39,7 +38,7 @@ class PageNumberState extends State<PageNumber> {
|
|||||||
// with AsyncPaginatedDatatable2 the widget is instatiotaed once
|
// with AsyncPaginatedDatatable2 the widget is instatiotaed once
|
||||||
// though it's state is created 3 times upon first loading
|
// though it's state is created 3 times upon first loading
|
||||||
// of the Custom pager example
|
// of the Custom pager example
|
||||||
// print(identityHashCode(this));
|
// log(identityHashCode(this));
|
||||||
return Text(widget._controller.isAttached
|
return Text(widget._controller.isAttached
|
||||||
? 'Page: ${1 + ((widget._controller.currentRowIndex + 1) / widget._controller.rowsPerPage).floor()} of '
|
? 'Page: ${1 + ((widget._controller.currentRowIndex + 1) / widget._controller.rowsPerPage).floor()} of '
|
||||||
'${(widget._controller.rowCount / widget._controller.rowsPerPage).ceil()}'
|
'${(widget._controller.rowCount / widget._controller.rowsPerPage).ceil()}'
|
||||||
|
@ -8,7 +8,7 @@ import '../../service/base.dart';
|
|||||||
import 'component/canlender_select.dart';
|
import 'component/canlender_select.dart';
|
||||||
import 'component/custom_pager.dart';
|
import 'component/custom_pager.dart';
|
||||||
import 'record_data_source.dart';
|
import 'record_data_source.dart';
|
||||||
import 'tableCol.dart';
|
import 'table_col.dart';
|
||||||
|
|
||||||
// import 'record_data_source.dart'; // bug 切换到对应proj_type 下
|
// import 'record_data_source.dart'; // bug 切换到对应proj_type 下
|
||||||
|
|
||||||
|
@ -14,11 +14,11 @@ class RecordDataSourceAsync extends AsyncDataTableSource {
|
|||||||
BuildContext context;
|
BuildContext context;
|
||||||
final RecordFakeWebService _repo = RecordFakeWebService();
|
final RecordFakeWebService _repo = RecordFakeWebService();
|
||||||
RecordDataSourceAsync(this.size, this.date, this.context) {
|
RecordDataSourceAsync(this.size, this.date, this.context) {
|
||||||
// print(' created');
|
// log(' created');
|
||||||
}
|
}
|
||||||
RecordDataSourceAsync.empty(this.size, this.date, this.context) {
|
RecordDataSourceAsync.empty(this.size, this.date, this.context) {
|
||||||
_empty = true;
|
_empty = true;
|
||||||
// print('empty created');
|
// log('empty created');
|
||||||
}
|
}
|
||||||
|
|
||||||
String _sortColumn = "tp_id";
|
String _sortColumn = "tp_id";
|
||||||
@ -32,7 +32,7 @@ class RecordDataSourceAsync extends AsyncDataTableSource {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<AsyncRowsResponse> getRows(int startIndex, int count) async {
|
Future<AsyncRowsResponse> getRows(int startIndex, int count) async {
|
||||||
// print('getRows($startIndex, $count)');
|
// log('getRows($startIndex, $count)');
|
||||||
page = startIndex ~/ count + 1;
|
page = startIndex ~/ count + 1;
|
||||||
|
|
||||||
var data = await GetServices()
|
var data = await GetServices()
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.dart';
|
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:cpnav/service/base.dart';
|
import 'package:cpnav/service/base.dart';
|
||||||
|
|
||||||
import '../../service/user/loginprefs.dart';
|
import '../../service/user/loginprefs.dart';
|
||||||
|
|
||||||
class LoginPageController extends GetxController
|
class LoginPageController extends GetxController
|
||||||
with SingleGetTickerProviderMixin {
|
with GetSingleTickerProviderStateMixin {
|
||||||
late TabController _tabController;
|
late TabController _tabController;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -208,7 +207,7 @@ class AccountLoginPage extends GetView<AccountLoginController> {
|
|||||||
controller.svgString.value,
|
controller.svgString.value,
|
||||||
width: 70, // 设置宽度
|
width: 70, // 设置宽度
|
||||||
height: 40, // 设置高度
|
height: 40, // 设置高度
|
||||||
color: Colors.black,
|
// color: Colors.black,
|
||||||
)
|
)
|
||||||
: const Text("")))
|
: const Text("")))
|
||||||
],
|
],
|
||||||
@ -231,9 +230,11 @@ class AccountLoginPage extends GetView<AccountLoginController> {
|
|||||||
} else {
|
} else {
|
||||||
loginPrefs.saveExpire((res["data"]["expire"]));
|
loginPrefs.saveExpire((res["data"]["expire"]));
|
||||||
loginPrefs.saveToken((res["data"]["token"]));
|
loginPrefs.saveToken((res["data"]["token"]));
|
||||||
|
if (context.mounted) {
|
||||||
Navigator.pushNamed(context, 'home'); //跳转至首页
|
Navigator.pushNamed(context, 'home'); //跳转至首页
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: const Text('登录'),
|
child: const Text('登录'),
|
||||||
)
|
)
|
||||||
|
@ -11,7 +11,7 @@ import 'login_page.dart';
|
|||||||
*/
|
*/
|
||||||
Route<dynamic>? onGenerateRoute(RouteSettings settings) {
|
Route<dynamic>? onGenerateRoute(RouteSettings settings) {
|
||||||
Map<String, Widget> routes = {
|
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路径
|
'login': const Login(), //定义login路径
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ class PassTrackController extends GetxController {
|
|||||||
var binddevices = await service.getDeviceBind();
|
var binddevices = await service.getDeviceBind();
|
||||||
for (var device in binddevices) {
|
for (var device in binddevices) {
|
||||||
var dev = DeviceItem.fromJson(device);
|
var dev = DeviceItem.fromJson(device);
|
||||||
mapController.deviceList[dev.TID] = dev;
|
mapController.deviceList[dev.tid] = dev;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,20 +1,16 @@
|
|||||||
//字体
|
//字体
|
||||||
import 'package:bottom_picker/resources/arrays.dart';
|
import 'dart:developer';
|
||||||
import 'package:cpnav/controllers/gnss_Controller.dart';
|
|
||||||
|
import 'package:cpnav/controllers/gnss_controller.dart';
|
||||||
import 'package:cpnav/main.dart';
|
import 'package:cpnav/main.dart';
|
||||||
import 'package:cpnav/pages/aim_point/aimpoint_page.dart';
|
import 'package:cpnav/pages/aim_point/aimpoint_page.dart';
|
||||||
import 'package:flutter/material.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:get/get.dart';
|
||||||
import 'package:scence_map/controllers/controller.dart';
|
import 'package:scence_map/controllers/controller.dart';
|
||||||
import 'package:scence_map/record_entity.dart';
|
import 'package:scence_map/record_entity.dart';
|
||||||
import 'package:scence_map/scence_map.dart';
|
import 'package:scence_map/scence_map.dart';
|
||||||
import 'package:syncfusion_flutter_sliders/sliders.dart';
|
import '../aim_point/aimpoint_controller.dart';
|
||||||
|
import '../real/real_data_card.dart';
|
||||||
import '../aim_point/aimpointController.dart';
|
|
||||||
import '../real/realDataCard.dart';
|
|
||||||
import "controller.dart";
|
import "controller.dart";
|
||||||
|
|
||||||
ScenceMapController mapcontroller = Get.put(ScenceMapController());
|
ScenceMapController mapcontroller = Get.put(ScenceMapController());
|
||||||
@ -30,17 +26,20 @@ ScenceMapController mapcontroller = Get.put(ScenceMapController());
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
class PassTrack extends GetView<PassTrackController> {
|
class PassTrack extends GetView<PassTrackController> {
|
||||||
final GlobalKey<PopupMenuButtonState<int>> _popupMenuKey =
|
// final GlobalKey<PopupMenuButtonState<int>> _popupMenuKey =
|
||||||
GlobalKey<PopupMenuButtonState<int>>();
|
// GlobalKey<PopupMenuButtonState<int>>();
|
||||||
|
@override
|
||||||
final controller = Get.put(PassTrackController("TEST", "pile_cm"));
|
final controller = Get.put(PassTrackController("TEST", "pile_cm"));
|
||||||
final aimcontroller = Get.find<AimPointerController>();
|
final aimcontroller = Get.find<AimPointerController>();
|
||||||
String str = "播放";
|
// String str = "播放";
|
||||||
int sWidth = 0;
|
// int sWidth = 0;
|
||||||
int bits = -1;
|
// int bits = -1;
|
||||||
int speed = 50;
|
// int speed = 50;
|
||||||
List<int> speedList = [1, 2, 10, 20, 50, 100, 200, 500];
|
// List<int> speedList = [1, 2, 10, 20, 50, 100, 200, 500];
|
||||||
int maxLength = 200;
|
// int maxLength = 200;
|
||||||
SfRangeValues _rangevalues = const SfRangeValues(0.0, 200.0);
|
// final _rangevalues = const SfRangeValues(0.0, 200.0);
|
||||||
|
|
||||||
|
PassTrack({super.key});
|
||||||
|
|
||||||
// @override
|
// @override
|
||||||
// initState() {
|
// initState() {
|
||||||
@ -86,7 +85,7 @@ class PassTrack extends GetView<PassTrackController> {
|
|||||||
// }
|
// }
|
||||||
// await passTrackPlugin.create(sWidth, sWidth);
|
// await passTrackPlugin.create(sWidth, sWidth);
|
||||||
// fileHandle.textureId = await passTrackPlugin.getTextureId() ?? -1;
|
// fileHandle.textureId = await passTrackPlugin.getTextureId() ?? -1;
|
||||||
// print("textureId: ${fileHandle.textureId}");
|
// log("textureId: ${fileHandle.textureId}");
|
||||||
|
|
||||||
// if (!mounted) return;
|
// if (!mounted) return;
|
||||||
|
|
||||||
@ -101,23 +100,23 @@ class PassTrack extends GetView<PassTrackController> {
|
|||||||
return Stack(
|
return Stack(
|
||||||
children: [
|
children: [
|
||||||
ScenceMapView(
|
ScenceMapView(
|
||||||
children: [],
|
|
||||||
onUpdate: (Offset center, double scale, double rotation) {
|
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
|
forGroundPainter: appcontroller.currentIndex.value == 1
|
||||||
? BorderPainter(controller)
|
? BorderPainter(controller)
|
||||||
: null,
|
: null,
|
||||||
onUpdatePilePoint: (RecordEntity? selectedPilePoint, double scale,
|
onUpdatePilePoint: (RecordEntity? selectedPilePoint, double scale,
|
||||||
double rotation) {
|
double rotation) {
|
||||||
print(
|
log(
|
||||||
"selectedPilePoint:$selectedPilePoint scale:$scale rotation:$rotation");
|
"selectedPilePoint:$selectedPilePoint scale:$scale rotation:$rotation");
|
||||||
controller.selectedPilePoint = selectedPilePoint;
|
controller.selectedPilePoint = selectedPilePoint;
|
||||||
aimcontroller.selectedPilePoint = selectedPilePoint;
|
aimcontroller.selectedPilePoint = selectedPilePoint;
|
||||||
},
|
},
|
||||||
|
children: const [],
|
||||||
),
|
),
|
||||||
SightGview(),
|
const SightGview(),
|
||||||
RealDataShow(),
|
const RealDataShow(),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
import 'dart:developer' as dev;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.dart';
|
import 'package:flutter/scheduler.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
@ -56,7 +56,7 @@ class _ProcessChartState extends State<ProcessChart> {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print('错误:$e');
|
dev.log("错误");
|
||||||
setState(() {
|
setState(() {
|
||||||
processList = [];
|
processList = [];
|
||||||
});
|
});
|
||||||
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
import 'line_chart.dart';
|
import 'line_chart.dart';
|
||||||
import 'realController.dart';
|
import 'real_controller.dart';
|
||||||
import 'real_data.dart';
|
import 'real_data.dart';
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import 'package:intl/intl.dart';
|
|||||||
|
|
||||||
import 'component/chart.dart';
|
import 'component/chart.dart';
|
||||||
import 'process.dart';
|
import 'process.dart';
|
||||||
import 'realController.dart';
|
import 'real_controller.dart';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
import 'dart:ui';
|
import 'dart:ui';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:flutter_webrtc/flutter_webrtc.dart';
|
// import 'package:flutter_webrtc/flutter_webrtc.dart';
|
||||||
|
|
||||||
import 'process.dart';
|
import 'process.dart';
|
||||||
|
|
||||||
@ -19,8 +19,8 @@ class RealController extends GetxController {
|
|||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
RTCPeerConnection? peerConnection;
|
// RTCPeerConnection? peerConnection;
|
||||||
RTCDataChannel? dataChannel;
|
// RTCDataChannel? dataChannel;
|
||||||
final speed = 0.0.obs;
|
final speed = 0.0.obs;
|
||||||
final depth = 0.0.obs;
|
final depth = 0.0.obs;
|
||||||
final tiltX = 0.0.obs;
|
final tiltX = 0.0.obs;
|
||||||
@ -71,28 +71,28 @@ class RealController extends GetxController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void initializePeerConnection() async {
|
void initializePeerConnection() async {
|
||||||
final configuration = <String, dynamic>{
|
// final configuration = <String, dynamic>{
|
||||||
'iceServers': [
|
// 'iceServers': [
|
||||||
{'url': 'stun:stun.l.google.com:19302'},
|
// {'url': 'stun:stun.l.google.com:19302'},
|
||||||
],
|
// ],
|
||||||
};
|
// };
|
||||||
peerConnection = await createPeerConnection(configuration);
|
// peerConnection = await createPeerConnection(configuration);
|
||||||
initializeDataChannel();
|
// initializeDataChannel();
|
||||||
}
|
}
|
||||||
|
|
||||||
void initializeDataChannel() async {
|
// void initializeDataChannel() async {
|
||||||
// 创建数据通道
|
// // 创建数据通道
|
||||||
dataChannel = await peerConnection!
|
// dataChannel = await peerConnection!
|
||||||
.createDataChannel('dataChannel', RTCDataChannelInit()..id = 1);
|
// .createDataChannel('dataChannel', RTCDataChannelInit()..id = 1);
|
||||||
|
|
||||||
// 监听数据通道的消息事件
|
// // 监听数据通道的消息事件
|
||||||
dataChannel!.onMessage = (RTCDataChannelMessage message) {
|
// dataChannel!.onMessage = (RTCDataChannelMessage message) {
|
||||||
// 处理接收到的消息
|
// // 处理接收到的消息
|
||||||
if (message.isBinary) {
|
// if (message.isBinary) {
|
||||||
onBleData(message.binary);
|
// onBleData(message.binary);
|
||||||
}
|
// }
|
||||||
};
|
// };
|
||||||
}
|
// }
|
||||||
|
|
||||||
onBleData(Uint8List data) {
|
onBleData(Uint8List data) {
|
||||||
ByteData byteData = data.buffer.asByteData();
|
ByteData byteData = data.buffer.asByteData();
|
||||||
@ -101,7 +101,7 @@ class RealController extends GetxController {
|
|||||||
if (tag == 161) {
|
if (tag == 161) {
|
||||||
speed.value = byteData.getInt16(2, Endian.little) * 0.1;
|
speed.value = byteData.getInt16(2, Endian.little) * 0.1;
|
||||||
int timeInt = byteData.getUint16(4, Endian.little);
|
int timeInt = byteData.getUint16(4, Endian.little);
|
||||||
// print(timeInt);
|
// log(timeInt);
|
||||||
time.value = convertSecondsToMinSec(timeInt);
|
time.value = convertSecondsToMinSec(timeInt);
|
||||||
depth.value = byteData.getInt16(6, Endian.little) * 0.001;
|
depth.value = byteData.getInt16(6, Endian.little) * 0.001;
|
||||||
pileId.value = byteData.getUint16(8, Endian.little).toString();
|
pileId.value = byteData.getUint16(8, Endian.little).toString();
|
||||||
@ -126,12 +126,12 @@ class RealController extends GetxController {
|
|||||||
// 中心坐标
|
// 中心坐标
|
||||||
centerX.value = byteData.getFloat64(44, Endian.little);
|
centerX.value = byteData.getFloat64(44, Endian.little);
|
||||||
centerY.value = byteData.getFloat64(52, Endian.little);
|
centerY.value = byteData.getFloat64(52, Endian.little);
|
||||||
// print("中心---$centerX,$centerY");
|
// log("中心---$centerX,$centerY");
|
||||||
// tiltX.value = byteData.getFloat64(44, Endian.little);
|
// tiltX.value = byteData.getFloat64(44, Endian.little);
|
||||||
// tiltY.value = byteData.getFloat64(52, Endian.little);
|
// tiltY.value = byteData.getFloat64(52, Endian.little);
|
||||||
// var direction = byteData.getFloat64(60, Endian.little);
|
// var direction = byteData.getFloat64(60, Endian.little);
|
||||||
// var pitch = byteData.getFloat64(68, 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
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
dataChannel?.close(); // 关闭数据通道
|
// dataChannel?.close(); // 关闭数据通道
|
||||||
peerConnection?.close(); // 关闭对等连接
|
// peerConnection?.close(); // 关闭对等连接
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
import '../../service/pile/device_type.dart';
|
import '../../service/pile/device_type.dart';
|
||||||
import 'realController.dart';
|
import 'real_controller.dart';
|
||||||
|
|
||||||
class RealItem extends StatelessWidget {
|
class RealItem extends StatelessWidget {
|
||||||
final int flex;
|
final int flex;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
//实时数据卡片
|
//实时数据卡片
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
import 'realController.dart';
|
import 'real_controller.dart';
|
||||||
|
|
||||||
class RealDataShow extends StatelessWidget {
|
class RealDataShow extends StatelessWidget {
|
||||||
const RealDataShow({super.key});
|
const RealDataShow({super.key});
|
||||||
@ -83,37 +82,37 @@ class RealDataShow extends StatelessWidget {
|
|||||||
)))));
|
)))));
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildCard(BuildContext context, double width, double height) {
|
// Widget _buildCard(BuildContext context, double width, double height) {
|
||||||
final RealController controller1 = Get.find();
|
// final RealController controller1 = Get.find();
|
||||||
|
|
||||||
return Container(
|
// return Container(
|
||||||
decoration: const BoxDecoration(color: Color.fromARGB(0, 214, 133, 133)),
|
// decoration: const BoxDecoration(color: Color.fromARGB(0, 214, 133, 133)),
|
||||||
child: Card(
|
// child: Card(
|
||||||
elevation: 5.0,
|
// elevation: 5.0,
|
||||||
child: Padding(
|
// child: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
// padding: const EdgeInsets.all(8.0),
|
||||||
child: Column(
|
// child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
// mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
// children: [
|
||||||
Row(
|
// Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
// children: [
|
||||||
const Text("实时数据"),
|
// const Text("实时数据"),
|
||||||
IconButton(
|
// IconButton(
|
||||||
icon: const Icon(Icons.close),
|
// icon: const Icon(Icons.close),
|
||||||
onPressed: () {
|
// onPressed: () {
|
||||||
controller1.isDataVisible.value = false;
|
// controller1.isDataVisible.value = false;
|
||||||
},
|
// },
|
||||||
),
|
// ),
|
||||||
],
|
// ],
|
||||||
),
|
// ),
|
||||||
..._buildRealTimeDataList(context),
|
// ..._buildRealTimeDataList(context),
|
||||||
],
|
// ],
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
);
|
// );
|
||||||
}
|
// }
|
||||||
|
|
||||||
List<Widget> _buildRealTimeDataList(BuildContext context) {
|
List<Widget> _buildRealTimeDataList(BuildContext context) {
|
||||||
// 获取实时控制器
|
// 获取实时控制器
|
@ -1,11 +1,12 @@
|
|||||||
|
import 'dart:developer';
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import '../connect/bluetooth_page.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/app_config.dart';
|
||||||
import '../connect/config/blueParams.dart';
|
import '../connect/config/blue_params.dart';
|
||||||
import '../connect/config/connect_type.dart';
|
import '../connect/config/connect_type.dart';
|
||||||
import 'coor_trans.dart';
|
import 'coor_trans.dart';
|
||||||
|
|
||||||
@ -58,7 +59,7 @@ class Connect {
|
|||||||
ConnectType.bluetooth) {
|
ConnectType.bluetooth) {
|
||||||
blueSetting.write(blueToothController.connectedDeviceID.value, value);
|
blueSetting.write(blueToothController.connectedDeviceID.value, value);
|
||||||
} else {
|
} else {
|
||||||
print("暂无连接");
|
log("暂无连接");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,8 +17,9 @@ class CoorTransModel {
|
|||||||
String name;
|
String name;
|
||||||
double rota;
|
double rota;
|
||||||
String srcEllipsoid;
|
String srcEllipsoid;
|
||||||
CoorTransModel({
|
int? type;
|
||||||
required this.name,
|
CoorTransModel(
|
||||||
|
{required this.name,
|
||||||
// ignore: non_constant_identifier_names
|
// ignore: non_constant_identifier_names
|
||||||
required this.L0,
|
required this.L0,
|
||||||
required this.belt,
|
required this.belt,
|
||||||
@ -36,7 +37,7 @@ class CoorTransModel {
|
|||||||
required this.isMain,
|
required this.isMain,
|
||||||
required this.rota,
|
required this.rota,
|
||||||
required this.srcEllipsoid,
|
required this.srcEllipsoid,
|
||||||
});
|
this.type});
|
||||||
factory CoorTransModel.fromJson(Map<dynamic, dynamic> data) {
|
factory CoorTransModel.fromJson(Map<dynamic, dynamic> data) {
|
||||||
return CoorTransModel(
|
return CoorTransModel(
|
||||||
name: data['name'],
|
name: data['name'],
|
||||||
@ -56,7 +57,7 @@ class CoorTransModel {
|
|||||||
isMain: data['is_main'],
|
isMain: data['is_main'],
|
||||||
elevation: data['elevation'].toDouble(),
|
elevation: data['elevation'].toDouble(),
|
||||||
srcEllipsoid: data['srcEllipsoid'],
|
srcEllipsoid: data['srcEllipsoid'],
|
||||||
);
|
type: data['type'] ?? 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
void forEach(Null Function(dynamic key, dynamic value) param0) {}
|
void forEach(Null Function(dynamic key, dynamic value) param0) {}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
|
import 'dart:developer';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.dart';
|
import 'package:flutter/scheduler.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
import '../../../../service/base.dart';
|
import '../../../../service/base.dart';
|
||||||
import '../../../../service/pile/device_type.dart';
|
import '../../../../service/pile/device_type.dart';
|
||||||
import '../connect/config/blueParams.dart';
|
import '../connect/config/blue_params.dart';
|
||||||
import '../connect/controllers/blueToothController.dart';
|
import '../connect/controllers/blue_tooth_controller.dart';
|
||||||
import 'connect.dart';
|
import 'connect.dart';
|
||||||
import 'coor_trans.dart';
|
import 'coor_trans.dart';
|
||||||
|
|
||||||
@ -50,7 +52,7 @@ BlueSetting blueSetting = BlueSetting();
|
|||||||
// coorTrans = CoorTransModel.fromJson(mianBelt);
|
// coorTrans = CoorTransModel.fromJson(mianBelt);
|
||||||
// setState(() {});
|
// setState(() {});
|
||||||
// } else {
|
// } else {
|
||||||
// print("当前项目没有设置中央子午线");
|
// log("当前项目没有设置中央子午线");
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// });
|
// });
|
||||||
@ -274,6 +276,8 @@ class XyChangeView extends StatelessWidget {
|
|||||||
text: _controller.coorTrans.value.L0.toString());
|
text: _controller.coorTrans.value.L0.toString());
|
||||||
TextEditingController elevationController = TextEditingController(
|
TextEditingController elevationController = TextEditingController(
|
||||||
text: _controller.coorTrans.value.elevation.toString());
|
text: _controller.coorTrans.value.elevation.toString());
|
||||||
|
TextEditingController typeController = TextEditingController(
|
||||||
|
text: _controller.coorTrans.value.type.toString());
|
||||||
TextEditingController dxController = TextEditingController(
|
TextEditingController dxController = TextEditingController(
|
||||||
text: _controller.coorTrans.value.dx.toString());
|
text: _controller.coorTrans.value.dx.toString());
|
||||||
TextEditingController dyController = TextEditingController(
|
TextEditingController dyController = TextEditingController(
|
||||||
@ -314,6 +318,18 @@ class XyChangeView extends StatelessWidget {
|
|||||||
// _controller.coorTrans.value.L0 =(value);
|
// _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 = [
|
List<Widget> list2 = [
|
||||||
Flexible(
|
Flexible(
|
||||||
@ -342,7 +358,8 @@ class XyChangeView extends StatelessWidget {
|
|||||||
},
|
},
|
||||||
)),
|
)),
|
||||||
const Divider(),
|
const Divider(),
|
||||||
Flexible(
|
_controller.coorTrans.value.type == 4
|
||||||
|
? Flexible(
|
||||||
child: TextFormField(
|
child: TextFormField(
|
||||||
keyboardType: TextInputType.number,
|
keyboardType: TextInputType.number,
|
||||||
controller: dzController,
|
controller: dzController,
|
||||||
@ -353,7 +370,8 @@ class XyChangeView extends StatelessWidget {
|
|||||||
onChanged: (String value) {
|
onChanged: (String value) {
|
||||||
// _controller.coorTrans.value.L0 =(value);
|
// _controller.coorTrans.value.L0 =(value);
|
||||||
},
|
},
|
||||||
)),
|
))
|
||||||
|
: const Text(""),
|
||||||
const Divider(),
|
const Divider(),
|
||||||
];
|
];
|
||||||
List<Widget> list3 = [
|
List<Widget> list3 = [
|
||||||
@ -383,7 +401,8 @@ class XyChangeView extends StatelessWidget {
|
|||||||
},
|
},
|
||||||
)),
|
)),
|
||||||
const Divider(),
|
const Divider(),
|
||||||
Flexible(
|
_controller.coorTrans.value.type == 4
|
||||||
|
? Flexible(
|
||||||
child: TextFormField(
|
child: TextFormField(
|
||||||
keyboardType: TextInputType.number,
|
keyboardType: TextInputType.number,
|
||||||
controller: wzController,
|
controller: wzController,
|
||||||
@ -394,7 +413,8 @@ class XyChangeView extends StatelessWidget {
|
|||||||
onChanged: (String value) {
|
onChanged: (String value) {
|
||||||
// _controller.coorTrans.value.L0 =(value);
|
// _controller.coorTrans.value.L0 =(value);
|
||||||
},
|
},
|
||||||
)),
|
))
|
||||||
|
: const Text(""),
|
||||||
const Divider(),
|
const Divider(),
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -422,7 +442,8 @@ class XyChangeView extends StatelessWidget {
|
|||||||
children: list3,
|
children: list3,
|
||||||
),
|
),
|
||||||
const Divider(),
|
const Divider(),
|
||||||
SizedBox(
|
_controller.coorTrans.value.type == 4
|
||||||
|
? SizedBox(
|
||||||
child: TextFormField(
|
child: TextFormField(
|
||||||
keyboardType: TextInputType.number,
|
keyboardType: TextInputType.number,
|
||||||
controller: kController,
|
controller: kController,
|
||||||
@ -433,7 +454,8 @@ class XyChangeView extends StatelessWidget {
|
|||||||
onChanged: (String value) {
|
onChanged: (String value) {
|
||||||
// _controller.coorTrans.value.L0 =(value);
|
// _controller.coorTrans.value.L0 =(value);
|
||||||
},
|
},
|
||||||
)),
|
))
|
||||||
|
: const Text(""),
|
||||||
const Divider(),
|
const Divider(),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
@ -469,7 +491,8 @@ class XYChangeController extends GetxController {
|
|||||||
isMain: 0,
|
isMain: 0,
|
||||||
rota: 0,
|
rota: 0,
|
||||||
srcEllipsoid: "",
|
srcEllipsoid: "",
|
||||||
).obs;
|
type: 7)
|
||||||
|
.obs;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
@ -481,7 +504,7 @@ class XYChangeController extends GetxController {
|
|||||||
coordTransmap.firstWhere((element) => element['belt'] == 'main');
|
coordTransmap.firstWhere((element) => element['belt'] == 'main');
|
||||||
coorTrans.value = CoorTransModel.fromJson(mianBelt);
|
coorTrans.value = CoorTransModel.fromJson(mianBelt);
|
||||||
} else {
|
} else {
|
||||||
print("当前项目没有设置中央子午线");
|
log("当前项目没有设置中央子午线");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
import '../XyChange/connect.dart';
|
import '../XyChange/connect.dart';
|
||||||
import '../connect/config/blueParams.dart';
|
import '../connect/config/blue_params.dart';
|
||||||
import '../connect/controllers/blueToothController.dart';
|
import '../connect/controllers/blue_tooth_controller.dart';
|
||||||
|
|
||||||
final BlueToothController blueToothController = Get.put(BlueToothController());
|
final BlueToothController blueToothController = Get.put(BlueToothController());
|
||||||
BlueSetting blueSetting = BlueSetting();
|
BlueSetting blueSetting = BlueSetting();
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
import 'dart:developer';
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.dart';
|
import 'package:flutter/scheduler.dart';
|
||||||
@ -7,10 +8,10 @@ import 'package:get/get.dart';
|
|||||||
import 'package:open_settings/open_settings.dart';
|
import 'package:open_settings/open_settings.dart';
|
||||||
import 'package:permission_handler/permission_handler.dart';
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
|
|
||||||
import '../../../real/realController.dart';
|
import '../../../real/real_controller.dart';
|
||||||
import 'config/app_config.dart';
|
import 'config/app_config.dart';
|
||||||
import 'config/blueParams.dart';
|
import 'config/blue_params.dart';
|
||||||
import 'controllers/blueToothController.dart';
|
import 'controllers/blue_tooth_controller.dart';
|
||||||
|
|
||||||
BlueParams blueParams = BlueParams();
|
BlueParams blueParams = BlueParams();
|
||||||
BlueSetting blueSetting = BlueSetting();
|
BlueSetting blueSetting = BlueSetting();
|
||||||
@ -126,7 +127,7 @@ class _BlueToothState extends State<BlueTooth> {
|
|||||||
_scanResults.length = 0;
|
_scanResults.length = 0;
|
||||||
//监视蓝牙是否开启
|
//监视蓝牙是否开启
|
||||||
QuickBlue.availabilityChangeStream.listen((AvailabilityState state) {
|
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);
|
blueParams.gssUuid("FF02"), BleInputProperty.indication);
|
||||||
}
|
}
|
||||||
|
|
||||||
print('_handleServiceDiscovery $deviceId, $serviceId, $characteristicIds');
|
log('_handleServiceDiscovery $deviceId, $serviceId, $characteristicIds');
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Uint8List> originalList = [];
|
List<Uint8List> originalList = [];
|
||||||
|
@ -21,12 +21,12 @@ class SocketSetting {
|
|||||||
// socket!.listen(
|
// socket!.listen(
|
||||||
// (Uint8List data) {
|
// (Uint8List data) {
|
||||||
// realController.onBleData(data);
|
// realController.onBleData(data);
|
||||||
// // print('收到服务器回复:$data');
|
// // log('收到服务器回复:$data');
|
||||||
// },
|
// },
|
||||||
// onError: (error) async {
|
// onError: (error) async {
|
||||||
// disConnect();
|
// disConnect();
|
||||||
|
|
||||||
// print('与服务器的连接发生错误:$error');
|
// log('与服务器的连接发生错误:$error');
|
||||||
// socket = await Socket.connect(ip, port);
|
// socket = await Socket.connect(ip, port);
|
||||||
// return;
|
// return;
|
||||||
// },
|
// },
|
||||||
@ -34,12 +34,12 @@ class SocketSetting {
|
|||||||
|
|
||||||
// // 监听服务器断开连接
|
// // 监听服务器断开连接
|
||||||
// socket!.done.then((_) {
|
// socket!.done.then((_) {
|
||||||
// print('与服务器的连接已断开');
|
// log('与服务器的连接已断开');
|
||||||
|
|
||||||
// disConnect();
|
// disConnect();
|
||||||
// });
|
// });
|
||||||
// } catch (e) {
|
// } catch (e) {
|
||||||
// print("----------$e");
|
// log("----------$e");
|
||||||
// disConnect();
|
// disConnect();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ class SocketSetting {
|
|||||||
Datagram? dg = socket!.receive();
|
Datagram? dg = socket!.receive();
|
||||||
if (dg != null) {
|
if (dg != null) {
|
||||||
realController.onBleData(dg.data);
|
realController.onBleData(dg.data);
|
||||||
// print('从 ${dg.address.address}:${dg.port} 接收:');
|
// log('从 ${dg.address.address}:${dg.port} 接收:');
|
||||||
// 发送响应给客户端
|
// 发送响应给客户端
|
||||||
// socket.send("已收到".codeUnits, dg.address, dg.port);
|
// socket.send("已收到".codeUnits, dg.address, dg.port);
|
||||||
}
|
}
|
@ -1,3 +1,5 @@
|
|||||||
|
import 'dart:developer';
|
||||||
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.dart';
|
import 'package:flutter/scheduler.dart';
|
||||||
@ -6,7 +8,7 @@ import 'package:wifi_iot/wifi_iot.dart';
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'package:wifi_scan/wifi_scan.dart';
|
import 'package:wifi_scan/wifi_scan.dart';
|
||||||
|
|
||||||
import 'config/SocketSetting.dart';
|
import 'config/socket_setting.dart';
|
||||||
|
|
||||||
SocketSetting socket = SocketSetting();
|
SocketSetting socket = SocketSetting();
|
||||||
|
|
||||||
@ -53,9 +55,9 @@ class _WifiPageState extends State<WifiPage> {
|
|||||||
connectedssid = ssid;
|
connectedssid = ssid;
|
||||||
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
print("Successfully reconnected to WiFi network: $ssid");
|
log("Successfully reconnected to WiFi network: $ssid");
|
||||||
} else {
|
} 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();
|
final can = await WiFiScan.instance.canGetScannedResults();
|
||||||
// if can-not, then show error
|
// if can-not, then show error
|
||||||
if (can != CanGetScannedResults.yes) {
|
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>[];
|
accessPoints = <WiFiAccessPoint>[];
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -245,7 +252,7 @@ class _WifiPageState extends State<WifiPage> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void kShowSnackBar(BuildContext context, String message) {
|
void kShowSnackBar(BuildContext context, String message) {
|
||||||
if (kDebugMode) print(message);
|
if (kDebugMode) log(message);
|
||||||
ScaffoldMessenger.of(context)
|
ScaffoldMessenger.of(context)
|
||||||
..hideCurrentSnackBar()
|
..hideCurrentSnackBar()
|
||||||
..showSnackBar(SnackBar(content: Text(message)));
|
..showSnackBar(SnackBar(content: Text(message)));
|
||||||
|
@ -11,7 +11,7 @@ import 'child_pages/connect/wifi_page.dart';
|
|||||||
import 'component/list_view_item.dart';
|
import 'component/list_view_item.dart';
|
||||||
import 'child_pages/connect/config/app_config.dart';
|
import 'child_pages/connect/config/app_config.dart';
|
||||||
import 'child_pages/connect/config/connect_type.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);
|
TextStyle textStyle = const TextStyle(fontSize: 15);
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:cpnav/service/pile_cm.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:scence_map/controllers/controller.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/device_type.dart';
|
||||||
import '../../../../service/pile/input.dart';
|
import '../../../../service/pile/input.dart';
|
||||||
import '../../../../service/pile/public_widget.dart';
|
import '../../../../service/pile/public_widget.dart';
|
||||||
import '../../task_page.dart';
|
import '../../task_page.dart';
|
||||||
import '../../taskcontroller.dart';
|
import '../../taskcontroller.dart';
|
||||||
import 'pileGenerController.dart';
|
import 'pile_gener_controller.dart';
|
||||||
|
|
||||||
final ScenceMapController mapController = Get.find<ScenceMapController>();
|
final ScenceMapController mapController = Get.find<ScenceMapController>();
|
||||||
final PlumDataController controller = Get.find<PlumDataController>();
|
final PlumDataController controller = Get.find<PlumDataController>();
|
||||||
@ -21,10 +20,10 @@ class PileGenerate extends StatefulWidget {
|
|||||||
const PileGenerate({super.key});
|
const PileGenerate({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_PileGenerateState createState() => _PileGenerateState();
|
PileGenerateState createState() => PileGenerateState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _PileGenerateState extends State<PileGenerate> {
|
class PileGenerateState extends State<PileGenerate> {
|
||||||
late StepDialogManager _showStepDialog;
|
late StepDialogManager _showStepDialog;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -59,7 +58,7 @@ class _PileGenerateState extends State<PileGenerate> {
|
|||||||
title: const Text("桩点生成"),
|
title: const Text("桩点生成"),
|
||||||
toolbarHeight: 30,
|
toolbarHeight: 30,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(Icons.close),
|
icon: const Icon(Icons.close),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
setState(() {
|
setState(() {
|
||||||
pilecontroller.isPileCardVisible.value = false;
|
pilecontroller.isPileCardVisible.value = false;
|
||||||
@ -240,7 +239,7 @@ class _PileGenerateState extends State<PileGenerate> {
|
|||||||
var dy1 = -(item.dx - dx) * sin(rotation) +
|
var dy1 = -(item.dx - dx) * sin(rotation) +
|
||||||
(item.dy - dy) * cos(rotation);
|
(item.dy - dy) * cos(rotation);
|
||||||
|
|
||||||
Offset xy = mapController.ScreenCenter2xy(dx1, dy1);
|
Offset xy = mapController.screenCenter2xy(dx1, dy1);
|
||||||
PilePoint pilePoint = PilePoint(
|
PilePoint pilePoint = PilePoint(
|
||||||
x: (xy.dx * 1000).roundToDouble() / 1000,
|
x: (xy.dx * 1000).roundToDouble() / 1000,
|
||||||
y: (xy.dy * 1000).roundToDouble() / 1000,
|
y: (xy.dy * 1000).roundToDouble() / 1000,
|
||||||
@ -248,7 +247,6 @@ class _PileGenerateState extends State<PileGenerate> {
|
|||||||
id: i + 1,
|
id: i + 1,
|
||||||
radius: 0.3);
|
radius: 0.3);
|
||||||
mapController.pilePoints.add(pilePoint);
|
mapController.pilePoints.add(pilePoint);
|
||||||
|
|
||||||
}
|
}
|
||||||
controller.isGenerate.value = false;
|
controller.isGenerate.value = false;
|
||||||
controller.isDirect.value = false;
|
controller.isDirect.value = false;
|
||||||
@ -271,13 +269,12 @@ final PileGenerController pilecontroller = Get.put(PileGenerController());
|
|||||||
|
|
||||||
//卡片
|
//卡片
|
||||||
class PileGenerateCard extends StatelessWidget {
|
class PileGenerateCard extends StatelessWidget {
|
||||||
const PileGenerateCard();
|
const PileGenerateCard({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final Size size = MediaQuery.of(context).size;
|
final Size size = MediaQuery.of(context).size;
|
||||||
MediaQueryData mediaQueryData =
|
final mediaQueryData = MediaQueryData.fromView(View.of(context)); //获取当前屏幕信息
|
||||||
MediaQueryData.fromView(WidgetsBinding.instance.window); //获取当前屏幕信息
|
|
||||||
final orientation = mediaQueryData.orientation; //获得设备方向
|
final orientation = mediaQueryData.orientation; //获得设备方向
|
||||||
double rectWidth = size.width;
|
double rectWidth = size.width;
|
||||||
final deviceType = getDeviceType(context);
|
final deviceType = getDeviceType(context);
|
||||||
@ -316,13 +313,12 @@ class PileGenerateCard extends StatelessWidget {
|
|||||||
|
|
||||||
//卡片
|
//卡片
|
||||||
class PileGenerateCard1 extends StatelessWidget {
|
class PileGenerateCard1 extends StatelessWidget {
|
||||||
const PileGenerateCard1();
|
const PileGenerateCard1({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final Size size = MediaQuery.of(context).size;
|
final Size size = MediaQuery.of(context).size;
|
||||||
MediaQueryData mediaQueryData =
|
final mediaQueryData = MediaQueryData.fromView(View.of(context)); //获取当前屏幕信息
|
||||||
MediaQueryData.fromView(WidgetsBinding.instance.window); //获取当前屏幕信息
|
|
||||||
final orientation = mediaQueryData.orientation; //获得设备方向
|
final orientation = mediaQueryData.orientation; //获得设备方向
|
||||||
double rectWidth = size.width;
|
double rectWidth = size.width;
|
||||||
final deviceType = getDeviceType(context);
|
final deviceType = getDeviceType(context);
|
@ -5,13 +5,13 @@ class PilePointTable extends StatefulWidget {
|
|||||||
final List<PilePoint> pilePoints;
|
final List<PilePoint> pilePoints;
|
||||||
final Function(List<PilePoint>) onUpdate;
|
final Function(List<PilePoint>) onUpdate;
|
||||||
|
|
||||||
PilePointTable({required this.pilePoints, required this.onUpdate});
|
const PilePointTable({super.key, required this.pilePoints, required this.onUpdate});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_PilePointTableState createState() => _PilePointTableState();
|
PilePointTableState createState() => PilePointTableState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _PilePointTableState extends State<PilePointTable> {
|
class PilePointTableState extends State<PilePointTable> {
|
||||||
List<bool> _selected = [];
|
List<bool> _selected = [];
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -33,10 +33,10 @@ class _PilePointTableState extends State<PilePointTable> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: Text('桩点列表'),
|
title:const Text('桩点列表'),
|
||||||
actions: [
|
actions: [
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(Icons.delete),
|
icon:const Icon(Icons.delete),
|
||||||
onPressed: _deleteSelected,
|
onPressed: _deleteSelected,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -71,7 +71,7 @@ class _PilePointTableState extends State<PilePointTable> {
|
|||||||
verticalAlignment: TableCellVerticalAlignment.middle,
|
verticalAlignment: TableCellVerticalAlignment.middle,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding:
|
padding:
|
||||||
EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
|
const EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
|
||||||
child: Checkbox(
|
child: Checkbox(
|
||||||
value: _selected[index],
|
value: _selected[index],
|
||||||
onChanged: (bool? value) {
|
onChanged: (bool? value) {
|
||||||
@ -86,7 +86,7 @@ class _PilePointTableState extends State<PilePointTable> {
|
|||||||
verticalAlignment: TableCellVerticalAlignment.middle,
|
verticalAlignment: TableCellVerticalAlignment.middle,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding:
|
padding:
|
||||||
EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
|
const EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
|
||||||
child: Text(widget.pilePoints[index].id.toString()),
|
child: Text(widget.pilePoints[index].id.toString()),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -94,7 +94,7 @@ class _PilePointTableState extends State<PilePointTable> {
|
|||||||
verticalAlignment: TableCellVerticalAlignment.middle,
|
verticalAlignment: TableCellVerticalAlignment.middle,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding:
|
padding:
|
||||||
EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
|
const EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: () => _editPilePoint(context, index, 'x'),
|
onTap: () => _editPilePoint(context, index, 'x'),
|
||||||
child: Text(widget.pilePoints[index].x.toString()),
|
child: Text(widget.pilePoints[index].x.toString()),
|
||||||
@ -105,7 +105,7 @@ class _PilePointTableState extends State<PilePointTable> {
|
|||||||
verticalAlignment: TableCellVerticalAlignment.middle,
|
verticalAlignment: TableCellVerticalAlignment.middle,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding:
|
padding:
|
||||||
EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
|
const EdgeInsets.symmetric(horizontal: 12.0, vertical: 0),
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: () => _editPilePoint(context, index, 'y'),
|
onTap: () => _editPilePoint(context, index, 'y'),
|
||||||
child: Text(widget.pilePoints[index].y.toString()),
|
child: Text(widget.pilePoints[index].y.toString()),
|
||||||
@ -132,7 +132,7 @@ class _PilePointTableState extends State<PilePointTable> {
|
|||||||
context: context,
|
context: context,
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: Text('编辑桩点'),
|
title:const Text('编辑桩点'),
|
||||||
content: TextField(
|
content: TextField(
|
||||||
controller: controller,
|
controller: controller,
|
||||||
keyboardType: TextInputType.number,
|
keyboardType: TextInputType.number,
|
||||||
@ -151,13 +151,13 @@ class _PilePointTableState extends State<PilePointTable> {
|
|||||||
});
|
});
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
child: Text('保存'),
|
child:const Text('保存'),
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
child: Text('取消'),
|
child:const Text('取消'),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
@ -1,8 +1,10 @@
|
|||||||
import 'dart:math';
|
|
||||||
|
import 'dart:developer';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:scence_map/controllers/controller.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>();
|
ScenceMapController mapController = Get.find<ScenceMapController>();
|
||||||
@ -37,7 +39,7 @@ class DrawDirection extends CustomPainter {
|
|||||||
linePointOffset = linePointOffset + pos;
|
linePointOffset = linePointOffset + pos;
|
||||||
centerOffset = controller.centerOffset.value + pos;
|
centerOffset = controller.centerOffset.value + pos;
|
||||||
}
|
}
|
||||||
print("-----矩阵中心$centerOffset,$centerXY");
|
log("-----矩阵中心$centerOffset,$centerXY");
|
||||||
|
|
||||||
path.moveTo(centerOffset.dx, centerOffset.dy);
|
path.moveTo(centerOffset.dx, centerOffset.dy);
|
||||||
path.lineTo(linePointOffset.dx, linePointOffset.dy);
|
path.lineTo(linePointOffset.dx, linePointOffset.dy);
|
||||||
|
@ -1,18 +1,16 @@
|
|||||||
|
import 'dart:developer' as dev;
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:scence_map/controllers/controller.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/record_entity.dart';
|
||||||
|
|
||||||
import 'package:scence_map/scence_map.dart';
|
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
import '../../../../models/pilePoint/hyrecorditem.dart';
|
|
||||||
import '../../../pass_track/view.dart';
|
|
||||||
import '../../task_page.dart';
|
import '../../task_page.dart';
|
||||||
import '../../taskcontroller.dart';
|
import '../../taskcontroller.dart';
|
||||||
import '../pileGenerateCard/pileGenerate.dart';
|
import '../pileGenerateCard/pile_generate.dart';
|
||||||
import 'draw_pile.dart';
|
import 'draw_pile.dart';
|
||||||
|
|
||||||
final TaskController taskcontroller = Get.put(TaskController());
|
final TaskController taskcontroller = Get.put(TaskController());
|
||||||
@ -165,10 +163,10 @@ class _RealViewState extends State<RealView> {
|
|||||||
controller.centerXY.value.dx, controller.centerXY.value.dy) -
|
controller.centerXY.value.dx, controller.centerXY.value.dy) -
|
||||||
scOffset;
|
scOffset;
|
||||||
}
|
}
|
||||||
print(
|
dev.log(
|
||||||
"中心${controller.centerOffset.value},${controller.centerXY.value},${scenceMapController.centerXY},$scOffset,$isInit");
|
"中心${controller.centerOffset.value},${controller.centerXY.value},${scenceMapController.centerXY},$scOffset,$isInit");
|
||||||
print(scenceMapController.xy2Screen(
|
// dev.log(scenceMapController.xy2Screen(
|
||||||
controller.centerXY.value.dx, controller.centerXY.value.dy));
|
// controller.centerXY.value.dx, controller.centerXY.value.dy));
|
||||||
|
|
||||||
return Positioned(
|
return Positioned(
|
||||||
left: controller.isGenerate.value
|
left: controller.isGenerate.value
|
||||||
@ -212,14 +210,14 @@ class _RealViewState extends State<RealView> {
|
|||||||
// child: const ScenceMapView(
|
// child: const ScenceMapView(
|
||||||
// children: [],
|
// children: [],
|
||||||
// ),
|
// ),
|
||||||
child: TaskPage(), // 任务页面
|
child:const TaskPage(), // 任务页面
|
||||||
// PassTrack(
|
// PassTrack(
|
||||||
// date: '',
|
// date: '',
|
||||||
// )
|
// )
|
||||||
)),
|
)),
|
||||||
center,
|
center,
|
||||||
back,
|
back,
|
||||||
PileGenerateCard1()
|
const PileGenerateCard1()
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,23 @@
|
|||||||
|
import 'dart:developer';
|
||||||
|
|
||||||
import 'package:cpnav/main.dart';
|
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:flutter/material.dart';
|
||||||
import 'package:get/get.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/controllers/controller.dart';
|
||||||
import 'package:scence_map/record_entity.dart';
|
import 'package:scence_map/record_entity.dart';
|
||||||
import 'package:scence_map/scence_map.dart';
|
import 'package:scence_map/scence_map.dart';
|
||||||
import '../aim_point/aimpoint_page.dart';
|
|
||||||
import '../pass_track/controller.dart';
|
import '../pass_track/controller.dart';
|
||||||
import '../pass_track/view.dart';
|
import '../pass_track/view.dart';
|
||||||
import 'pile/pileGenerateCard/pilePointTable.dart';
|
import 'pile/pileGenerateCard/pile_point_table.dart';
|
||||||
import 'pile/pileNav/view.dart';
|
import 'pile/pileNav/view.dart';
|
||||||
import 'taskcontroller.dart';
|
import 'taskcontroller.dart';
|
||||||
|
|
||||||
final ScenceMapController mapcontroller = Get.put(ScenceMapController());
|
final ScenceMapController mapcontroller = Get.put(ScenceMapController());
|
||||||
|
|
||||||
class TaskManagePage extends StatelessWidget {
|
class TaskManagePage extends StatelessWidget {
|
||||||
|
const TaskManagePage({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final size = MediaQuery.of(context).size;
|
final size = MediaQuery.of(context).size;
|
||||||
@ -30,10 +32,11 @@ class TaskManagePage extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
child: Row(children: [
|
child: Row(children: [
|
||||||
SizedBox(width: 16),
|
const SizedBox(width: 16),
|
||||||
Icon(Icons.task, size: 50, color: Color.fromARGB(164, 75, 73, 73)),
|
const Icon(Icons.task,
|
||||||
SizedBox(width: 16),
|
size: 50, color: Color.fromARGB(164, 75, 73, 73)),
|
||||||
Container(
|
const SizedBox(width: 16),
|
||||||
|
SizedBox(
|
||||||
width: size.width * 0.4,
|
width: size.width * 0.4,
|
||||||
child: const Column(
|
child: const Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@ -77,22 +80,24 @@ class TaskManagePage extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(width: 150),
|
// const SizedBox(width: 150),
|
||||||
Container(
|
Expanded(
|
||||||
alignment: Alignment.centerLeft,
|
|
||||||
child: Container(
|
child: Container(
|
||||||
child: Row(children: [
|
alignment: Alignment.centerRight,
|
||||||
|
child:
|
||||||
|
Row(mainAxisAlignment: MainAxisAlignment.end, children: [
|
||||||
const Text(
|
const Text(
|
||||||
'编辑',
|
'编辑',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 14, color: Color.fromARGB(164, 75, 73, 73)),
|
fontSize: 14, color: Color.fromARGB(164, 75, 73, 73)),
|
||||||
),
|
),
|
||||||
SizedBox(width: 12),
|
const SizedBox(width: 12),
|
||||||
InkWell(
|
InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(builder: (context) => RealView()),
|
MaterialPageRoute(
|
||||||
|
builder: (context) => const RealView()),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: const Icon(Icons.arrow_forward_ios,
|
child: const Icon(Icons.arrow_forward_ios,
|
||||||
@ -110,11 +115,13 @@ final TaskController taskcontroller = Get.put(TaskController());
|
|||||||
|
|
||||||
// class TaskPage extends StatelessWidget {
|
// class TaskPage extends StatelessWidget {
|
||||||
class TaskPage extends StatefulWidget {
|
class TaskPage extends StatefulWidget {
|
||||||
|
const TaskPage({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_TaskPageState createState() => _TaskPageState();
|
TaskPageState createState() => TaskPageState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _TaskPageState extends State<TaskPage> {
|
class TaskPageState extends State<TaskPage> {
|
||||||
late StepDialogManager _showStepDialog;
|
late StepDialogManager _showStepDialog;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -126,10 +133,9 @@ class _TaskPageState extends State<TaskPage> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final size = MediaQuery.of(context).size;
|
final size = MediaQuery.of(context).size;
|
||||||
MediaQueryData mediaQueryData =
|
// final mediaQueryData = MediaQueryData.fromView(View.of(context)); //获取当前屏幕信息
|
||||||
MediaQueryData.fromView(WidgetsBinding.instance.window); //获取当前屏幕信息
|
// final orientation = mediaQueryData.orientation; //获得设备方向
|
||||||
final orientation = mediaQueryData.orientation; //获得设备方向
|
// bool isPortrait = Orientation.portrait == orientation ? true : false;
|
||||||
bool isPortrait = Orientation.portrait == orientation ? true : false;
|
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
endDrawer: Drawer(
|
endDrawer: Drawer(
|
||||||
@ -138,8 +144,8 @@ class _TaskPageState extends State<TaskPage> {
|
|||||||
pilePoints: mapcontroller.pilePoints,
|
pilePoints: mapcontroller.pilePoints,
|
||||||
onUpdate: (updatedPilePoints) {
|
onUpdate: (updatedPilePoints) {
|
||||||
// 这里可以处理更新后的桩点列表
|
// 这里可以处理更新后的桩点列表
|
||||||
print("生成桩点$updatedPilePoints,");
|
log("生成桩点$updatedPilePoints,");
|
||||||
updatedPilePoints.forEach((updatedPilePoint) {
|
for (var updatedPilePoint in updatedPilePoints) {
|
||||||
// 查找 recordList 中对应的 RecordEntity
|
// 查找 recordList 中对应的 RecordEntity
|
||||||
RecordEntity? recordEntity =
|
RecordEntity? recordEntity =
|
||||||
mapController.recordList.firstWhere(
|
mapController.recordList.firstWhere(
|
||||||
@ -203,12 +209,12 @@ class _TaskPageState extends State<TaskPage> {
|
|||||||
);
|
);
|
||||||
mapController.recordList.add(recordEntity);
|
mapController.recordList.add(recordEntity);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: Text('任务页面'),
|
title: const Text('任务页面'),
|
||||||
actions: [
|
actions: [
|
||||||
UnconstrainedBox(
|
UnconstrainedBox(
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
@ -257,21 +263,22 @@ class _TaskPageState extends State<TaskPage> {
|
|||||||
body: Stack(
|
body: Stack(
|
||||||
children: [
|
children: [
|
||||||
ScenceMapView(
|
ScenceMapView(
|
||||||
children: [],
|
|
||||||
onUpdate: (Offset center, double scale, double rotation) {
|
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
|
forGroundPainter: appcontroller.currentIndex.value == 1
|
||||||
? BorderPainter(controller)
|
? BorderPainter(controller)
|
||||||
: null,
|
: null,
|
||||||
onUpdatePilePoint: (RecordEntity? selectedPilePoint, double scale,
|
onUpdatePilePoint: (RecordEntity? selectedPilePoint, double scale,
|
||||||
double rotation) {
|
double rotation) {
|
||||||
print(
|
log(
|
||||||
"selectedPilePoint:$selectedPilePoint scale:$scale rotation:$rotation");
|
"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,
|
context: context,
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: Text('步骤提示'),
|
title: const Text('步骤提示'),
|
||||||
content: Text(_stepTexts[step]),
|
content: Text(_stepTexts[step]),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
TextButton(
|
TextButton(
|
||||||
child: Text('确定'),
|
child: const Text('确定'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
for (int i = 0; i < taskcontroller.isDialogShown.length; i++) {
|
for (int i = 0; i < taskcontroller.isDialogShown.length; i++) {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
import 'dart:developer';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:ui';
|
|
||||||
import 'package:cpnav/models/pilePoint/coord_trans.dart';
|
import 'package:cpnav/models/pilePoint/coord_trans.dart';
|
||||||
import 'package:get/get.dart';
|
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
import 'user/loginprefs.dart';
|
import 'user/loginprefs.dart';
|
||||||
@ -14,16 +13,17 @@ class BaseService {
|
|||||||
//创建client实例
|
//创建client实例
|
||||||
final _client = http.Client();
|
final _client = http.Client();
|
||||||
final String token =
|
final String token =
|
||||||
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc1IiOjAsInJvbGVJZHMiOlsiODMiXSwidXNlcm5hbWUiOiJseWNzIiwidXNlcklkIjozNTYsIlBWIjoyLCJvcmciOiJhIiwiaWF0IjoxNzI1MzQzNTg3LCJleHAiOjE3MjY2Mzk1ODd9.Zh7sdBXWfNPjYrnc-uMBMrd93sAT3yqQF7WXrHvdzJs";
|
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc1IiOjAsInJvbGVJZHMiOlsiMSIsIjI0Il0sInVzZXJuYW1lIjoiYWRtaW4iLCJ1c2VySWQiOjEsIlBWIjo1LCJvcmciOiJhIiwiaWF0IjoxNzMwNzg3MDE3LCJleHAiOjE3MzIwODMwMTd9.hhWpQAqv160E6tNi5ymyHigzRzZTM4CfwSsraomvJWM";
|
||||||
|
|
||||||
// String baseUrl = "http://192.168.1.189:8001";//本地
|
// String baseUrl = "http://192.168.1.154:8001";//本地
|
||||||
String baseUrl = "http://1.82.251.83:8001"; //线上
|
String baseUrl = "http://v5.rdc.pub"; //线上
|
||||||
String loginstatus = "登录失效";
|
String loginstatus = "登录失效";
|
||||||
//发送GET请求
|
//发送GET请求
|
||||||
getClient(String url, [bool useBaseUrl = true]) async {
|
getClient(String url, [bool useBaseUrl = true]) async {
|
||||||
try {
|
try {
|
||||||
|
Uri fullUrl =Uri.parse(useBaseUrl ? (baseUrl + url) : url);
|
||||||
http.Response response = await _client
|
http.Response response = await _client
|
||||||
.get(Uri.parse(useBaseUrl ? baseUrl + url : url), headers: {
|
.get(fullUrl, headers: {
|
||||||
HttpHeaders.contentTypeHeader: "application/json",
|
HttpHeaders.contentTypeHeader: "application/json",
|
||||||
HttpHeaders.authorizationHeader: token,
|
HttpHeaders.authorizationHeader: token,
|
||||||
});
|
});
|
||||||
@ -34,7 +34,7 @@ class BaseService {
|
|||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print(e);
|
log(e.toString());
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -56,7 +56,7 @@ class BaseService {
|
|||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print(e);
|
log(e.toString());
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -92,7 +92,7 @@ class GetServices {
|
|||||||
// return [];
|
// return [];
|
||||||
// }
|
// }
|
||||||
'/api/sys/device_bind/list?proj_type=$projType&proj_code=$projCode');
|
'/api/sys/device_bind/list?proj_type=$projType&proj_code=$projCode');
|
||||||
if (res != null && res['code'] == 1000) {
|
if (res['code'] == 1000) {
|
||||||
return res['data'];
|
return res['data'];
|
||||||
} else {
|
} else {
|
||||||
return [];
|
return [];
|
||||||
|
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
|||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
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
|
||||||
|
@ -5,16 +5,16 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: args
|
name: args
|
||||||
sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a"
|
sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.0"
|
version: "2.6.0"
|
||||||
async:
|
async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: async
|
name: async
|
||||||
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
|
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.11.0"
|
version: "2.11.0"
|
||||||
bluez:
|
bluez:
|
||||||
@ -22,7 +22,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: bluez
|
name: bluez
|
||||||
sha256: "203a1924e818a9dd74af2b2c7a8f375ab8e5edf0e486bba8f90a0d8a17ed9fce"
|
sha256: "203a1924e818a9dd74af2b2c7a8f375ab8e5edf0e486bba8f90a0d8a17ed9fce"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.8.2"
|
version: "0.8.2"
|
||||||
boolean_selector:
|
boolean_selector:
|
||||||
@ -30,7 +30,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: boolean_selector
|
name: boolean_selector
|
||||||
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
|
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
characters:
|
characters:
|
||||||
@ -38,7 +38,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: characters
|
name: characters
|
||||||
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
|
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.0"
|
version: "1.3.0"
|
||||||
clock:
|
clock:
|
||||||
@ -46,7 +46,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: clock
|
name: clock
|
||||||
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
|
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "1.1.1"
|
||||||
collection:
|
collection:
|
||||||
@ -54,23 +54,23 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: collection
|
name: collection
|
||||||
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
|
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.18.0"
|
version: "1.18.0"
|
||||||
convert:
|
convert:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: convert
|
name: convert
|
||||||
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
|
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.1"
|
version: "3.1.2"
|
||||||
cupertino_icons:
|
cupertino_icons:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: cupertino_icons
|
name: cupertino_icons
|
||||||
sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
|
sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.8"
|
version: "1.0.8"
|
||||||
dbus:
|
dbus:
|
||||||
@ -78,7 +78,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: dbus
|
name: dbus
|
||||||
sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
|
sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.10"
|
version: "0.7.10"
|
||||||
fake_async:
|
fake_async:
|
||||||
@ -86,7 +86,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: fake_async
|
name: fake_async
|
||||||
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
|
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.1"
|
version: "1.3.1"
|
||||||
ffi:
|
ffi:
|
||||||
@ -94,7 +94,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: ffi
|
name: ffi
|
||||||
sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
|
sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.3"
|
version: "2.1.3"
|
||||||
flutter:
|
flutter:
|
||||||
@ -107,7 +107,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "2.0.3"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
@ -120,7 +120,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: leak_tracker
|
name: leak_tracker
|
||||||
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
|
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.0.5"
|
version: "10.0.5"
|
||||||
leak_tracker_flutter_testing:
|
leak_tracker_flutter_testing:
|
||||||
@ -128,7 +128,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: leak_tracker_flutter_testing
|
name: leak_tracker_flutter_testing
|
||||||
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
|
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.5"
|
version: "3.0.5"
|
||||||
leak_tracker_testing:
|
leak_tracker_testing:
|
||||||
@ -136,7 +136,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: leak_tracker_testing
|
name: leak_tracker_testing
|
||||||
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
|
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.1"
|
version: "3.0.1"
|
||||||
lints:
|
lints:
|
||||||
@ -144,23 +144,23 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
logging:
|
logging:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: logging
|
name: logging
|
||||||
sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
|
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.3.0"
|
||||||
matcher:
|
matcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: matcher
|
name: matcher
|
||||||
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
|
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.16+1"
|
version: "0.12.16+1"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
@ -168,7 +168,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: material_color_utilities
|
name: material_color_utilities
|
||||||
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
|
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.11.1"
|
version: "0.11.1"
|
||||||
meta:
|
meta:
|
||||||
@ -176,7 +176,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: meta
|
name: meta
|
||||||
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
|
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.15.0"
|
version: "1.15.0"
|
||||||
path:
|
path:
|
||||||
@ -184,7 +184,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: path
|
name: path
|
||||||
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
|
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.0"
|
version: "1.9.0"
|
||||||
petitparser:
|
petitparser:
|
||||||
@ -192,7 +192,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: petitparser
|
name: petitparser
|
||||||
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
|
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.2"
|
version: "6.0.2"
|
||||||
plugin_platform_interface:
|
plugin_platform_interface:
|
||||||
@ -200,7 +200,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: plugin_platform_interface
|
name: plugin_platform_interface
|
||||||
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
|
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.8"
|
version: "2.1.8"
|
||||||
quick_blue:
|
quick_blue:
|
||||||
@ -220,7 +220,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: source_span
|
name: source_span
|
||||||
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
|
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.10.0"
|
version: "1.10.0"
|
||||||
stack_trace:
|
stack_trace:
|
||||||
@ -228,7 +228,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: stack_trace
|
name: stack_trace
|
||||||
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
|
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.11.1"
|
version: "1.11.1"
|
||||||
stream_channel:
|
stream_channel:
|
||||||
@ -236,7 +236,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: stream_channel
|
name: stream_channel
|
||||||
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
|
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.2"
|
version: "2.1.2"
|
||||||
string_scanner:
|
string_scanner:
|
||||||
@ -244,7 +244,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: string_scanner
|
name: string_scanner
|
||||||
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
|
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.2.0"
|
||||||
term_glyph:
|
term_glyph:
|
||||||
@ -252,7 +252,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: term_glyph
|
name: term_glyph
|
||||||
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
|
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.1"
|
version: "1.2.1"
|
||||||
test_api:
|
test_api:
|
||||||
@ -260,41 +260,41 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
|
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.2"
|
version: "0.7.2"
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: typed_data
|
name: typed_data
|
||||||
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
|
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.2"
|
version: "1.4.0"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_math
|
name: vector_math
|
||||||
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
|
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.1.4"
|
||||||
vm_service:
|
vm_service:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vm_service
|
name: vm_service
|
||||||
sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
|
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "14.2.4"
|
version: "14.2.5"
|
||||||
xml:
|
xml:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: xml
|
name: xml
|
||||||
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
|
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.5.0"
|
version: "6.5.0"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=3.3.0 <4.0.0"
|
dart: ">=3.5.0 <4.0.0"
|
||||||
flutter: ">=3.18.0-18.0.pre.54"
|
flutter: ">=3.18.0-18.0.pre.54"
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 2cd0cbf3a177bfd24c0117769a280171b810312b
|
Subproject commit cc9ee2fe1abf30613fe191794e841cf0399f8d58
|
262
pubspec.lock
262
pubspec.lock
@ -5,16 +5,16 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: args
|
name: args
|
||||||
sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a"
|
sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.0"
|
version: "2.6.0"
|
||||||
async:
|
async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: async
|
name: async
|
||||||
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
|
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.11.0"
|
version: "2.11.0"
|
||||||
bluez:
|
bluez:
|
||||||
@ -22,7 +22,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: bluez
|
name: bluez
|
||||||
sha256: "203a1924e818a9dd74af2b2c7a8f375ab8e5edf0e486bba8f90a0d8a17ed9fce"
|
sha256: "203a1924e818a9dd74af2b2c7a8f375ab8e5edf0e486bba8f90a0d8a17ed9fce"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.8.2"
|
version: "0.8.2"
|
||||||
boolean_selector:
|
boolean_selector:
|
||||||
@ -30,7 +30,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: boolean_selector
|
name: boolean_selector
|
||||||
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
|
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
bottom_picker:
|
bottom_picker:
|
||||||
@ -38,23 +38,23 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: bottom_picker
|
name: bottom_picker
|
||||||
sha256: "7c690407c6c489bc7c556858c3f1b804aac73c3a128559f328cc829ba12983ad"
|
sha256: "7c690407c6c489bc7c556858c3f1b804aac73c3a128559f328cc829ba12983ad"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.8.0"
|
version: "2.8.0"
|
||||||
calendar_date_picker2:
|
calendar_date_picker2:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: calendar_date_picker2
|
name: calendar_date_picker2
|
||||||
sha256: c7684d1a6bae19dc78c0b59101b272b47d78713d4aa0fcca55e55cf2dde9e3e4
|
sha256: "986955aea43081c8cf70fe01735ccdfe9a7041218b2be53ed92d5d4e639e8a1a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.5"
|
version: "1.1.7"
|
||||||
characters:
|
characters:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: characters
|
name: characters
|
||||||
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
|
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.0"
|
version: "1.3.0"
|
||||||
clock:
|
clock:
|
||||||
@ -62,7 +62,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: clock
|
name: clock
|
||||||
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
|
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "1.1.1"
|
||||||
collection:
|
collection:
|
||||||
@ -70,47 +70,47 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: collection
|
name: collection
|
||||||
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
|
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.18.0"
|
version: "1.18.0"
|
||||||
convert:
|
convert:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: convert
|
name: convert
|
||||||
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
|
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.1"
|
version: "3.1.2"
|
||||||
crypto:
|
crypto:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: crypto
|
name: crypto
|
||||||
sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27
|
sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.5"
|
version: "3.0.6"
|
||||||
cupertino_icons:
|
cupertino_icons:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: cupertino_icons
|
name: cupertino_icons
|
||||||
sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
|
sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.8"
|
version: "1.0.8"
|
||||||
dart_webrtc:
|
dart_webrtc:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: dart_webrtc
|
name: dart_webrtc
|
||||||
sha256: "5cbc40bd9b33d0c9b8004cff52e9883c71f0f54799afc8faca77535eeb9ef857"
|
sha256: c664ad88d5646735753add421ee2118486c100febef5e92b7f59cdbabf6a51f6
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.1"
|
version: "1.4.9"
|
||||||
data_table_2:
|
data_table_2:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: data_table_2
|
name: data_table_2
|
||||||
sha256: f02ec9b24f44420816a87370ff4f4e533e15b274f6267e4c9a88a585ad1a0473
|
sha256: f02ec9b24f44420816a87370ff4f4e533e15b274f6267e4c9a88a585ad1a0473
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.15"
|
version: "2.5.15"
|
||||||
dbus:
|
dbus:
|
||||||
@ -118,7 +118,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: dbus
|
name: dbus
|
||||||
sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
|
sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.10"
|
version: "0.7.10"
|
||||||
dylib:
|
dylib:
|
||||||
@ -126,7 +126,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: dylib
|
name: dylib
|
||||||
sha256: bf609b3eb6492a3309b3d1dbe8f83a4031de5535dd7686be33487051cc760bb0
|
sha256: bf609b3eb6492a3309b3d1dbe8f83a4031de5535dd7686be33487051cc760bb0
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.3.3"
|
version: "0.3.3"
|
||||||
equatable:
|
equatable:
|
||||||
@ -134,7 +134,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: equatable
|
name: equatable
|
||||||
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
|
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.5"
|
version: "2.0.5"
|
||||||
fake_async:
|
fake_async:
|
||||||
@ -142,7 +142,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: fake_async
|
name: fake_async
|
||||||
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
|
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.1"
|
version: "1.3.1"
|
||||||
ffi:
|
ffi:
|
||||||
@ -150,7 +150,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: ffi
|
name: ffi
|
||||||
sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
|
sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.3"
|
version: "2.1.3"
|
||||||
fl_chart:
|
fl_chart:
|
||||||
@ -158,7 +158,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: fl_chart
|
name: fl_chart
|
||||||
sha256: "94307bef3a324a0d329d3ab77b2f0c6e5ed739185ffc029ed28c0f9b019ea7ef"
|
sha256: "94307bef3a324a0d329d3ab77b2f0c6e5ed739185ffc029ed28c0f9b019ea7ef"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.69.0"
|
version: "0.69.0"
|
||||||
flutter:
|
flutter:
|
||||||
@ -171,17 +171,17 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
|
sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.2"
|
version: "3.0.2"
|
||||||
flutter_svg:
|
flutter_svg:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_svg
|
name: flutter_svg
|
||||||
sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2"
|
sha256: de82e6bf958cec7190fbc1c5298282c851228e35ae2b14e2b103e7f777818c64
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.10+1"
|
version: "2.0.13"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
@ -197,7 +197,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: flutter_webrtc
|
name: flutter_webrtc
|
||||||
sha256: "2f17fb96e0c9c6ff75f6b1c36d94755461fc7f36a5c28386f5ee5a18b98688c8"
|
sha256: "2f17fb96e0c9c6ff75f6b1c36d94755461fc7f36a5c28386f5ee5a18b98688c8"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.9.48+hotfix.1"
|
version: "0.9.48+hotfix.1"
|
||||||
get:
|
get:
|
||||||
@ -205,7 +205,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: get
|
name: get
|
||||||
sha256: e4e7335ede17452b391ed3b2ede016545706c01a02292a6c97619705e7d2a85e
|
sha256: e4e7335ede17452b391ed3b2ede016545706c01a02292a6c97619705e7d2a85e
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.6.6"
|
version: "4.6.6"
|
||||||
get_storage:
|
get_storage:
|
||||||
@ -213,7 +213,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: get_storage
|
name: get_storage
|
||||||
sha256: "39db1fffe779d0c22b3a744376e86febe4ade43bf65e06eab5af707dc84185a2"
|
sha256: "39db1fffe779d0c22b3a744376e86febe4ade43bf65e06eab5af707dc84185a2"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
gnss:
|
gnss:
|
||||||
@ -230,7 +230,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: google_fonts
|
name: google_fonts
|
||||||
sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82
|
sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.2.1"
|
version: "6.2.1"
|
||||||
http:
|
http:
|
||||||
@ -238,7 +238,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: http
|
name: http
|
||||||
sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010
|
sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.2"
|
version: "1.2.2"
|
||||||
http_parser:
|
http_parser:
|
||||||
@ -246,31 +246,31 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: http_parser
|
name: http_parser
|
||||||
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
|
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.0.2"
|
version: "4.0.2"
|
||||||
intl:
|
intl:
|
||||||
dependency: transitive
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: intl
|
name: intl
|
||||||
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
|
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.19.0"
|
version: "0.19.0"
|
||||||
js:
|
js:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: js
|
name: js
|
||||||
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
|
sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.7"
|
version: "0.7.1"
|
||||||
leak_tracker:
|
leak_tracker:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: leak_tracker
|
name: leak_tracker
|
||||||
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
|
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.0.5"
|
version: "10.0.5"
|
||||||
leak_tracker_flutter_testing:
|
leak_tracker_flutter_testing:
|
||||||
@ -278,7 +278,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: leak_tracker_flutter_testing
|
name: leak_tracker_flutter_testing
|
||||||
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
|
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.5"
|
version: "3.0.5"
|
||||||
leak_tracker_testing:
|
leak_tracker_testing:
|
||||||
@ -286,7 +286,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: leak_tracker_testing
|
name: leak_tracker_testing
|
||||||
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
|
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.1"
|
version: "3.0.1"
|
||||||
libserialport:
|
libserialport:
|
||||||
@ -303,23 +303,23 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.0"
|
version: "3.0.0"
|
||||||
logging:
|
logging:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: logging
|
name: logging
|
||||||
sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
|
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.3.0"
|
||||||
matcher:
|
matcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: matcher
|
name: matcher
|
||||||
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
|
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.16+1"
|
version: "0.12.16+1"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
@ -327,7 +327,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: material_color_utilities
|
name: material_color_utilities
|
||||||
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
|
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.11.1"
|
version: "0.11.1"
|
||||||
meta:
|
meta:
|
||||||
@ -335,7 +335,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: meta
|
name: meta
|
||||||
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
|
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.15.0"
|
version: "1.15.0"
|
||||||
open_settings:
|
open_settings:
|
||||||
@ -343,7 +343,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: open_settings
|
name: open_settings
|
||||||
sha256: ceb716dc476352aecb939805b6fa6a593168a5ed1abfe3caa022b6b1715e94ae
|
sha256: ceb716dc476352aecb939805b6fa6a593168a5ed1abfe3caa022b6b1715e94ae
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.2"
|
version: "2.0.2"
|
||||||
path:
|
path:
|
||||||
@ -351,39 +351,39 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: path
|
name: path
|
||||||
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
|
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.0"
|
version: "1.9.0"
|
||||||
path_parsing:
|
path_parsing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_parsing
|
name: path_parsing
|
||||||
sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf
|
sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.1"
|
version: "1.1.0"
|
||||||
path_provider:
|
path_provider:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: path_provider
|
name: path_provider
|
||||||
sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378
|
sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.1.5"
|
||||||
path_provider_android:
|
path_provider_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_android
|
name: path_provider_android
|
||||||
sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7"
|
sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.10"
|
version: "2.2.12"
|
||||||
path_provider_foundation:
|
path_provider_foundation:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_foundation
|
name: path_provider_foundation
|
||||||
sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16
|
sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.0"
|
version: "2.4.0"
|
||||||
path_provider_linux:
|
path_provider_linux:
|
||||||
@ -391,7 +391,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: path_provider_linux
|
name: path_provider_linux
|
||||||
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
|
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.1"
|
version: "2.2.1"
|
||||||
path_provider_platform_interface:
|
path_provider_platform_interface:
|
||||||
@ -399,7 +399,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: path_provider_platform_interface
|
name: path_provider_platform_interface
|
||||||
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
|
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.2"
|
version: "2.1.2"
|
||||||
path_provider_windows:
|
path_provider_windows:
|
||||||
@ -407,7 +407,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: path_provider_windows
|
name: path_provider_windows
|
||||||
sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
|
sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.0"
|
version: "2.3.0"
|
||||||
permission_handler:
|
permission_handler:
|
||||||
@ -415,23 +415,23 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: permission_handler
|
name: permission_handler
|
||||||
sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb"
|
sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "11.3.1"
|
version: "11.3.1"
|
||||||
permission_handler_android:
|
permission_handler_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_android
|
name: permission_handler_android
|
||||||
sha256: "76e4ab092c1b240d31177bb64d2b0bea43f43d0e23541ec866151b9f7b2490fa"
|
sha256: "71bbecfee799e65aff7c744761a57e817e73b738fedf62ab7afd5593da21f9f1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "12.0.12"
|
version: "12.0.13"
|
||||||
permission_handler_apple:
|
permission_handler_apple:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_apple
|
name: permission_handler_apple
|
||||||
sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0
|
sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "9.4.5"
|
version: "9.4.5"
|
||||||
permission_handler_html:
|
permission_handler_html:
|
||||||
@ -439,23 +439,23 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: permission_handler_html
|
name: permission_handler_html
|
||||||
sha256: af26edbbb1f2674af65a8f4b56e1a6f526156bc273d0e65dd8075fab51c78851
|
sha256: af26edbbb1f2674af65a8f4b56e1a6f526156bc273d0e65dd8075fab51c78851
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.3+2"
|
version: "0.1.3+2"
|
||||||
permission_handler_platform_interface:
|
permission_handler_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_platform_interface
|
name: permission_handler_platform_interface
|
||||||
sha256: fe0ffe274d665be8e34f9c59705441a7d248edebbe5d9e3ec2665f88b79358ea
|
sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.2.2"
|
version: "4.2.3"
|
||||||
permission_handler_windows:
|
permission_handler_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_windows
|
name: permission_handler_windows
|
||||||
sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e"
|
sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.1"
|
version: "0.2.1"
|
||||||
petitparser:
|
petitparser:
|
||||||
@ -463,23 +463,23 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: petitparser
|
name: petitparser
|
||||||
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
|
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.2"
|
version: "6.0.2"
|
||||||
platform:
|
platform:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: platform
|
name: platform
|
||||||
sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65"
|
sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.5"
|
version: "3.1.6"
|
||||||
platform_detect:
|
platform_detect:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: platform_detect
|
name: platform_detect
|
||||||
sha256: a62f99417fc4fa2d099ce0ccdbb1bd3977920f2a64292c326271f049d4bc3a4f
|
sha256: a62f99417fc4fa2d099ce0ccdbb1bd3977920f2a64292c326271f049d4bc3a4f
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.1.0"
|
||||||
plugin_platform_interface:
|
plugin_platform_interface:
|
||||||
@ -487,7 +487,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: plugin_platform_interface
|
name: plugin_platform_interface
|
||||||
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
|
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.8"
|
version: "2.1.8"
|
||||||
pub_semver:
|
pub_semver:
|
||||||
@ -495,7 +495,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: pub_semver
|
name: pub_semver
|
||||||
sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
|
sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.1.4"
|
||||||
quick_blue:
|
quick_blue:
|
||||||
@ -510,7 +510,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: roslibdart
|
name: roslibdart
|
||||||
sha256: "7473a39947f3f5ee32b032f8bab5285a465449e5cd234ae486e5ea11bd6c9e3b"
|
sha256: "7473a39947f3f5ee32b032f8bab5285a465449e5cd234ae486e5ea11bd6c9e3b"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.1-dev+4"
|
version: "0.0.1-dev+4"
|
||||||
scence_map:
|
scence_map:
|
||||||
@ -530,7 +530,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: source_span
|
name: source_span
|
||||||
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
|
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.10.0"
|
version: "1.10.0"
|
||||||
stack_trace:
|
stack_trace:
|
||||||
@ -538,7 +538,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: stack_trace
|
name: stack_trace
|
||||||
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
|
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.11.1"
|
version: "1.11.1"
|
||||||
stream_channel:
|
stream_channel:
|
||||||
@ -546,7 +546,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: stream_channel
|
name: stream_channel
|
||||||
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
|
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.2"
|
version: "2.1.2"
|
||||||
string_scanner:
|
string_scanner:
|
||||||
@ -554,39 +554,39 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: string_scanner
|
name: string_scanner
|
||||||
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
|
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.2.0"
|
||||||
syncfusion_flutter_core:
|
syncfusion_flutter_core:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: syncfusion_flutter_core
|
name: syncfusion_flutter_core
|
||||||
sha256: "24d7f43ff33bd6248c95d8b3312f6b9fe89637727ca778d60490b81ebd5bd8e7"
|
sha256: "6e67726b85812afc7105725a23620b876ab7f6b04b8410e211330ffb8c2cdbe8"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "26.2.9"
|
version: "26.2.14"
|
||||||
syncfusion_flutter_sliders:
|
syncfusion_flutter_sliders:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: syncfusion_flutter_sliders
|
name: syncfusion_flutter_sliders
|
||||||
sha256: "3adae52373f7dfbf829bbd0b1afe8e37b7e63d13e612a68e7f2474ff8bc5cb99"
|
sha256: dca62b54b6b4f99efa1c34abfc54ce83854d7628e78118a1941a2f30d33ea4d5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "26.2.9"
|
version: "26.2.14"
|
||||||
synchronized:
|
synchronized:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: synchronized
|
name: synchronized
|
||||||
sha256: a824e842b8a054f91a728b783c177c1e4731f6b124f9192468457a8913371255
|
sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.2.0"
|
version: "3.3.0+3"
|
||||||
term_glyph:
|
term_glyph:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: term_glyph
|
name: term_glyph
|
||||||
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
|
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.1"
|
version: "1.2.1"
|
||||||
test_api:
|
test_api:
|
||||||
@ -594,71 +594,71 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
|
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.2"
|
version: "0.7.2"
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: typed_data
|
name: typed_data
|
||||||
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
|
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.2"
|
version: "1.4.0"
|
||||||
vector_graphics:
|
vector_graphics:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_graphics
|
name: vector_graphics
|
||||||
sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3"
|
sha256: "773c9522d66d523e1c7b25dfb95cc91c26a1e17b107039cfe147285e92de7878"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.11+1"
|
version: "1.1.14"
|
||||||
vector_graphics_codec:
|
vector_graphics_codec:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_graphics_codec
|
name: vector_graphics_codec
|
||||||
sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da
|
sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.11+1"
|
version: "1.1.12"
|
||||||
vector_graphics_compiler:
|
vector_graphics_compiler:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_graphics_compiler
|
name: vector_graphics_compiler
|
||||||
sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81"
|
sha256: "26d520739b7c6b5d2a2b3274427874a8390831fd4cd5bb8cfbd7d913477d3a2e"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.11+1"
|
version: "1.1.14"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_math
|
name: vector_math
|
||||||
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
|
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.1.4"
|
||||||
vm_service:
|
vm_service:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vm_service
|
name: vm_service
|
||||||
sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
|
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "14.2.4"
|
version: "14.2.5"
|
||||||
web:
|
web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: web
|
name: web
|
||||||
sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062
|
sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "1.1.0"
|
||||||
web_socket_channel:
|
web_socket_channel:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: web_socket_channel
|
name: web_socket_channel
|
||||||
sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
|
sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.0"
|
version: "2.4.0"
|
||||||
webrtc_interface:
|
webrtc_interface:
|
||||||
@ -666,7 +666,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: webrtc_interface
|
name: webrtc_interface
|
||||||
sha256: abec3ab7956bd5ac539cf34a42fa0c82ea26675847c0966bb85160400eea9388
|
sha256: abec3ab7956bd5ac539cf34a42fa0c82ea26675847c0966bb85160400eea9388
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.2.0"
|
||||||
wifi_iot:
|
wifi_iot:
|
||||||
@ -674,7 +674,7 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: wifi_iot
|
name: wifi_iot
|
||||||
sha256: "4a3301f71663a908bb50ffe6d9dc9e8b8383fab48368accf978409bde96e9aca"
|
sha256: "4a3301f71663a908bb50ffe6d9dc9e8b8383fab48368accf978409bde96e9aca"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.3.19+1"
|
version: "0.3.19+1"
|
||||||
wifi_scan:
|
wifi_scan:
|
||||||
@ -682,25 +682,25 @@ packages:
|
|||||||
description:
|
description:
|
||||||
name: wifi_scan
|
name: wifi_scan
|
||||||
sha256: "9a9df688d3e71c39edcd861e6d50beb63815d5505d3884867d75f93e49d66363"
|
sha256: "9a9df688d3e71c39edcd861e6d50beb63815d5505d3884867d75f93e49d66363"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.4.1+1"
|
version: "0.4.1+1"
|
||||||
xdg_directories:
|
xdg_directories:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: xdg_directories
|
name: xdg_directories
|
||||||
sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d
|
sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.4"
|
version: "1.1.0"
|
||||||
xml:
|
xml:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: xml
|
name: xml
|
||||||
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
|
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
|
||||||
url: "https://pub.dev"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.5.0"
|
version: "6.5.0"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=3.5.0 <4.0.0"
|
dart: ">=3.5.0 <4.0.0"
|
||||||
flutter: ">=3.22.0"
|
flutter: ">=3.24.0"
|
||||||
|
@ -59,6 +59,7 @@ dependencies:
|
|||||||
wifi_scan: ^0.4.1+1
|
wifi_scan: ^0.4.1+1
|
||||||
wifi_iot: ^0.3.19+1
|
wifi_iot: ^0.3.19+1
|
||||||
path_provider: ^2.1.4
|
path_provider: ^2.1.4
|
||||||
|
intl: ^0.19.0
|
||||||
|
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
Loading…
Reference in New Issue
Block a user