From fdc8a93fac31db5e550dbfe94affd5c7b2683633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=8F=E5=B0=91=E9=98=B3?= <786612630@qq.com> Date: Tue, 12 Mar 2024 17:14:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=89=88=E6=9C=AC=E6=9B=B4?= =?UTF-8?q?=E6=96=B0UI=E8=B7=9F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/lib/app.dart | 22 ----- .../lockDetail/lockDetail_logic.dart | 1 + .../uploadElectricQuantity_page.dart | 4 +- .../main/lockMian/lockMain/lockMain_page.dart | 10 +-- star_lock/lib/network/api_provider.dart | 5 +- star_lock/lib/network/api_repository.dart | 10 +++ .../versionUndate/versionUndateWidget.dart | 16 ---- .../versionUndate/versionUndate_entity.dart | 56 ++++++++++++ .../versionUndate/versionUndate_logic.dart | 88 +++++++++++++++++++ .../lib/versionUndate/versionUndate_page.dart | 38 ++++++++ .../versionUndate/versionUndate_state.dart | 9 ++ 11 files changed, 212 insertions(+), 47 deletions(-) delete mode 100644 star_lock/lib/versionUndate/versionUndateWidget.dart create mode 100644 star_lock/lib/versionUndate/versionUndate_entity.dart create mode 100644 star_lock/lib/versionUndate/versionUndate_logic.dart create mode 100644 star_lock/lib/versionUndate/versionUndate_page.dart create mode 100644 star_lock/lib/versionUndate/versionUndate_state.dart diff --git a/star_lock/lib/app.dart b/star_lock/lib/app.dart index b0c1ec52..0460ffbc 100644 --- a/star_lock/lib/app.dart +++ b/star_lock/lib/app.dart @@ -127,28 +127,6 @@ void openBlueScan() { } } -// 获取版本号 -void getVersionData() async { - // var entity = await ApiRepository.to.deletOwnerLockData( - // lockId: state.lockSetInfoData.value.lockId.toString(), - // ); - // if (entity.errorCode!.codeIsSuccessful) { - // BlueManage().connectDeviceMacAddress = ""; - // SchedulerBinding.instance.addPostFrameCallback((_) { - // eventBus.fire(RefreshLockListInfoDataEvent()); - // }); - // if(state.isOnlyOneData.value == true){ - // Future.delayed(const Duration(milliseconds: 200)).then((e) { - // Get.close(1); - // }); - // }else{ - // Future.delayed(const Duration(milliseconds: 200)).then((e) { - // Get.close(2); - // }); - // } - // } -} - ///请求蓝牙权限 Future getMicrophonePermission() async { // You can request multiple permissions at once. diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart index 3a216bc9..c9a4f0d5 100644 --- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart +++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart @@ -865,4 +865,5 @@ class LockDetailLogic extends BaseGetXController { _lockSetOpenOrCloseCheckInRefreshLockDetailWithAttendanceEvent!.cancel(); // _scanListDiscoveredDeviceSubscription.cancel(); } + } diff --git a/star_lock/lib/main/lockDetail/lockSet/basicInformation/uploadElectricQuantity/uploadElectricQuantity_page.dart b/star_lock/lib/main/lockDetail/lockSet/basicInformation/uploadElectricQuantity/uploadElectricQuantity_page.dart index 7748f48a..2746342c 100644 --- a/star_lock/lib/main/lockDetail/lockSet/basicInformation/uploadElectricQuantity/uploadElectricQuantity_page.dart +++ b/star_lock/lib/main/lockDetail/lockSet/basicInformation/uploadElectricQuantity/uploadElectricQuantity_page.dart @@ -59,7 +59,7 @@ class _UploadElectricQuantityPageState extends State )), ], )), - Obx(() => Row( + Row( mainAxisAlignment: MainAxisAlignment.start, children: [ Expanded( @@ -68,7 +68,7 @@ class _UploadElectricQuantityPageState extends State style: TextStyle(fontSize: 20.sp), )), ], - )), + ), SizedBox(height: 10.h), Obx(() => Row( mainAxisAlignment: MainAxisAlignment.start, diff --git a/star_lock/lib/main/lockMian/lockMain/lockMain_page.dart b/star_lock/lib/main/lockMian/lockMain/lockMain_page.dart index 4ff5edf7..12dc3127 100644 --- a/star_lock/lib/main/lockMian/lockMain/lockMain_page.dart +++ b/star_lock/lib/main/lockMian/lockMain/lockMain_page.dart @@ -38,11 +38,11 @@ class _StarLockMainPageState extends State with BaseWidget { final state = Get.find().state; Future getHttpData() async { - await logic.getStarLockInfo(); - setState(() {}); - // logic.getStarLockInfo().then((LockListInfoEntity value) { - // setState(() {}); - // }); + // await logic.getStarLockInfo(); + // setState(() {}); + logic.getStarLockInfo().then((LockListInfoEntity value) { + setState(() {}); + }); } @override diff --git a/star_lock/lib/network/api_provider.dart b/star_lock/lib/network/api_provider.dart index 72a1f792..3dbcbcc1 100644 --- a/star_lock/lib/network/api_provider.dart +++ b/star_lock/lib/network/api_provider.dart @@ -1544,10 +1544,11 @@ class ApiProvider extends BaseProvider { })); // 获取最新版本号 - Future getVersionData(String messageId) => post( + Future getVersionData(String brandName, String currentVersion) => post( getVersionURL.toUrl, jsonEncode({ - 'id': messageId, + 'brandName': brandName, + 'currentVersion': currentVersion, })); } diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index 594c6332..fc41aab0 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -48,6 +48,7 @@ import '../mine/minePersonInfo/minePersonInfoPage/minePersonGetUploadFileInfo_en import '../mine/mineSet/transferGateway/selectGetewayList_entity.dart'; import '../mine/mineSet/transferSmartLock/recipientInformation/recipientInformation_entity.dart'; import '../mine/mineSet/transferSmartLock/transferSmartLockList/transferSmartLock_entity.dart'; +import '../versionUndate/versionUndate_entity.dart'; import 'api_provider.dart'; class ApiRepository { @@ -1556,4 +1557,13 @@ class ApiRepository { final res = await apiProvider.deletMessageLoadData(messageId); return MessageListEntity.fromJson(res.body); } + + // 获取版本号 + Future getVersionData({ + required String brandName, + required String currentVersion + }) async { + final res = await apiProvider.getVersionData(brandName, currentVersion); + return VersionUndateEntity.fromJson(res.body); + } } diff --git a/star_lock/lib/versionUndate/versionUndateWidget.dart b/star_lock/lib/versionUndate/versionUndateWidget.dart deleted file mode 100644 index a3568f28..00000000 --- a/star_lock/lib/versionUndate/versionUndateWidget.dart +++ /dev/null @@ -1,16 +0,0 @@ - -import 'package:flutter/material.dart'; - -class VersionUndateWidget extends StatefulWidget { - const VersionUndateWidget({Key? key}) : super(key: key); - - @override - State createState() => _VersionUndateWidgetState(); -} - -class _VersionUndateWidgetState extends State { - @override - Widget build(BuildContext context) { - return const Placeholder(); - } -} diff --git a/star_lock/lib/versionUndate/versionUndate_entity.dart b/star_lock/lib/versionUndate/versionUndate_entity.dart new file mode 100644 index 00000000..1f8be81d --- /dev/null +++ b/star_lock/lib/versionUndate/versionUndate_entity.dart @@ -0,0 +1,56 @@ +class VersionUndateEntity { + int? errorCode; + String? description; + String? errorMsg; + Data? data; + + VersionUndateEntity( + {this.errorCode, this.description, this.errorMsg, this.data}); + + VersionUndateEntity.fromJson(Map json) { + errorCode = json['errorCode']; + description = json['description']; + errorMsg = json['errorMsg']; + data = json['data'] != null ? Data.fromJson(json['data']) : null; + } + + Map toJson() { + final Map data = {}; + data['errorCode'] = errorCode; + data['description'] = description; + data['errorMsg'] = errorMsg; + if (this.data != null) { + data['data'] = this.data!.toJson(); + } + return data; + } +} + +class Data { + int? isUpdate; + String? appDownloadUrl; + String? description; + int? isForceUpdate; + + Data( + {this.isUpdate, + this.appDownloadUrl, + this.description, + this.isForceUpdate}); + + Data.fromJson(Map json) { + isUpdate = json['isUpdate']; + appDownloadUrl = json['appDownloadUrl']; + description = json['description']; + isForceUpdate = json['isForceUpdate']; + } + + Map toJson() { + final Map data = {}; + data['isUpdate'] = isUpdate; + data['appDownloadUrl'] = appDownloadUrl; + data['description'] = description; + data['isForceUpdate'] = isForceUpdate; + return data; + } +} diff --git a/star_lock/lib/versionUndate/versionUndate_logic.dart b/star_lock/lib/versionUndate/versionUndate_logic.dart new file mode 100644 index 00000000..cb62b678 --- /dev/null +++ b/star_lock/lib/versionUndate/versionUndate_logic.dart @@ -0,0 +1,88 @@ + + +import 'package:device_info_plus/device_info_plus.dart'; +import 'package:package_info_plus/package_info_plus.dart'; +import 'package:star_lock/tools/baseGetXController.dart'; + +import '../network/api_repository.dart'; +import 'versionUndate_state.dart'; + +class VersionUndateLogic extends BaseGetXController{ + VersionUndateState state = VersionUndateState(); + + // 获取版本号 + void getVersionData() async { + DeviceInfoPlugin deviceInfo = DeviceInfoPlugin(); + AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo; + // print('androidInfo.manufacturer:${androidInfo.manufacturer}' + // 'androidInfo.device:${androidInfo.device}' + // 'androidInfo.model:${androidInfo.model}' + // 'androidInfo.product:${androidInfo.product}' + // 'androidInfo.version.release:${androidInfo.version.release}' + // 'androidInfo.version.sdkInt:${androidInfo.version.sdkInt}' + // 'androidInfo.version.securityPatch:${androidInfo.version.securityPatch}' + // 'androidInfo.version.incremental:${androidInfo.version.incremental}' + // 'androidInfo.version.codename:${androidInfo.version.codename}' + // 'androidInfo.version.baseOS:${androidInfo.version.baseOS}' + // 'androidInfo.board:${androidInfo.board}' + // 'androidInfo.bootloader:${androidInfo.bootloader}'); + + PackageInfo packageInfo = await PackageInfo.fromPlatform(); + var version = packageInfo.version; + + var entity = await ApiRepository.to.getVersionData( + brandName: androidInfo.manufacturer, + currentVersion: version, + ); + if (entity.errorCode!.codeIsSuccessful) { + state.versionUndateEntity.value = entity; + } + } + + void showUpdateAlertDialog() { + // showCupertinoDialog( + // context: Get.context!, + // builder: (context) { + // return CupertinoAlertDialog( + // content: const Text('重置后,该锁的指纹都将被删除哦,确认要重置吗?'), + // actions: [ + // CupertinoDialogAction( + // child: Text(TranslationLoader.lanKeys!.cancel!.tr), + // onPressed: () { + // Navigator.pop(context); + // }, + // ), + // CupertinoDialogAction( + // child: Text(TranslationLoader.lanKeys!.sure!.tr), + // onPressed: () { + // + // }, + // ), + // ], + // ); + // }, + // ); + } + + @override + void onReady() { + // TODO: implement onReady + super.onReady(); + + getVersionData(); + } + + @override + void onInit() { + // TODO: implement onInit + super.onInit(); + + } + + @override + void onClose() { + // TODO: implement onClose + + } + +} \ No newline at end of file diff --git a/star_lock/lib/versionUndate/versionUndate_page.dart b/star_lock/lib/versionUndate/versionUndate_page.dart new file mode 100644 index 00000000..df22f5fb --- /dev/null +++ b/star_lock/lib/versionUndate/versionUndate_page.dart @@ -0,0 +1,38 @@ + +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:star_lock/versionUndate/versionUndate_logic.dart'; + +class VersionUndatePage extends StatefulWidget { + const VersionUndatePage({Key? key}) : super(key: key); + + @override + State createState() => _VersionUndatePageState(); +} + +class _VersionUndatePageState extends State { + final logic = Get.put(VersionUndateLogic()); + final state = Get.find().state; + + @override + Widget build(BuildContext context) { + return Container( + child: Column( + children: [ + Container( + // color: AppColors.mainColor, + alignment: Alignment.topCenter, + height: 50.h, + child: Text('版本更新', style: TextStyle(fontSize: 28.sp, color: Colors.blue),) + ), + Container( + padding: EdgeInsets.only(left:20.w, right: 20.w, top: 10.h), + alignment: Alignment.centerLeft, + child: Text('1、修复了一些bug \n2、优化了部分问题 \n3、修补了设置模块bug \n4、优化了部分问题 \n5、修补了设置模块bug', textAlign:TextAlign.start, style: TextStyle(fontSize: 20.sp)) + ), + ], + ), + ); + } +} diff --git a/star_lock/lib/versionUndate/versionUndate_state.dart b/star_lock/lib/versionUndate/versionUndate_state.dart new file mode 100644 index 00000000..825b3492 --- /dev/null +++ b/star_lock/lib/versionUndate/versionUndate_state.dart @@ -0,0 +1,9 @@ + +import 'package:get/get.dart'; + +import 'versionUndate_entity.dart'; + +class VersionUndateState{ + final versionUndateEntity = VersionUndateEntity().obs; + +} \ No newline at end of file