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