Conflicts:
	lib/pages/mh_page/test/WebviewTestModel.dart
This commit is contained in:
czz
2025-07-07 16:25:55 +08:00
18 changed files with 658 additions and 458 deletions

BIN
android/java_pid17080.hprof Normal file

Binary file not shown.

View File

@@ -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"
]

Binary file not shown.

View File

@@ -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<void> main() async {
// // 初始化 flutter_xupdate android app 更新
// initXUpdate();
initwebService();
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
.then((_) {
@@ -113,6 +116,15 @@ Future<void> 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());

View File

@@ -20,7 +20,7 @@ class _MattressControlPageState extends State<MattressControlPage> {
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(

View File

@@ -18,11 +18,22 @@ class _MhAboutUsPageState extends State<MhAboutUsPage> {
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('网页载入完毕');
},

View File

@@ -230,14 +230,6 @@ class _DeviceComponentWidgetState extends State<DeviceComponentWidget> {
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<DeviceComponentWidget> {
.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!,

View File

@@ -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;
}
}
}

View File

@@ -164,13 +164,13 @@ class _MHTBindDeviceTypePageState extends State<MHTBindDeviceTypePage> {
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);

View File

@@ -79,14 +79,12 @@ class _HomeDeviceStausWidgetState extends State<HomeDeviceStausWidget> {
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");

View File

@@ -102,6 +102,7 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
homeController.updateAll();
});
}
//themeController.currentColor.sc5,
if (homeController.personnelList.value.length != 0)
return Padding(
padding: EdgeInsetsDirectional.fromSTEB(
@@ -125,6 +126,16 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
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<MhtSleepReportPage> {
'assets/images/new_background.png',
'arrow': false,
'noBackImg': true,
'person_show': false,
},
),
);

View File

@@ -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<MhtSleepReportReturnPage> createState() =>
_MhtSleepReportReturnPageState();
}
class _MhtSleepReportReturnPageState extends State<MhtSleepReportReturnPage> {
final UserInfoController userInfoController = Get.find();
final MHTHomeController deviceController = Get.find();
final MHTHomeController homeController = Get.find();
final double borderRadius = 16.rpx;
final formFieldController = FormFieldController<String>(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<String>(
// controller: formFieldController,
// options: deviceController.personnelList.value
// .map<String>((d) => "${d["mac"]}")
// .toList(),
// optionLabels: deviceController
// .personnelList.value
// .map<String>((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<String>(
controller: formFieldController,
options: filteredList
.map<String>((d) => "${d["mac"]}")
.toList(),
optionLabels: filteredList
.map<String>((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)));
}),
),
),
),
);
}
}

View File

@@ -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<NewHomePage> {
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<NewHomePage> {
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) {

View File

@@ -32,16 +32,17 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
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<WebviewTestModel> {
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<WebviewTestModel> {
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<WebviewTestController> {

View File

@@ -178,41 +178,80 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
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<NewSleepReportPage> {
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),

View File

@@ -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

View File

@@ -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"

View File

@@ -96,6 +96,8 @@ flutter:
- assets/img/
- assets/img/menu/
- assets/img/icon/
- assets/file.json
- assets/miniapp/
fonts:
- family: calculatrix
fonts: