diff --git a/android/java_pid17080.hprof b/android/java_pid17080.hprof new file mode 100644 index 0000000..aba051c Binary files /dev/null and b/android/java_pid17080.hprof differ diff --git a/assets/file.json b/assets/file.json index a4e5738..e594e50 100644 --- a/assets/file.json +++ b/assets/file.json @@ -1,243 +1,3 @@ -[ - "assets\\file.json", - "assets\\fonts\\calculatrix.ttf", - "assets\\images\\33.svg", - "assets\\images\\active_bluetooth.png", - "assets\\images\\add.svg", - "assets\\images\\alarm.svg", - "assets\\images\\alarm_before.svg", - "assets\\images\\allread.svg", - "assets\\images\\avatar.png", - "assets\\images\\background.png", - "assets\\images\\bar_control.svg", - "assets\\images\\bar_heart.svg", - "assets\\images\\bar_home.svg", - "assets\\images\\bar_mine.svg", - "assets\\images\\bed.png", - "assets\\images\\bed_1.png", - "assets\\images\\bed_2.png", - "assets\\images\\bed_3.png", - "assets\\images\\bed_4.png", - "assets\\images\\bed_control.png", - "assets\\images\\bed_name.png", - "assets\\images\\bed_point.gif", - "assets\\images\\bed_runing.png", - "assets\\images\\bed_start.png", - "assets\\images\\body.gif", - "assets\\images\\bottom.svg", - "assets\\images\\breath.png", - "assets\\images\\camera.png", - "assets\\images\\checkOther.svg", - "assets\\images\\default_avatar.png", - "assets\\images\\delete.svg", - "assets\\images\\delete_account.png", - "assets\\images\\device.svg", - "assets\\images\\device_bed.png", - "assets\\images\\edit.svg", - "assets\\images\\electric_bed.png", - "assets\\images\\empty.png", - "assets\\images\\emptyUser.png", - "assets\\images\\fangpin.svg", - "assets\\images\\group.svg", - "assets\\images\\heart.png", - "assets\\images\\help.svg", - "assets\\images\\icon_article.svg", - "assets\\images\\icon_home.svg", - "assets\\images\\icon_people.svg", - "assets\\images\\icon_shopping.svg", - "assets\\images\\icon_sleep_dark.png", - "assets\\images\\icon_sleep_light.png", - "assets\\images\\issue.svg", - "assets\\images\\linzhongli.svg", - "assets\\images\\location.svg", - "assets\\images\\locationColor.svg", - "assets\\images\\location_new.svg", - "assets\\images\\mattress.png", - "assets\\images\\networkError.png", - "assets\\images\\new_background.png", - "assets\\images\\new_empty.png", - "assets\\images\\people_avatar.png", - "assets\\images\\phone.svg", - "assets\\images\\player.png", - "assets\\images\\p_bei.svg", - "assets\\images\\p_tou.svg", - "assets\\images\\p_tui.svg", - "assets\\images\\p_yao.svg", - "assets\\images\\read.svg", - "assets\\images\\read_message.svg", - "assets\\images\\repair.svg", - "assets\\images\\search.svg", - "assets\\images\\setting.svg", - "assets\\images\\shouCang.png", - "assets\\images\\success.png", - "assets\\images\\swiper1.png", - "assets\\images\\swiper2.png", - "assets\\images\\swiper3.png", - "assets\\images\\table.svg", - "assets\\images\\tasks.svg", - "assets\\images\\top.svg", - "assets\\images\\tv.svg", - "assets\\images\\wechat.png", - "assets\\images\\weiShouCang.png", - "assets\\images\\wifi1.png", - "assets\\images\\wifi1.svg", - "assets\\images\\wifi2.png", - "assets\\images\\wifi2.svg", - "assets\\images\\wifi3.png", - "assets\\images\\wifi3.svg", - "assets\\images\\wifi4.png", - "assets\\images\\wifi4.svg", - "assets\\images\\yueduliang.svg", - "assets\\images\\zhumian_background.gif", - "assets\\images\\zhumian_background_nostart.png", - "assets\\images\\zhumian_runing.png", - "assets\\images\\zhumian_runing_1.png", - "assets\\images\\zhumian_runing_2.png", - "assets\\images\\zhumian_start.png", - "assets\\images\\_16228.png", - "assets\\images\\_16328.png", - "assets\\images\\_16428.png", - "assets\\images\\_18328.png", - "assets\\images\\_18428.png", - "assets\\images\\icon\\add.svg", - "assets\\images\\toast\\ble.png", - "assets\\images\\toast\\danger.png", - "assets\\images\\toast\\error_.png", - "assets\\images\\toast\\success.png", - "assets\\images\\toast\\success_.png", - "assets\\images\\toast\\warn.png", - "assets\\images\\toast\\warn_.png", - "assets\\images\\toast\\wifi.png", - "assets\\img\\addItem.png", - "assets\\img\\avatar.png", - "assets\\img\\background.png", - "assets\\img\\bed.png", - "assets\\img\\bgImage.png", - "assets\\img\\bgNoImg.png", - "assets\\img\\black_body_still.png", - "assets\\img\\body_black.gif", - "assets\\img\\body_white.gif", - "assets\\img\\camera.png", - "assets\\img\\device.png", - "assets\\img\\double_person.png", - "assets\\img\\double_pillow.png", - "assets\\img\\errorImg.png", - "assets\\img\\followus.png", - "assets\\img\\google.png", - "assets\\img\\help_op.png", - "assets\\img\\huanshuiF.png", - "assets\\img\\loading.json", - "assets\\img\\man.png", - "assets\\img\\moon.png", - "assets\\img\\mye.png", - "assets\\img\\netlove.png", - "assets\\img\\signal0.png", - "assets\\img\\signal1.png", - "assets\\img\\signal2.png", - "assets\\img\\signal3.png", - "assets\\img\\signal4.png", - "assets\\img\\single_person.png", - "assets\\img\\single_pillow.png", - "assets\\img\\sun.png", - "assets\\img\\tel.png", - "assets\\img\\test.pdf", - "assets\\img\\tip_arrow.gif", - "assets\\img\\wechat.png", - "assets\\img\\wifi1.png", - "assets\\img\\wifi2.png", - "assets\\img\\wifi3.png", - "assets\\img\\wifi4.png", - "assets\\img\\woman.png", - "assets\\img\\xiaoe.png", - "assets\\img\\服务协议.pdf", - "assets\\img\\隐私协议.pdf", - "assets\\img\\icon\\add.svg", - "assets\\img\\icon\\address.svg", - "assets\\img\\icon\\ai.svg", - "assets\\img\\icon\\arrow_down.svg", - "assets\\img\\icon\\arrow_left.svg", - "assets\\img\\icon\\arrow_right.svg", - "assets\\img\\icon\\bed_status.svg", - "assets\\img\\icon\\bluetooth.svg", - "assets\\img\\icon\\bluetooth_edit.svg", - "assets\\img\\icon\\blue_fail.svg", - "assets\\img\\icon\\blue_success.svg", - "assets\\img\\icon\\bodymotion.svg", - "assets\\img\\icon\\breathe.svg", - "assets\\img\\icon\\breathe_pause.svg", - "assets\\img\\icon\\calendar.svg", - "assets\\img\\icon\\camera.svg", - "assets\\img\\icon\\close.svg", - "assets\\img\\icon\\customer_service.svg", - "assets\\img\\icon\\default_head.svg", - "assets\\img\\icon\\device_issue.svg", - "assets\\img\\icon\\device_offline.svg", - "assets\\img\\icon\\device_online.svg", - "assets\\img\\icon\\device_repair.svg", - "assets\\img\\icon\\earphone.svg", - "assets\\img\\icon\\expand.svg", - "assets\\img\\icon\\expand_down.svg", - "assets\\img\\icon\\expand_more.svg", - "assets\\img\\icon\\explain.svg", - "assets\\img\\icon\\group.svg", - "assets\\img\\icon\\heart.svg", - "assets\\img\\icon\\help.svg", - "assets\\img\\icon\\history.svg", - "assets\\img\\icon\\history_store.svg", - "assets\\img\\icon\\in_bed.svg", - "assets\\img\\icon\\like.svg", - "assets\\img\\icon\\loading.json", - "assets\\img\\icon\\mall.svg", - "assets\\img\\icon\\message.svg", - "assets\\img\\icon\\my_device.svg", - "assets\\img\\icon\\not_bed.svg", - "assets\\img\\icon\\nulldata.svg", - "assets\\img\\icon\\op_ex.svg", - "assets\\img\\icon\\order.svg", - "assets\\img\\icon\\people_info.svg", - "assets\\img\\icon\\plus.svg", - "assets\\img\\icon\\query.svg", - "assets\\img\\icon\\refresh.svg", - "assets\\img\\icon\\repair.svg", - "assets\\img\\icon\\return_buttom.svg", - "assets\\img\\icon\\scan.svg", - "assets\\img\\icon\\score_down.svg", - "assets\\img\\icon\\score_equal.svg", - "assets\\img\\icon\\score_up.svg", - "assets\\img\\icon\\select_arrow.svg", - "assets\\img\\icon\\setting.svg", - "assets\\img\\icon\\share.svg", - "assets\\img\\icon\\signal0.svg", - "assets\\img\\icon\\signal1.svg", - "assets\\img\\icon\\signal2.svg", - "assets\\img\\icon\\signal3.svg", - "assets\\img\\icon\\singal4.svg", - "assets\\img\\icon\\snore.svg", - "assets\\img\\icon\\sound.svg", - "assets\\img\\icon\\store.svg", - "assets\\img\\icon\\tick.svg", - "assets\\img\\icon\\tips.svg", - "assets\\img\\icon\\triangle.svg", - "assets\\img\\icon\\upgrade.svg", - "assets\\img\\icon\\version.svg", - "assets\\img\\icon\\wifi1.svg", - "assets\\img\\icon\\wifi2.svg", - "assets\\img\\icon\\wifi3.svg", - "assets\\img\\icon\\wifi4.svg", - "assets\\img\\icon\\xiaoyi.svg", - "assets\\img\\menu\\e.svg", - "assets\\img\\menu\\home.svg", - "assets\\img\\menu\\message.svg", - "assets\\img\\menu\\mine.svg", - "assets\\img\\menu\\n_e.svg", - "assets\\img\\menu\\n_home.svg", - "assets\\img\\menu\\n_message.svg", - "assets\\img\\menu\\n_mine.svg", - "assets\\img\\menu\\n_report.svg", - "assets\\img\\menu\\report.svg", - "assets\\langs\\en_US.json", - "assets\\langs\\zh_CN.json", - "assets\\langs\\zh_TW.json", - "assets\\mhlangs\\en_US.json", - "assets\\mhlangs\\zh_CN.json" -] +[ + "assets/miniapp/mhtControl_1.0.0.zip" +] \ No newline at end of file diff --git a/assets/miniapp/mhtControl_1.0.0.zip b/assets/miniapp/mhtControl_1.0.0.zip new file mode 100644 index 0000000..67a3cac Binary files /dev/null and b/assets/miniapp/mhtControl_1.0.0.zip differ diff --git a/lib/main.dart b/lib/main.dart index 2b6fd41..8f9ae53 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,6 +4,7 @@ import 'dart:convert'; import 'package:EasyDartModule/EasyDartModule.dart'; import 'package:EasyDartModule/base/logger/Logger.dart'; import 'package:EasyDartModule/base/websocket/WebSocket.dart'; +import 'package:easyweb/utils/appmanger.dart'; import 'package:ef/ef.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -106,6 +107,8 @@ Future main() async { // // 初始化 flutter_xupdate android app 更新 // initXUpdate(); + initwebService(); + WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]) .then((_) { @@ -113,6 +116,15 @@ Future main() async { }); } +void initwebService() { + ef.kvRoot.appmanger = MiniAppManager(assetsfilePath: 'assets/file.json'); + ef.kvRoot.appmanger.register(["mhtControl"]); + ef.kvRoot.appmanger.init().then((x) { + //先加载,后检测更新.. + ef.kvRoot.appmanger.start("https://wyf.it.real.he-info.cn:94/apk/webapp/"); + }); +} + initLanguageSetting() { try { Get.put(LanguageController()); diff --git a/lib/pages/mh_page/MattressControl.dart b/lib/pages/mh_page/MattressControl.dart index 38f0f87..97f8e3b 100644 --- a/lib/pages/mh_page/MattressControl.dart +++ b/lib/pages/mh_page/MattressControl.dart @@ -20,7 +20,7 @@ class _MattressControlPageState extends State { Widget build(BuildContext context) { return LayoutBuilder( builder: (context, bodySize) => GestureDetector( - onTap: () => FocusScope.of(context).unfocus(), + // onTap: () => FocusScope.of(context).unfocus(), child: Container( decoration: const BoxDecoration( image: DecorationImage( diff --git a/lib/pages/mh_page/about_us.dart b/lib/pages/mh_page/about_us.dart index 9b52795..8a785df 100644 --- a/lib/pages/mh_page/about_us.dart +++ b/lib/pages/mh_page/about_us.dart @@ -18,11 +18,22 @@ class _MhAboutUsPageState extends State { void initState() { super.initState(); // pdfController.loadPdf(); - + String url; + switch (AppConstants().ent_type) { + case 1: + url = "https://mp.weixin.qq.com/s/BrD3fTT2J2R-DxZrUuM4rw"; + break; + case 2: + url = "https://mp.weixin.qq.com/s/7BvvprVDqX1eOzM3Lms8dg"; + break; + case 3: + url = "https://mp.weixin.qq.com/s/BrD3fTT2J2R-DxZrUuM4rw"; + break; + default: + url = "https://mp.weixin.qq.com/s/BrD3fTT2J2R-DxZrUuM4rw"; + } widget.webView = MyWebView( - url: AppConstants().ent_type == 1 - ? "https://mp.weixin.qq.com/s/BrD3fTT2J2R-DxZrUuM4rw" - : "https://mp.weixin.qq.com/s/7BvvprVDqX1eOzM3Lms8dg", + url: url, onLoad: () { print('网页载入完毕'); }, diff --git a/lib/pages/mh_page/device/component/DeviceComponentWidget.dart b/lib/pages/mh_page/device/component/DeviceComponentWidget.dart index d32ce2f..dd2cde8 100644 --- a/lib/pages/mh_page/device/component/DeviceComponentWidget.dart +++ b/lib/pages/mh_page/device/component/DeviceComponentWidget.dart @@ -230,14 +230,6 @@ class _DeviceComponentWidgetState extends State { TopSlideNotification.show(context, text: response.msg!); if (response.code == HttpStatusCodes.ok) { - try { - WebviewTestController webviewTestController = - Get.find(); - webviewTestController.web.jsbridge?.dart - .unBindDevice(); - } catch (e) { - ef.log("[h5]通知列表更新报错:$e"); - } homeController.getPersonList(); //请求绑定设备列表 // homeController.getSleepReport(); @@ -254,6 +246,14 @@ class _DeviceComponentWidgetState extends State { .getDeviceList(group: 'room') .then((apiResponse) { if (apiResponse.code != HttpStatusCodes.ok) { + try { + WebviewTestController webviewTestController = + Get.find(); + webviewTestController.web.jsbridge?.dart + .alterDevice(); + } catch (e) { + ef.log("[h5]通知列表更新报错:$e"); + } TopSlideNotification.show( Get.context!, text: apiResponse.msg!, diff --git a/lib/pages/mh_page/device/device.dart b/lib/pages/mh_page/device/device.dart index 99cd31e..e924bd9 100644 --- a/lib/pages/mh_page/device/device.dart +++ b/lib/pages/mh_page/device/device.dart @@ -58,7 +58,8 @@ class DeviceInfoWidget extends GetView { children: [ Text( deviceListController.model.deviceList[index]['name'] ?? - 'SWES系列 01号智能一键入眠床', + getNameByType( + deviceListController.model.deviceList[index]), style: TextStyle( fontFamily: 'Readex Pro', color: Colors.white, @@ -127,14 +128,14 @@ class DeviceInfoWidget extends GetView { .model.deviceList[index] ["status"]?["status"]) == 1 - ? '在线' - : '离线', + ? '已绑定' + : '已绑定', valueColor: (deviceListController .model.deviceList[index] ["status"]?["status"]) == 1 ? Color(0xFF6BFDAC) - : Color(0xFFFF7159)), + : Color(0xFF6BFDAC)), // Row( // mainAxisSize: MainAxisSize.max, // children: [ @@ -207,15 +208,12 @@ class DeviceInfoWidget extends GetView { try { WebviewTestController webviewTestController = Get.find(); - var future = webviewTestController - .web.jsbridge?.dart - .appToHtmlDevice(device); - Future.delayed(Duration(seconds: 5), () { - return; - }); - await future; + await webviewTestController.web.jsbridge?.dart .pageActive(false); + await Future.delayed(Duration(seconds: 1)); + await webviewTestController.web.jsbridge?.dart + .appToHtmlDevice(device); MainPageBBottomChange.jumpTo(2); Get.until((route) => Get.currentRoute == @@ -387,15 +385,17 @@ class DeviceInfoWidget extends GetView { ), InkWell( onTap: () { - TopSlideNotification.show( - context, - text: "功能开发中...", - ); + // TopSlideNotification.show( + // context, + // text: "功能开发中...", + // ); // var a = [device["bindMacA"]]; // if ("${device["bindMacB"]}".length > 6) { // a.add(device["bindMacB"]); // } // Get.toNamed("/sleepWebview", arguments: a); + Get.toNamed("/mhtSleepReportReturnPage", + arguments: device); }, child: Container( height: MediaQuery.sizeOf(context).height * 0.1, @@ -464,4 +464,16 @@ class DeviceInfoWidget extends GetView { ], ); } + + getNameByType(device) { + if (device['device_type'] == null) { + return '未知类型设备'.tr; + } + if (device['device_type'] == 2) { + return 'SWES 智能床'.tr; + } + if (device['device_type'] == 3) { + return 'SWES 智能床垫'.tr; + } + } } diff --git a/lib/pages/mh_page/device/mht_bind_device_type.dart b/lib/pages/mh_page/device/mht_bind_device_type.dart index 2cf32c5..89e3209 100644 --- a/lib/pages/mh_page/device/mht_bind_device_type.dart +++ b/lib/pages/mh_page/device/mht_bind_device_type.dart @@ -164,13 +164,13 @@ class _MHTBindDeviceTypePageState extends State { return CustomCard( borderRadius: 20.rpx, onTap: () { - if (type == 2) { - TopSlideNotification.show( - context, - text: "当前类型不支持绑定".tr, - ); - return; - } + // if (type == 2) { + // TopSlideNotification.show( + // context, + // text: "当前类型不支持绑定".tr, + // ); + // return; + // } MHTBlueToothController mhtBlueToothController = Get.find(); mhtBlueToothController.model.deviceType = type.toInt(); Get.toNamed("/mHTBlueteethDevicePage", arguments: data); diff --git a/lib/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart b/lib/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart index d97d516..ca157c9 100644 --- a/lib/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart +++ b/lib/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart @@ -79,14 +79,12 @@ class _HomeDeviceStausWidgetState extends State { try { var device = widget.deviceStatus; WebviewTestController webviewTestController = Get.find(); - var future = webviewTestController.web.jsbridge?.dart - .appToHtmlDevice(device); - Future.delayed(Duration(seconds: 5), () { - return; - }); - await future; + await webviewTestController.web.jsbridge?.dart .pageActive(false); + await Future.delayed(Duration(seconds: 1)); + await webviewTestController.web.jsbridge?.dart + .appToHtmlDevice(device); MainPageBBottomChange.jumpTo(2); } catch (e) { DailyLogUtils.writeError("发生异常: $e"); diff --git a/lib/pages/mh_page/homepage/mht_sleep_report_page.dart b/lib/pages/mh_page/homepage/mht_sleep_report_page.dart index 146549c..f71a1f3 100644 --- a/lib/pages/mh_page/homepage/mht_sleep_report_page.dart +++ b/lib/pages/mh_page/homepage/mht_sleep_report_page.dart @@ -102,6 +102,7 @@ class _MhtSleepReportPageState extends State { homeController.updateAll(); }); } + //themeController.currentColor.sc5, if (homeController.personnelList.value.length != 0) return Padding( padding: EdgeInsetsDirectional.fromSTEB( @@ -125,6 +126,16 @@ class _MhtSleepReportPageState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + Text( + '健康报告'.tr, + style: TextStyle( + fontFamily: 'Readex Pro', + color: + themeController.currentColor.sc3, + letterSpacing: 0, + fontSize: 30.rpx, + ), + ), ScrollbarTheme( data: ScrollbarThemeData( thumbColor: MaterialStateProperty.all( @@ -278,6 +289,7 @@ class _MhtSleepReportPageState extends State { 'assets/images/new_background.png', 'arrow': false, 'noBackImg': true, + 'person_show': false, }, ), ); diff --git a/lib/pages/mh_page/homepage/mht_sleep_report_page_return.dart b/lib/pages/mh_page/homepage/mht_sleep_report_page_return.dart new file mode 100644 index 0000000..1777edc --- /dev/null +++ b/lib/pages/mh_page/homepage/mht_sleep_report_page_return.dart @@ -0,0 +1,305 @@ +import 'package:ef/ef.dart'; +import 'package:flutter/material.dart'; +import 'package:flutterflow_ui/flutterflow_ui.dart'; +import 'package:vbvs_app/common/util/FitTool.dart'; +import 'package:vbvs_app/common/util/MyUtils.dart'; +import 'package:vbvs_app/controller/user_info_controller.dart'; +import 'package:vbvs_app/pages/mh_page/homepage/controller/mht_home_controller.dart'; +import 'package:vbvs_app/pages/sleep_report/new_sleep_report_page.dart'; + +class MhtSleepReportReturnPage extends StatefulWidget { + final dynamic data; + const MhtSleepReportReturnPage({super.key, required this.data}); + + @override + State createState() => + _MhtSleepReportReturnPageState(); +} + +class _MhtSleepReportReturnPageState extends State { + final UserInfoController userInfoController = Get.find(); + final MHTHomeController deviceController = Get.find(); + final MHTHomeController homeController = Get.find(); + final double borderRadius = 16.rpx; + + final formFieldController = FormFieldController(null); + final personInfo = {}.obs; + + @override + void initState() { + super.initState(); + if (userInfoController.model.login == 1) { + // 设备列表 + deviceController.getDeviceList(group: 'room'); + } + } + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () => FocusScope.of(context).unfocus(), + child: Container( + decoration: const BoxDecoration( + image: DecorationImage( + image: AssetImage('assets/images/new_background.png'), + fit: BoxFit.fill, + ), + ), + child: Scaffold( + backgroundColor: Colors.transparent, + appBar: AppBar( + backgroundColor: Colors.transparent, + automaticallyImplyLeading: false, + iconTheme: IconThemeData(color: themeController.currentColor.sc3), + titleSpacing: 0, + title: Container( + width: double.infinity, + height: 180.rpx, + child: Stack( + alignment: Alignment.center, + children: [ + /// 下拉选人 + Positioned( + right: 20.rpx, + child: ScrollbarTheme( + data: ScrollbarThemeData( + thumbColor: + MaterialStateProperty.all(Colors.transparent), + trackColor: + MaterialStateProperty.all(Colors.transparent), + trackBorderColor: + MaterialStateProperty.all(Colors.transparent), + ), + child: ValueListenableBuilder( + valueListenable: formFieldController, + // builder: (context, val, _) { + // return ClipRRect( + // borderRadius: BorderRadius.circular(36.rpx), + // child: Theme( + // data: Theme.of(context).copyWith( + // splashColor: Colors.transparent, + // highlightColor: Colors.transparent, + // hoverColor: Colors.transparent, + // ), + // child: FlutterFlowDropDown( + // controller: formFieldController, + // options: deviceController.personnelList.value + // .map((d) => "${d["mac"]}") + // .toList(), + // optionLabels: deviceController + // .personnelList.value + // .map((d) => d["name"] ?? d["mac"]) + // .toList(), + // onChanged: (val) { + // WidgetsBinding.instance + // .addPostFrameCallback((_) { + // final list = + // deviceController.personnelList.value; + // final selectedPerson = list.firstWhere( + // (element) => element['mac'] == val, + // orElse: () => null, + // ); + // homeController.selectPerson.value = + // selectedPerson; + // personInfo.value = selectedPerson; + + // homeController.selectedDayIndex = + // 6.obs; // 默认选第7天 + + // if (val == null) { + // homeController.sleepDays.value = []; + // } else { + // homeController.selectDevcie.value = val; + // deviceController.getSleeps(val); + // homeController.updateAll(); + // } + // }); + // }, + // width: 300.rpx, + // height: 81.rpx, + // maxHeight: 300.rpx, + // textStyle: TextStyle( + // fontSize: 28.rpx, + // overflow: TextOverflow.ellipsis, + // color: Colors.white, + // ), + // hintText: '', + // icon: Icon( + // Icons.keyboard_arrow_down_rounded, + // color: stringToColor("#FFFFFF"), + // size: 30.rpx, + // ), + // fillColor: stringToColor("#011D33"), + // elevation: 2, + // borderColor: Colors.transparent, + // borderWidth: 2, + // borderRadius: 0.rpx, + // margin: EdgeInsetsDirectional.fromSTEB( + // 32.rpx, 8.rpx, 32.rpx, 8.rpx), + // hidesUnderline: true, + // isOverButton: false, + // isSearchable: false, + // isMultiSelect: false, + // ), + // ), + // ); + // }, + + builder: (context, val, _) { + // 只保留符合 bind_mac_a/b 的人员 + final macA = widget.data['bind_mac_a']; + final macB = widget.data['bind_mac_b']; + final list = deviceController.personnelList.value; + final filteredList = list + .where( + (p) => p['mac'] == macA || p['mac'] == macB) + .toList(); + + // 默认只赋值一次 + if (formFieldController.value == null && + filteredList.isNotEmpty) { + final defaultMac = filteredList.first['mac']; + WidgetsBinding.instance.addPostFrameCallback((_) { + formFieldController.value = defaultMac; + + final selectedPerson = filteredList.firstWhere( + (element) => element['mac'] == defaultMac, + orElse: () => null, + ); + homeController.selectPerson.value = + selectedPerson; + personInfo.value = selectedPerson; + + homeController.selectedDayIndex = 6.obs; + homeController.selectDevcie.value = defaultMac; + deviceController.getSleeps(defaultMac); + homeController.updateAll(); + }); + } + + return ClipRRect( + borderRadius: BorderRadius.circular(36.rpx), + child: Theme( + data: Theme.of(context).copyWith( + splashColor: Colors.transparent, + highlightColor: Colors.transparent, + hoverColor: Colors.transparent, + ), + child: FlutterFlowDropDown( + controller: formFieldController, + options: filteredList + .map((d) => "${d["mac"]}") + .toList(), + optionLabels: filteredList + .map((d) => d["name"] ?? d["mac"]) + .toList(), + onChanged: (val) { + WidgetsBinding.instance + .addPostFrameCallback((_) { + final selectedPerson = + filteredList.firstWhere( + (element) => element['mac'] == val, + orElse: () => null, + ); + homeController.selectPerson.value = + selectedPerson; + personInfo.value = selectedPerson; + + homeController.selectedDayIndex = 6.obs; + + if (val == null) { + homeController.sleepDays.value = []; + } else { + homeController.selectDevcie.value = val; + deviceController.getSleeps(val); + homeController.updateAll(); + } + }); + }, + width: 300.rpx, + height: 81.rpx, + maxHeight: 300.rpx, + textStyle: TextStyle( + fontSize: 28.rpx, + overflow: TextOverflow.ellipsis, + color: Colors.white, + ), + hintText: '', + icon: Icon( + Icons.keyboard_arrow_down_rounded, + color: stringToColor("#FFFFFF"), + size: 30.rpx, + ), + fillColor: stringToColor("#003058"), + elevation: 2, + borderColor: Colors.transparent, + borderWidth: 2, + borderRadius: 0.rpx, + margin: EdgeInsetsDirectional.fromSTEB( + 32.rpx, 8.rpx, 32.rpx, 8.rpx), + hidesUnderline: true, + isOverButton: false, + isSearchable: false, + isMultiSelect: false, + ), + ), + ); + }, + ), + ), + ), + + /// 左侧返回 + 标题 + Positioned( + left: 0, + child: Row( + children: [ + returnIconButtomNew, + Text( + '健康报告'.tr, + style: TextStyle( + fontFamily: 'Readex Pro', + color: themeController.currentColor.sc3, + letterSpacing: 0, + fontSize: 30.rpx, + ), + ), + ], + ), + ), + ], + ), + ), + ), + body: SafeArea( + child: Obx(() { + final device = homeController.selectDevcie.value; + if (device != null && device.isNotEmpty) { + return Column( + children: [ + Expanded( + child: NewSleepReportPage( + data: { + "tag": "444", + 'date': DateTime.now().millisecondsSinceEpoch, + 'mac': device, + 'person': homeController.selectPerson.value, + 'backgroundImg': 'assets/images/new_background.png', + 'arrow': false, + 'noBackImg': true, + 'person_show': false, + }, + ), + ), + ], + ); + } + return Center( + child: Text('暂无数据', style: TextStyle(color: Colors.white))); + }), + ), + ), + ), + ); + } +} diff --git a/lib/pages/mh_page/homepage/new_Home_page.dart b/lib/pages/mh_page/homepage/new_Home_page.dart index 0e9a4de..b3efa66 100644 --- a/lib/pages/mh_page/homepage/new_Home_page.dart +++ b/lib/pages/mh_page/homepage/new_Home_page.dart @@ -1,3 +1,6 @@ +import 'dart:async'; + +import 'package:easyweb/utils/appmanger.dart'; import 'package:ef/ef.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; @@ -34,6 +37,7 @@ class _NewHomePageState extends State { GlobalController gloablController = Get.find(); WeatherModelController weatherModelController = Get.find(); // var selectedDayIndex = (6).obs; + StreamSubscription? _newVersionSubscription; @override void initState() { @@ -71,6 +75,28 @@ class _NewHomePageState extends State { homeController.homeSleepDays.value.length - 1; } }); + try { + _newVersionSubscription = + ef.kvRoot.appmanger.onAppUpdate.stream.listen((MiniAppPkg pkg) { + showDialog( + context: context, + builder: (context) { + return AlertDialog( + title: Text("发现新版本"), + content: Text("新版本号:${pkg.version}"), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(), + child: Text("知道了"), + ), + ], + ); + }, + ); + }); + } catch (e) { + print(e); + } } getWeekName(int i) { diff --git a/lib/pages/mh_page/test/WebviewTestModel.dart b/lib/pages/mh_page/test/WebviewTestModel.dart index 028877a..cc84fea 100644 --- a/lib/pages/mh_page/test/WebviewTestModel.dart +++ b/lib/pages/mh_page/test/WebviewTestModel.dart @@ -32,16 +32,17 @@ class WebviewTestController extends GetControllerEx { WebviewTestController() : super(WebviewTestModel()) { web = WebviewHelper( jsbridge: buildsdk( - - // father: this, - // clientId: '494641114', - // dbgserverUrl: 'ws://192.168.1.2:9001', - ), + // father: this, + // clientId: '494641114', + // dbgserverUrl: 'ws://192.168.1.2:9001', + ), settings: buildsettings(), params: PlatformHeadlessInAppWebViewCreationParams( initialUrlRequest: URLRequest( url: WebUri( 'https://wyf.it.real.he-info.cn:94/goods-front/index.html'), + // url: WebUri( + // 'http://192.168.1.2:8888'), ), onLoadStop: (controller, url) { setState(() => ready.value = true); @@ -134,19 +135,6 @@ class WebviewTestController extends GetControllerEx { return data; }); }); - web - //.file( - // url: 'https://wsl.it.real.he-info.cn:94/webdemo/web.zip', - // pretag: 'https://wsl.it.real.he-info.cn:94/webdemo/', - //) - .network() - .then((value) { - if (value) { - setState(() { - ready.value = true; - }); - } - }); } catch (e, s) { ef.log('$e,$s'); } @@ -265,6 +253,36 @@ class WebviewTestController extends GetControllerEx { ws.connect(); } //EasyFlutter End + + @override + void onInit() { + ef.log("webview test init =>${DateTime.now()}"); + super.onInit(); + try { + ef.kvRoot.appmanger.find("mhtControl").then((x) { + x!.load().then((y) { + ef.log("webview test res init loaded =>${DateTime.now()}"); + web + .file( + url: 'https://wyf.it.real.he-info.cn:94/goods-front/index.html', + pretag: 'https://wyf.it.real.he-info.cn:94/goods-front/', + raw: y, + ) + //.network() + .then((value) { + if (value) { + //资源准备完成.. + setState(() { + ready.value = true; + }); + } + }); + }); + }); + } catch (e, s) { + ef.log('$e,$s'); + } + } } class WebviewTestView extends GetComponent { diff --git a/lib/pages/sleep_report/new_sleep_report_page.dart b/lib/pages/sleep_report/new_sleep_report_page.dart index 343b217..30d4ee1 100644 --- a/lib/pages/sleep_report/new_sleep_report_page.dart +++ b/lib/pages/sleep_report/new_sleep_report_page.dart @@ -178,41 +178,80 @@ class _NewSleepReportPageState extends State { child: Scaffold( backgroundColor: Colors.transparent, // 背景透明 - appBar: AppBar( - backgroundColor: widget.data['backgroundColor'] != null - ? widget.data['backgroundColor'].withOpacity(0.8) - : themeController.currentColor.sc5, - automaticallyImplyLeading: false, - iconTheme: IconThemeData(color: themeController.currentColor.sc3), - titleSpacing: 0, - title: Container( - width: double.infinity, - height: 180.rpx, - child: Stack( - alignment: Alignment.center, - children: [ - /// 居中标题 - Text( - '健康报告'.tr, - style: TextStyle( - fontFamily: 'Readex Pro', - color: themeController.currentColor.sc3, - letterSpacing: 0, - fontSize: 30.rpx, + // appBar: AppBar( + // backgroundColor: widget.data['backgroundColor'] != null + // ? widget.data['backgroundColor'].withOpacity(0.8) + // : themeController.currentColor.sc5, + // automaticallyImplyLeading: false, + // iconTheme: IconThemeData(color: themeController.currentColor.sc3), + // titleSpacing: 0, + // title: Container( + // width: double.infinity, + // height: 180.rpx, + // child: Stack( + // alignment: Alignment.center, + // children: [ + // /// 居中标题 + // Text( + // '健康报告'.tr, + // style: TextStyle( + // fontFamily: 'Readex Pro', + // color: themeController.currentColor.sc3, + // letterSpacing: 0, + // fontSize: 30.rpx, + // ), + // ), + // /// 左边返回按钮 + // if (widget.data['arrow'] == null || + // widget.data['arrow'] == true) + // Positioned( + // left: 0, + // child: returnIconButtomNew, + // ), + // ], + // ), + // ), + // ), + appBar: (widget.data['arrow'] != null && + widget.data['arrow'] == false) + ? null + : AppBar( + backgroundColor: widget.data['backgroundColor'] != null + ? widget.data['backgroundColor'].withOpacity(0.8) + : themeController.currentColor.sc5, + automaticallyImplyLeading: false, + iconTheme: + IconThemeData(color: themeController.currentColor.sc3), + titleSpacing: 0, + title: Container( + width: double.infinity, + height: 180.rpx, + child: Stack( + alignment: Alignment.center, + children: [ + /// 居中标题 + Text( + '健康报告'.tr, + style: TextStyle( + fontFamily: 'Readex Pro', + color: themeController.currentColor.sc3, + letterSpacing: 0, + fontSize: 30.rpx, + ), + ), + + /// 左边返回按钮 + if (widget.data['arrow'] == null || + widget.data['arrow'] == true) + Positioned( + left: 0, + child: returnIconButtomNew, + ), + ], ), ), + ), - /// 左边返回按钮 - if (widget.data['arrow'] == null || - widget.data['arrow'] == true) - Positioned( - left: 0, - child: returnIconButtomNew, - ), - ], - ), - ), - ), body: SafeArea( top: true, child: SingleChildScrollView( @@ -551,6 +590,8 @@ class _NewSleepReportPageState extends State { child: getTimeWidget(), ), ), + if (widget.data['person_show'] == null || + widget.data['person_show'] != false) Padding( padding: EdgeInsetsDirectional.fromSTEB( 30.rpx, 0.rpx, 30.rpx, 51.rpx), diff --git a/lib/routers/mh_routers.dart b/lib/routers/mh_routers.dart index 603fcd1..cfe88f6 100644 --- a/lib/routers/mh_routers.dart +++ b/lib/routers/mh_routers.dart @@ -27,6 +27,7 @@ import 'package:vbvs_app/pages/mh_page/device_people_info.dart'; import 'package:vbvs_app/pages/mh_page/device_share_page.dart'; import 'package:vbvs_app/pages/mh_page/edit_bed.dart'; import 'package:vbvs_app/pages/mh_page/help/article.dart'; +import 'package:vbvs_app/pages/mh_page/homepage/mht_sleep_report_page_return.dart'; import 'package:vbvs_app/pages/mh_page/homepage/new_Home_page.dart'; import 'package:vbvs_app/pages/mh_page/privacy_policy.dart'; import 'package:vbvs_app/pages/mh_page/user/page/edit_userinfo_page.dart'; @@ -110,6 +111,8 @@ var mhroutes = { "/shareDeviceDetail": (context) => ShareDeviceDetailWidget(), "/messageDetail": (context, {arguments}) => MessageDetailPage(data: arguments), + "/mhtSleepReportReturnPage": (context, {arguments}) => + MhtSleepReportReturnPage(data: arguments), }; var mhonGenerateRoute = (RouteSettings settings) { final String? name = settings.name; // 获取路由名称,如 /news 或 /search diff --git a/pubspec.lock b/pubspec.lock index 4b7f66d..94572a2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -14,15 +14,15 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" + sha256: "45cfa8471b89fb6643fe9bf51bd7931a76b8f5ec2d65de4fb176dba8d4f22c77" url: "https://pub.flutter-io.cn" source: hosted - version: "76.0.0" + version: "73.0.0" _macros: dependency: transitive description: dart source: sdk - version: "0.3.3" + version: "0.3.2" adaptive_number: dependency: transitive description: @@ -51,10 +51,10 @@ packages: dependency: transitive description: name: analyzer - sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" + sha256: "4959fec185fe70cce007c57e9ab6983101dbe593d2bf8bbfb4453aaec0cf470a" url: "https://pub.flutter-io.cn" source: hosted - version: "6.11.0" + version: "6.8.0" apivideo_live_stream: dependency: transitive description: @@ -83,10 +83,10 @@ packages: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.flutter-io.cn" source: hosted - version: "2.12.0" + version: "2.11.0" auto_size_text: dependency: transitive description: @@ -131,10 +131,10 @@ packages: dependency: transitive description: name: boolean_selector - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.2" + version: "2.1.1" bson: dependency: transitive description: @@ -155,50 +155,50 @@ packages: dependency: transitive description: name: build - sha256: "51dc711996cbf609b90cbe5b335bbce83143875a9d58e4b5c6d3c4f684d3dda7" + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" url: "https://pub.flutter-io.cn" source: hosted - version: "2.5.4" + version: "2.4.1" build_config: dependency: transitive description: name: build_config - sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.2" + version: "1.1.1" build_daemon: dependency: transitive description: name: build_daemon - sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa" + sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" url: "https://pub.flutter-io.cn" source: hosted - version: "4.0.4" + version: "4.0.2" build_resolvers: dependency: transitive description: name: build_resolvers - sha256: ee4257b3f20c0c90e72ed2b57ad637f694ccba48839a821e87db762548c22a62 + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" url: "https://pub.flutter-io.cn" source: hosted - version: "2.5.4" + version: "2.4.2" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "382a4d649addbfb7ba71a3631df0ec6a45d5ab9b098638144faf27f02778eb53" + sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d" url: "https://pub.flutter-io.cn" source: hosted - version: "2.5.4" + version: "2.4.13" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: "85fbbb1036d576d966332a3f5ce83f2ce66a40bea1a94ad2d5fc29a19a0d3792" + sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0 url: "https://pub.flutter-io.cn" source: hosted - version: "9.1.2" + version: "7.3.2" built_collection: dependency: transitive description: @@ -251,10 +251,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" url: "https://pub.flutter-io.cn" source: hosted - version: "1.4.0" + version: "1.3.0" charcode: dependency: transitive description: @@ -275,18 +275,18 @@ packages: dependency: "direct main" description: name: chewie - sha256: "19b93a1e60e4ba640a792208a6543f1c7d5b124d011ce0199e2f18802199d984" + sha256: "645fbca3f22309381edb5af59a4c8aa544a3d3872d7b7b7c986c2b18b3bdd265" url: "https://pub.flutter-io.cn" source: hosted - version: "1.12.1" + version: "1.10.0" clock: dependency: transitive description: name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.2" + version: "1.1.1" code_builder: dependency: transitive description: @@ -379,10 +379,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "7306ab8a2359a48d22310ad823521d723acfed60ee1f7e37388e8986853b6820" + sha256: "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab" url: "https://pub.flutter-io.cn" source: hosted - version: "2.3.8" + version: "2.3.7" data_table_2: dependency: "direct overridden" description: @@ -444,7 +444,7 @@ packages: description: path: "." ref: main - resolved-ref: f307495aac440031d119a728beaccf5d33003932 + resolved-ref: "494ff9d2b803522745d88061791be1072a617afd" url: "https://gitea.wslpc.real.he-info.cn:94/flutter/easydevice.git" source: git version: "0.0.1" @@ -452,8 +452,8 @@ packages: dependency: "direct main" description: path: "." - ref: e86d515f77 - resolved-ref: e86d515f77a736a5e6f09036e5e022153cde425d + ref: main + resolved-ref: a6e0ac89b5408ae55421331a6019defb26f4110b url: "https://gitea.wslpc.real.he-info.cn:94/flutter/easyweb.git" source: git version: "0.0.1" @@ -470,7 +470,7 @@ packages: description: path: "." ref: main - resolved-ref: "495112d603fbd9d72a709af1f728f14276be012e" + resolved-ref: b8455ecd8caf09e8d9ce09167d8a633d554381fb url: "https://gitea.wslpc.real.he-info.cn:94/flutter/ef.git" source: git version: "0.0.1" @@ -510,18 +510,18 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" url: "https://pub.flutter-io.cn" source: hosted - version: "1.3.2" + version: "1.3.1" ffi: dependency: transitive description: name: ffi - sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.4" + version: "2.1.3" file: dependency: transitive description: @@ -720,10 +720,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e + sha256: "1c2b787f99bdca1f3718543f81d38aa1b124817dfeb9fb196201bea85b6134bf" url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.28" + version: "2.0.26" flutter_shaders: dependency: transitive description: @@ -752,10 +752,10 @@ packages: dependency: "direct main" description: name: flutter_svg - sha256: cd57f7969b4679317c17af6fd16ee233c1e60a82ed209d8a475c54fd6fd6f845 + sha256: d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1 url: "https://pub.flutter-io.cn" source: hosted - version: "2.2.0" + version: "2.1.0" flutter_switch: dependency: "direct main" description: @@ -947,18 +947,18 @@ packages: dependency: "direct main" description: name: google_sign_in - sha256: d0a2c3bcb06e607bb11e4daca48bd4b6120f0bbc4015ccebbe757d24ea60ed2a + sha256: fad6ddc80c427b0bba705f2116204ce1173e09cf299f85e053d57a55e5b2dd56 url: "https://pub.flutter-io.cn" source: hosted - version: "6.3.0" + version: "6.2.2" google_sign_in_android: dependency: transitive description: name: google_sign_in_android - sha256: d5e23c56a4b84b6427552f1cf3f98f716db3b1d1a647f16b96dbb5b93afa2805 + sha256: "7af72e5502c313865c729223b60e8ae7bce0a1011b250c24edcf30d3d7032748" url: "https://pub.flutter-io.cn" source: hosted - version: "6.2.1" + version: "6.1.35" google_sign_in_ios: dependency: transitive description: @@ -987,10 +987,10 @@ packages: dependency: transitive description: name: googleapis_auth - sha256: b81fe352cc4a330b3710d2b7ad258d9bcef6f909bb759b306bf42973a7d046db + sha256: befd71383a955535060acde8792e7efc11d2fccd03dd1d3ec434e85b68775938 url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "1.6.0" graphs: dependency: transitive description: @@ -1115,10 +1115,10 @@ packages: dependency: transitive description: name: js - sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc" + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.flutter-io.cn" source: hosted - version: "0.7.2" + version: "0.7.1" json_annotation: dependency: transitive description: @@ -1147,18 +1147,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.flutter-io.cn" source: hosted - version: "10.0.8" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.9" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -1211,10 +1211,10 @@ packages: dependency: transitive description: name: macros - sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" + sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" url: "https://pub.flutter-io.cn" source: hosted - version: "0.1.3-main.0" + version: "0.1.2-main.4" map_launcher: dependency: "direct main" description: @@ -1235,10 +1235,10 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.flutter-io.cn" source: hosted - version: "0.12.17" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: @@ -1259,10 +1259,10 @@ packages: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.flutter-io.cn" source: hosted - version: "1.16.0" + version: "1.15.0" mime: dependency: transitive description: @@ -1315,10 +1315,10 @@ packages: dependency: transitive description: name: mqtt5_client - sha256: "54402d78bd8c47244adc7f3f908905b86529c8c1c472c22e5a9ddc99f70ce8ce" + sha256: "9e15d1cd888035bcd5b204325c6678b32858ea3fc94bc1e41d5aa99d3a43f49f" url: "https://pub.flutter-io.cn" source: hosted - version: "4.12.1" + version: "4.11.0" native_device_orientation: dependency: transitive description: @@ -1395,10 +1395,10 @@ packages: dependency: "direct main" description: name: path - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.flutter-io.cn" source: hosted - version: "1.9.1" + version: "1.9.0" path_parsing: dependency: transitive description: @@ -1419,10 +1419,10 @@ packages: dependency: transitive description: name: path_provider_android - sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9 + sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2" url: "https://pub.flutter-io.cn" source: hosted - version: "2.2.17" + version: "2.2.15" path_provider_foundation: dependency: transitive description: @@ -1467,10 +1467,10 @@ packages: dependency: "direct main" description: name: permission_handler - sha256: "2d070d8684b68efb580a5997eb62f675e8a885ef0be6e754fb9ef489c177470f" + sha256: bc917da36261b00137bbc8896bf1482169cd76f866282368948f032c8c1caae1 url: "https://pub.flutter-io.cn" source: hosted - version: "12.0.0+1" + version: "12.0.1" permission_handler_android: dependency: transitive description: @@ -1515,10 +1515,10 @@ packages: dependency: transitive description: name: petitparser - sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646" + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.flutter-io.cn" source: hosted - version: "6.1.0" + version: "6.0.2" photo_view: dependency: transitive description: @@ -1571,10 +1571,10 @@ packages: dependency: transitive description: name: pointer_interceptor_web - sha256: "460b600e71de6fcea2b3d5f662c92293c049c4319e27f0829310e5a953b3ee2a" + sha256: "7a7087782110f8c1827170660b09f8aa893e0e9a61431dbbe2ac3fc482e8c044" url: "https://pub.flutter-io.cn" source: hosted - version: "0.10.3" + version: "0.10.2+1" pointycastle: dependency: transitive description: @@ -1611,10 +1611,10 @@ packages: dependency: transitive description: name: protobuf - sha256: "579fe5557eae58e3adca2e999e38f02441d8aa908703854a9e0a0f47fa857731" + sha256: fbb0c37d435641d0b84813c1dad41e6fa61ddc880a320bce16b3063ecec35aa6 url: "https://pub.flutter-io.cn" source: hosted - version: "4.1.0" + version: "4.0.0" provider: dependency: transitive description: @@ -1635,10 +1635,10 @@ packages: dependency: transitive description: name: pubspec_parse - sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" + sha256: "81876843eb50dc2e1e5b151792c9a985c5ed2536914115ed04e9c8528f6647b0" url: "https://pub.flutter-io.cn" source: hosted - version: "1.5.0" + version: "1.4.0" qr: dependency: transitive description: @@ -1739,10 +1739,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac" + sha256: "9f9f3d372d4304723e6136663bb291c0b93f5e4c8a4a6314347f481a33bda2b1" url: "https://pub.flutter-io.cn" source: hosted - version: "2.4.10" + version: "2.4.7" shared_preferences_foundation: dependency: transitive description: @@ -1819,7 +1819,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.0" + version: "0.0.99" smooth_page_indicator: dependency: transitive description: @@ -1848,10 +1848,10 @@ packages: dependency: transitive description: name: source_span - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.flutter-io.cn" source: hosted - version: "1.10.1" + version: "1.10.0" sprintf: dependency: transitive description: @@ -1864,34 +1864,34 @@ packages: dependency: transitive description: name: sqflite - sha256: e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03 + sha256: "2d7299468485dca85efeeadf5d38986909c5eb0cd71fd3db2c2f000e6c9454bb" url: "https://pub.flutter-io.cn" source: hosted - version: "2.4.2" + version: "2.4.1" sqflite_android: dependency: transitive description: name: sqflite_android - sha256: "2b3070c5fa881839f8b402ee4a39c1b4d561704d4ebbbcfb808a119bc2a1701b" + sha256: "78f489aab276260cdd26676d2169446c7ecd3484bbd5fead4ca14f3ed4dd9ee3" url: "https://pub.flutter-io.cn" source: hosted - version: "2.4.1" + version: "2.4.0" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b" + sha256: "761b9740ecbd4d3e66b8916d784e581861fd3c3553eda85e167bc49fdb68f709" url: "https://pub.flutter-io.cn" source: hosted - version: "2.5.5" + version: "2.5.4+6" sqflite_darwin: dependency: transitive description: name: sqflite_darwin - sha256: "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3" + sha256: "22adfd9a2c7d634041e96d6241e6e1c8138ca6817018afc5d443fef91dcefa9c" url: "https://pub.flutter-io.cn" source: hosted - version: "2.4.2" + version: "2.4.1+1" sqflite_platform_interface: dependency: transitive description: @@ -1904,10 +1904,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.flutter-io.cn" source: hosted - version: "1.12.1" + version: "1.11.1" stop_watch_timer: dependency: transitive description: @@ -1920,10 +1920,10 @@ packages: dependency: transitive description: name: stream_channel - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.4" + version: "2.1.2" stream_transform: dependency: transitive description: @@ -1936,10 +1936,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" url: "https://pub.flutter-io.cn" source: hosted - version: "1.4.1" + version: "1.2.0" substring_highlight: dependency: transitive description: @@ -1968,10 +1968,10 @@ packages: dependency: transitive description: name: synchronized - sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6" + sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225" url: "https://pub.flutter-io.cn" source: hosted - version: "3.3.1" + version: "3.3.0+3" table_calendar: dependency: transitive description: @@ -1984,18 +1984,18 @@ packages: dependency: transitive description: name: term_glyph - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 url: "https://pub.flutter-io.cn" source: hosted - version: "1.2.2" + version: "1.2.1" test_api: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.flutter-io.cn" source: hosted - version: "0.7.4" + version: "0.7.2" timeago: dependency: transitive description: @@ -2064,10 +2064,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79" + sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193" url: "https://pub.flutter-io.cn" source: hosted - version: "6.3.16" + version: "6.3.14" url_launcher_ios: dependency: transitive description: @@ -2104,10 +2104,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2" + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" url: "https://pub.flutter-io.cn" source: hosted - version: "2.4.1" + version: "2.3.3" url_launcher_windows: dependency: transitive description: @@ -2128,10 +2128,10 @@ packages: dependency: transitive description: name: vector_graphics - sha256: a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6 + sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de" url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.19" + version: "1.1.18" vector_graphics_codec: dependency: transitive description: @@ -2144,10 +2144,10 @@ packages: dependency: transitive description: name: vector_graphics_compiler - sha256: "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331" + sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.17" + version: "1.1.16" vector_math: dependency: transitive description: @@ -2160,34 +2160,34 @@ packages: dependency: "direct main" description: name: video_player - sha256: "0d55b1f1a31e5ad4c4967bfaa8ade0240b07d20ee4af1dfef5f531056512961a" + sha256: "7d78f0cfaddc8c19d4cb2d3bebe1bfef11f2103b0a03e5398b303a1bf65eeb14" url: "https://pub.flutter-io.cn" source: hosted - version: "2.10.0" + version: "2.9.5" video_player_android: dependency: transitive description: name: video_player_android - sha256: "4a5135754a62dbc827a64a42ef1f8ed72c962e191c97e2d48744225c2b9ebb73" + sha256: "391e092ba4abe2f93b3e625bd6b6a6ec7d7414279462c1c0ee42b5ab8d0a0898" url: "https://pub.flutter-io.cn" source: hosted - version: "2.8.7" + version: "2.7.16" video_player_avfoundation: dependency: transitive description: name: video_player_avfoundation - sha256: "0d47db6cbf72db61d86369219efd35c7f9d93515e1319da941ece81b1f21c49c" + sha256: "9ee764e5cd2fc1e10911ae8ad588e1a19db3b6aa9a6eb53c127c42d3a3c3f22f" url: "https://pub.flutter-io.cn" source: hosted - version: "2.7.2" + version: "2.7.1" video_player_platform_interface: dependency: transitive description: name: video_player_platform_interface - sha256: cf2a1d29a284db648fd66cbd18aacc157f9862d77d2cc790f6f9678a46c1db5a + sha256: df534476c341ab2c6a835078066fc681b8265048addd853a1e3c78740316a844 url: "https://pub.flutter-io.cn" source: hosted - version: "6.4.0" + version: "6.3.0" video_player_web: dependency: transitive description: @@ -2200,10 +2200,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.flutter-io.cn" source: hosted - version: "14.3.1" + version: "14.2.5" vy_string_utils: dependency: transitive description: @@ -2288,10 +2288,10 @@ packages: dependency: transitive description: name: webview_flutter_platform_interface - sha256: f0dc2dc3a2b1e3a6abdd6801b9355ebfeb3b8f6cde6b9dc7c9235909c4a1f147 + sha256: "7cb32b21825bd65569665c32bb00a34ded5779786d6201f5350979d2d529940d" url: "https://pub.flutter-io.cn" source: hosted - version: "2.13.1" + version: "2.13.0" webview_flutter_wkwebview: dependency: transitive description: @@ -2312,10 +2312,10 @@ packages: dependency: transitive description: name: win32 - sha256: "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba" + sha256: daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e url: "https://pub.flutter-io.cn" source: hosted - version: "5.13.0" + version: "5.10.1" xdg_directories: dependency: transitive description: @@ -2341,5 +2341,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0 <4.0.0" - flutter: ">=3.29.0" + dart: ">=3.5.4 <4.0.0" + flutter: ">=3.24.0" diff --git a/pubspec.yaml b/pubspec.yaml index 8eaf9af..c262154 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -96,6 +96,8 @@ flutter: - assets/img/ - assets/img/menu/ - assets/img/icon/ + - assets/file.json + - assets/miniapp/ fonts: - family: calculatrix fonts: