This commit is contained in:
wyf
2025-07-01 14:08:58 +08:00
54 changed files with 209 additions and 188 deletions

2
.gitignore vendored
View File

@@ -19,7 +19,7 @@ migrate_working_dir/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# .vscode/
# Flutter/Dart/Pub related
**/doc/api/

View File

@@ -1,5 +1,9 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- New permissions in Android 13 -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
@@ -34,6 +38,7 @@
<!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<!--相机权限-->
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false" />
<application
android:usesCleartextTraffic="true"
@@ -43,7 +48,7 @@
android:enableOnBackInvokedCallback="true"
>
<activity
android:name=".MainActivity"
android:name="com.taihe.mh_app.MainActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:screenOrientation="portrait"
android:exported="true"

View File

@@ -2,3 +2,7 @@ org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
systemProp.http.proxyHost=pp.it.real.he-info.cn
systemProp.http.proxyPort=7897
systemProp.https.proxyHost=pp.it.real.he-info.cn
systemProp.https.proxyPort=7897

View File

@@ -1,4 +1,4 @@
storePassword=taihe601
keyPassword=taihe601
keyAlias=testalias
storePassword=mh1234
keyPassword=mh1234
keyAlias=Key
storeFile=test.keystore

View File

@@ -1,5 +1,10 @@
<<<<<<< HEAD
sdk.dir=C:\\Users\\Administrator\\AppData\\Local\\Android\\sdk
flutter.sdk=C:\\dev\\flutter
=======
sdk.dir=C:\\Users\\wyf\\AppData\\Local\\Android\\sdk
flutter.sdk=D:\\flutter_res\\flutter
>>>>>>> 13eb25e1c30dcd81c87aa85bcb5306ca0931ed21
flutter.buildMode=debug
flutter.versionName=1.0.0
flutter.versionCode=1

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_city_picker/model/address.dart';
import 'package:flutterflow_ui/flutterflow_ui.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:lpinyin/lpinyin.dart';
import 'package:vbvs_app/common/color/ServiceConstant.dart';
import 'package:vbvs_app/common/util/MyUtils.dart';
import 'package:vbvs_app/common/util/requestWithLog.dart';
@@ -209,11 +210,11 @@ class AddressController extends GetControllerEx<AddressModel> {
// 工具:中文首字母转大写英文(你也可以用更专业的拼音库)
String _getLetter(String name) {
return name;
// if (name.isEmpty) return "#";
// String pinyin = PinyinHelper.getPinyinE(name,
// separator: '', defPinyin: '', format: PinyinFormat.WITHOUT_TONE);
// if (pinyin.isEmpty) return "#";
// return pinyin[0].toUpperCase();
// return name;
if (name.isEmpty) return "#";
String pinyin = PinyinHelper.getPinyinE(name,
separator: '', defPinyin: '', format: PinyinFormat.WITHOUT_TONE);
if (pinyin.isEmpty) return "#";
return pinyin[0].toUpperCase();
}
}

View File

@@ -78,9 +78,9 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
List<Placemark> placemarks = await placemarkFromCoordinates(
position.latitude, position.longitude,
localeIdentifier: language);
List<Placemark> placemarks = [];
// placemarks = await placemarkFromCoordinates(position.latitude, position.longitude,
// localeIdentifier: language);
if (placemarks.isNotEmpty) {
model.cityName = placemarks[0].locality ?? "未知数据".tr;
@@ -131,9 +131,9 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
List<Placemark> placemarks = await placemarkFromCoordinates(
model.latitude!, model.longitude!,
localeIdentifier: language);
List<Placemark> placemarks = [];
// placemarks = await placemarkFromCoordinates(model.latitude!, model.longitude!,
// localeIdentifier: language);
if (placemarks.isNotEmpty) {
model.cityName = placemarks[0].locality ?? "未知数据".tr;

View File

@@ -543,8 +543,7 @@ class _BodyDevicePageState extends State<BodyDeviceWidget> {
errorBorder:
OutlineInputBorder(
borderSide: BorderSide(
color:
Colors.red,
color: Colors.red,
width: 1.rpx,
),
borderRadius:
@@ -554,8 +553,7 @@ class _BodyDevicePageState extends State<BodyDeviceWidget> {
focusedErrorBorder:
OutlineInputBorder(
borderSide: BorderSide(
color:
Colors.red,
color: Colors.red,
width: 1.rpx,
),
borderRadius:
@@ -563,8 +561,7 @@ class _BodyDevicePageState extends State<BodyDeviceWidget> {
8.rpx),
),
filled: false,
fillColor:
Colors.white,
fillColor: Colors.white,
),
style: TextStyle(
fontFamily: 'Inter',

View File

@@ -49,7 +49,7 @@ class _BackMovementPageState extends State<BackMovementPage> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -58,7 +58,7 @@ class _HomeDeviceTypeState extends State<HomeDeviceType> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtom,
),
],

View File

@@ -54,7 +54,7 @@ class ShareDeviceDetailWidget extends GetView {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -67,7 +67,7 @@ class _MhAboutUsPageState extends State<MhAboutUsPage> {
/// 左边返回按钮
Positioned(
left: 20,
left: 0,
child: returnIconButtomNew,
),
],

View File

@@ -56,7 +56,7 @@ class AddressListPage extends GetView<AddressListController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -79,7 +79,7 @@ class ApplyRepairPage extends GetView<ApplyRepairController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -11,13 +11,23 @@ import 'package:vbvs_app/model/api_response.dart';
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart';
class BluetoothPage extends GetView {
Map data;
BluetoothPage({required this.data});
class BluetoothPage extends StatefulWidget {
final Map data;
BluetoothPage({Key? key, required this.data});
@override
_BluetoothPageState createState() => _BluetoothPageState();
}
class _BluetoothPageState extends State<BluetoothPage> {
late RxMap<String, dynamic> obsData;
@override
void initState() {
super.initState();
obsData = Map<String, dynamic>.from(widget.data).obs; // 复制成 obs
}
BoxConstraints? bodysize;
DeviceListController deviceListController = Get.find();
@override
Widget build(BuildContext context) {
return LayoutBuilder(builder: (context, cc) {
@@ -55,7 +65,7 @@ class BluetoothPage extends GetView {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],
@@ -77,7 +87,7 @@ class BluetoothPage extends GetView {
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
data['name']?.toString() ?? '未命名',
obsData['name']?.toString() ?? '未命名',
style: TextStyle(
color: Colors.white,
fontSize: 40.rpx,
@@ -88,9 +98,15 @@ class BluetoothPage extends GetView {
backgroundColor: Colors.transparent,
highlightColor: const Color(0xFF055466),
padding: EdgeInsets.only(left: 0),
onTap: () {
Get.toNamed("/editBedPage",
arguments: data);
onTap: () async {
var x = await Get.toNamed(
"/editBedPage",
arguments: obsData);
if (x != null) {
setState(() {
obsData.addAll(x); // 值更新后主动刷新页面
});
}
},
child: Container(
width: 42.rpx,
@@ -103,7 +119,7 @@ class BluetoothPage extends GetView {
),
const SizedBox(height: 4),
Text(data['mac']?.toString() ?? '未命名',
Text(obsData['mac']?.toString() ?? '未命名',
style: TextStyle(
color: Colors.white70, fontSize: 26.rpx)),
@@ -112,7 +128,7 @@ class BluetoothPage extends GetView {
// 蓝牙连接状态
Column(
children: [
data['blueToothStatus'] == 1
obsData['blueToothStatus'] == 1
? SvgPicture.asset(
'assets/img/icon/blue_fail.svg',
width: 68.rpx,
@@ -126,11 +142,11 @@ class BluetoothPage extends GetView {
SizedBox(height: 4),
//下面文字和颜色也根据上面变化
Text(
data['blueToothStatus'] == 1
obsData['blueToothStatus'] == 1
? '未连接'
: '已连接',
style: TextStyle(
color: data['blueToothStatus'] == 1
color: obsData['blueToothStatus'] == 1
? Color(0xFFFF7159)
: Color(0xFF6BFDAC),
fontSize: 26.rpx)),
@@ -148,13 +164,13 @@ class BluetoothPage extends GetView {
children: [
_buildMenuButton(
context, '详情', "/devicePeopleInfo",
arguments: data),
arguments: obsData),
_buildMenuButton(
context, '人员资料', "/peopleInfoPage",
arguments: data),
arguments: obsData,),
_buildMenuButton(
context, '房间选择', "/roomPickerPage",
arguments: data),
arguments: obsData),
_buildMenuButton(context, '设备校准', ""),
_buildMenuButton(context, '体征传感器', ""),
_buildMenuButton(context, 'WIFI配置', ""),
@@ -162,20 +178,20 @@ class BluetoothPage extends GetView {
context, '睡眠习惯', "/sleepHabitPage"),
_buildMenuButton(
context, '分享设备', "/deviceSharePage",
arguments: data),
arguments: obsData),
_buildMenuButton(
context,
data['bind_type'] == 1 ? '解绑' : '删除',
obsData['bind_type'] == 1 ? '解绑' : '删除',
"",
onTap: () {
if (data['bind_type'] == 1) {
if (obsData['bind_type'] == 1) {
// 解绑弹窗
showUnbindConfirmDialog(
context: context,
title: "是否进行解绑?",
onConfirm: () async {
await deviceListController
.unbindDevice(data);
.unbindDevice(obsData);
await deviceListController
.getDeviceList();
try {
@@ -195,7 +211,7 @@ class BluetoothPage extends GetView {
// 点击取消后的逻辑
},
);
} else if (data['bind_type'] == 2) {
} else if (obsData['bind_type'] == 2) {
// 删除弹窗
showDeleteDeviceConfirmDialog(
context: context,
@@ -203,7 +219,7 @@ class BluetoothPage extends GetView {
onConfirm: () async {
await deviceListController
.unbindDevice(
data,
obsData,
);
await deviceListController
.getDeviceList();

View File

@@ -63,7 +63,7 @@ class BookInfoPage extends GetView<BookInfoController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -62,7 +62,7 @@ class BookSuccessPage extends GetView {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -49,7 +49,7 @@ class DeletedAccountPage extends GetView {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -70,7 +70,7 @@ class _DeviceListPageState extends State<DeviceListPage> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -74,7 +74,7 @@ class DevicePeopleInfo extends GetView<PeopleInfoController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -60,7 +60,7 @@ class ShareDeviceWidget extends GetView<MHDeviceShareController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -80,7 +80,7 @@ class EditAddressPage extends GetView<AddressController>
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -75,7 +75,7 @@ class _EditBedPageState extends State<EditBedPage> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -95,7 +95,7 @@ class _ExperienceStorePageState extends State<ExperienceStorePage> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
Positioned(

View File

@@ -50,7 +50,7 @@ class _HelpArticleState extends State<HelpArticle> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -37,11 +37,13 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
Widget build(BuildContext context) {
deviceController.getDeviceList(group: 'room').then((apiResponse) {
if (apiResponse.code != HttpStatusCodes.ok) {
TopSlideNotification.show(
Get.context!,
text: apiResponse.msg!,
textColor: themeController.currentColor.sc9,
);
if (context.mounted) {
TopSlideNotification.show(
context,
text: apiResponse.msg!,
textColor: themeController.currentColor.sc9,
);
}
} else {
//请求睡眠报告
// deviceController.getSleepReport();

View File

@@ -106,7 +106,7 @@ class _NewHomePageState extends State<NewHomePage> {
deviceController.getDeviceList(group: 'room').then((apiResponse) {
if (apiResponse.code != HttpStatusCodes.ok) {
TopSlideNotification.show(
Get.context!,
context,
text: apiResponse.msg!,
textColor: themeController.currentColor.sc9,
);

View File

@@ -64,7 +64,7 @@ class IssueListPage extends GetView<IssueListController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -60,7 +60,7 @@ class _MessageDetailPageState extends State<MessageDetailPage> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -175,7 +175,7 @@ class _MessagePageState extends State<MessagePage> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -88,7 +88,7 @@ class _MyExperiencePageState extends State<MyExperiencePage> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -63,7 +63,7 @@ class _SettingPageState extends State<SettingPage> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -69,7 +69,7 @@ class PeopleInfoPage extends GetView<PeopleInfoController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
Positioned(

View File

@@ -74,7 +74,7 @@ class _PrivacyPolicyPageState extends State<PrivacyPolicyPage> {
/// 左边返回按钮
Positioned(
left: 20,
left: 0,
child: returnIconButtomNew,
),
],

View File

@@ -106,7 +106,7 @@ class RepairHistoryListPage extends GetView<RepairInfoController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -76,7 +76,7 @@ class DeviceRepairPage extends GetView<RepairListController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -82,7 +82,7 @@ class _RoomPickerPageState extends State<RoomPickerPage> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],
@@ -189,7 +189,7 @@ class _RoomPickerPageState extends State<RoomPickerPage> {
"roomId": rooms[selectedIndex]['_id'],
},
onSuccess: (res) {
Get.back();
TopSlideNotification.show(context,
text: "更新成功".tr,
textColor: Color(0XFF00C1AA));
@@ -202,7 +202,7 @@ class _RoomPickerPageState extends State<RoomPickerPage> {
} catch (e) {
ef.log("[h5]通知列表更新错误:$e");
}
Get.toNamed('bluetoothPage');
Get.back(result:editedData);
},
onFailure: (res) {
TopSlideNotification.show(context,

View File

@@ -51,7 +51,7 @@ class ScorePage extends GetView<mh.ScoreController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -49,7 +49,7 @@ class _SleepHabitPageState extends State<SleepHabitPage> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -75,7 +75,7 @@ class Smys extends GetView<SleepingHabitController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -61,6 +61,10 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
return true;
});
bridge.sdk.selectDevice((args) async {
<<<<<<< HEAD
ef.log('selectDevice: $args');
selectDevice = args[0];
=======
try {
ef.log('selectDevice: $args');
selectDevice = args[0];
@@ -78,6 +82,7 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
//查询人员信息
>>>>>>> 13eb25e1c30dcd81c87aa85bcb5306ca0931ed21
return true;
});
bridge.sdk.updateBlueToothStatus((args) async {

View File

@@ -82,7 +82,7 @@ class _UpdateUserPageState extends State<EditUserPage> {
),
),
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
Positioned(

View File

@@ -70,7 +70,7 @@ class FindPasswordPage extends GetView<FindPasswordController> {
),
// 左侧图标
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -56,7 +56,7 @@ class RegisterPage extends GetView<MHTRegisterController> {
),
),
Positioned(
left: 20.rpx,
left: 0.rpx,
child: returnIconButtomNew,
),
],

View File

@@ -78,7 +78,7 @@ class _UserAgreementPageState extends State<UserAgreementPage> {
/// 左边返回按钮
Positioned(
left: 20,
left: 0,
child: returnIconButtomNew,
),
],

View File

@@ -7,21 +7,13 @@
#include "generated_plugin_registrant.h"
#include <flutter_localization/flutter_localization_plugin.h>
#include <gtk/gtk_plugin.h>
#include <url_launcher_linux/url_launcher_plugin.h>
#include <window_to_front/window_to_front_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) flutter_localization_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterLocalizationPlugin");
flutter_localization_plugin_register_with_registrar(flutter_localization_registrar);
g_autoptr(FlPluginRegistrar) gtk_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
gtk_plugin_register_with_registrar(gtk_registrar);
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
g_autoptr(FlPluginRegistrar) window_to_front_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "WindowToFrontPlugin");
window_to_front_plugin_register_with_registrar(window_to_front_registrar);
}

View File

@@ -4,9 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
flutter_localization
gtk
url_launcher_linux
window_to_front
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST

View File

@@ -5,14 +5,11 @@
import FlutterMacOS
import Foundation
import app_links
import connectivity_plus
import device_info_plus
import file_picker
import flutter_blue_plus
import flutter_inappwebview_macos
import flutter_localization
import flutter_web_auth_2
import geolocator_apple
import google_sign_in_ios
import mobile_scanner
@@ -25,17 +22,13 @@ import url_launcher_macos
import video_player_avfoundation
import wakelock_plus
import webview_flutter_wkwebview
import window_to_front
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin"))
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin"))
FlutterBluePlusPlugin.register(with: registry.registrar(forPlugin: "FlutterBluePlusPlugin"))
InAppWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "InAppWebViewFlutterPlugin"))
FlutterLocalizationPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalizationPlugin"))
FlutterWebAuth2Plugin.register(with: registry.registrar(forPlugin: "FlutterWebAuth2Plugin"))
GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin"))
FLTGoogleSignInPlugin.register(with: registry.registrar(forPlugin: "FLTGoogleSignInPlugin"))
MobileScannerPlugin.register(with: registry.registrar(forPlugin: "MobileScannerPlugin"))
@@ -48,5 +41,4 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
FVPVideoPlayerPlugin.register(with: registry.registrar(forPlugin: "FVPVideoPlayerPlugin"))
WakelockPlusMacosPlugin.register(with: registry.registrar(forPlugin: "WakelockPlusMacosPlugin"))
WebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "WebViewFlutterPlugin"))
WindowToFrontPlugin.register(with: registry.registrar(forPlugin: "WindowToFrontPlugin"))
}

View File

@@ -14,15 +14,15 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
sha256: "45cfa8471b89fb6643fe9bf51bd7931a76b8f5ec2d65de4fb176dba8d4f22c77"
sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab"
url: "https://pub.flutter-io.cn"
source: hosted
version: "73.0.0"
version: "76.0.0"
_macros:
dependency: transitive
description: dart
source: sdk
version: "0.3.2"
version: "0.3.3"
adaptive_number:
dependency: transitive
description:
@@ -51,10 +51,10 @@ packages:
dependency: transitive
description:
name: analyzer
sha256: "4959fec185fe70cce007c57e9ab6983101dbe593d2bf8bbfb4453aaec0cf470a"
sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e"
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.8.0"
version: "6.11.0"
apivideo_live_stream:
dependency: transitive
description:
@@ -83,10 +83,10 @@ packages:
dependency: transitive
description:
name: async
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.11.0"
version: "2.12.0"
auto_size_text:
dependency: transitive
description:
@@ -131,10 +131,10 @@ packages:
dependency: transitive
description:
name: boolean_selector
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
version: "2.1.2"
bson:
dependency: transitive
description:
@@ -251,10 +251,10 @@ packages:
dependency: transitive
description:
name: characters
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.0"
version: "1.4.0"
charcode:
dependency: transitive
description:
@@ -283,10 +283,10 @@ packages:
dependency: transitive
description:
name: clock
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.1"
version: "1.1.2"
code_builder:
dependency: transitive
description:
@@ -444,7 +444,11 @@ packages:
description:
path: "."
ref: main
<<<<<<< HEAD
resolved-ref: "840bcea66ee9222d9698a58f12a06107f337b59f"
=======
resolved-ref: f307495aac440031d119a728beaccf5d33003932
>>>>>>> 13eb25e1c30dcd81c87aa85bcb5306ca0931ed21
url: "https://gitea.wslpc.real.he-info.cn:94/flutter/easydevice.git"
source: git
version: "0.0.1"
@@ -452,8 +456,13 @@ packages:
dependency: "direct main"
description:
path: "."
<<<<<<< HEAD
ref: main
resolved-ref: "13a86afdcf71b55017ebf7ee2c22af211e642603"
=======
ref: e86d515f77
resolved-ref: e86d515f77a736a5e6f09036e5e022153cde425d
>>>>>>> 13eb25e1c30dcd81c87aa85bcb5306ca0931ed21
url: "https://gitea.wslpc.real.he-info.cn:94/flutter/easyweb.git"
source: git
version: "0.0.1"
@@ -510,10 +519,10 @@ packages:
dependency: transitive
description:
name: fake_async
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.1"
version: "1.3.2"
ffi:
dependency: transitive
description:
@@ -819,34 +828,34 @@ packages:
dependency: "direct main"
description:
name: geocoding
sha256: b34c0501bbbaf3190b85bef3078b27cf66c28a8915c6d3af50d67f356aa7da31
sha256: "606be036287842d779d7ec4e2f6c9435fc29bbbd3c6da6589710f981d8852895"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.0"
version: "4.0.0"
geocoding_android:
dependency: transitive
description:
name: geocoding_android
sha256: "609db1d71bc364dd9d0616f72a41c01e0c74f3a3807efb85e0d5a67e57baf50f"
sha256: ba810da90d6633cbb82bbab630e5b4a3b7d23503263c00ae7f1ef0316dcae5b9
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.2"
version: "4.0.1"
geocoding_ios:
dependency: transitive
description:
name: geocoding_ios
sha256: "8f79e380abb640ef4d88baee8bb65390058c802601158d0813dc990b36b189d2"
sha256: "43bde988312feb1a3cb6c3d514e9f4b04b564d1884fa56bd8241030bbb3bde36"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
version: "3.0.2"
geocoding_platform_interface:
dependency: transitive
description:
name: geocoding_platform_interface
sha256: "8848605d307d844d89937cdb4b8ad7dfa880552078f310fa24d8a460f6dddab4"
sha256: "8c2c8226e5c276594c2e18bfe88b19110ed770aeb7c1ab50ede570be8b92229b"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.1"
version: "3.2.0"
geolocator:
dependency: "direct main"
description:
@@ -1131,10 +1140,10 @@ packages:
dependency: transitive
description:
name: json_path
sha256: a3a06eb005f2e93d0df7f263cdf76bbd02c7602f5c4bed9be94fcca4c36be03e
sha256: ba1904c4425dbe6230b824ed5b8b1684e87dbce2be5316e145584a6c46e750c1
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.7.5"
version: "0.7.6"
json_serializable:
dependency: "direct dev"
description:
@@ -1147,18 +1156,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
url: "https://pub.flutter-io.cn"
source: hosted
version: "10.0.5"
version: "10.0.8"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.5"
version: "3.0.9"
leak_tracker_testing:
dependency: transitive
description:
@@ -1211,10 +1220,10 @@ packages:
dependency: transitive
description:
name: macros
sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536"
sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.1.2-main.4"
version: "0.1.3-main.0"
map_launcher:
dependency: "direct main"
description:
@@ -1235,10 +1244,10 @@ packages:
dependency: transitive
description:
name: matcher
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.12.16+1"
version: "0.12.17"
material_color_utilities:
dependency: transitive
description:
@@ -1259,10 +1268,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.15.0"
version: "1.16.0"
mime:
dependency: transitive
description:
@@ -1395,10 +1404,10 @@ packages:
dependency: "direct main"
description:
name: path
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.9.0"
version: "1.9.1"
path_parsing:
dependency: transitive
description:
@@ -1571,10 +1580,10 @@ packages:
dependency: transitive
description:
name: pointer_interceptor_web
sha256: "7a7087782110f8c1827170660b09f8aa893e0e9a61431dbbe2ac3fc482e8c044"
sha256: "460b600e71de6fcea2b3d5f662c92293c049c4319e27f0829310e5a953b3ee2a"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.10.2+1"
version: "0.10.3"
pointycastle:
dependency: transitive
description:
@@ -1819,7 +1828,7 @@ packages:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
version: "0.0.0"
smooth_page_indicator:
dependency: transitive
description:
@@ -1848,10 +1857,10 @@ packages:
dependency: transitive
description:
name: source_span
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.10.0"
version: "1.10.1"
sprintf:
dependency: transitive
description:
@@ -1864,34 +1873,34 @@ packages:
dependency: transitive
description:
name: sqflite
sha256: "2d7299468485dca85efeeadf5d38986909c5eb0cd71fd3db2c2f000e6c9454bb"
sha256: e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.1"
version: "2.4.2"
sqflite_android:
dependency: transitive
description:
name: sqflite_android
sha256: "78f489aab276260cdd26676d2169446c7ecd3484bbd5fead4ca14f3ed4dd9ee3"
sha256: "2b3070c5fa881839f8b402ee4a39c1b4d561704d4ebbbcfb808a119bc2a1701b"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.0"
version: "2.4.1"
sqflite_common:
dependency: transitive
description:
name: sqflite_common
sha256: "761b9740ecbd4d3e66b8916d784e581861fd3c3553eda85e167bc49fdb68f709"
sha256: "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.5.4+6"
version: "2.5.5"
sqflite_darwin:
dependency: transitive
description:
name: sqflite_darwin
sha256: "22adfd9a2c7d634041e96d6241e6e1c8138ca6817018afc5d443fef91dcefa9c"
sha256: "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.1+1"
version: "2.4.2"
sqflite_platform_interface:
dependency: transitive
description:
@@ -1904,10 +1913,10 @@ packages:
dependency: transitive
description:
name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.11.1"
version: "1.12.1"
stop_watch_timer:
dependency: transitive
description:
@@ -1920,10 +1929,10 @@ packages:
dependency: transitive
description:
name: stream_channel
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.2"
version: "2.1.4"
stream_transform:
dependency: transitive
description:
@@ -1936,10 +1945,10 @@ packages:
dependency: transitive
description:
name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.0"
version: "1.4.1"
substring_highlight:
dependency: transitive
description:
@@ -1968,10 +1977,10 @@ packages:
dependency: transitive
description:
name: synchronized
sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225"
sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.3.0+3"
version: "3.3.1"
table_calendar:
dependency: transitive
description:
@@ -1984,18 +1993,18 @@ packages:
dependency: transitive
description:
name: term_glyph
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.1"
version: "1.2.2"
test_api:
dependency: transitive
description:
name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.7.2"
version: "0.7.4"
timeago:
dependency: transitive
description:
@@ -2064,10 +2073,10 @@ packages:
dependency: transitive
description:
name: url_launcher_android
sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193"
sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79"
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.3.14"
version: "6.3.16"
url_launcher_ios:
dependency: transitive
description:
@@ -2104,10 +2113,10 @@ packages:
dependency: transitive
description:
name: url_launcher_web
sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e"
sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.3.3"
version: "2.4.1"
url_launcher_windows:
dependency: transitive
description:
@@ -2200,10 +2209,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
url: "https://pub.flutter-io.cn"
source: hosted
version: "14.2.5"
version: "14.3.1"
vy_string_utils:
dependency: transitive
description:
@@ -2288,10 +2297,10 @@ packages:
dependency: transitive
description:
name: webview_flutter_platform_interface
sha256: "7cb32b21825bd65569665c32bb00a34ded5779786d6201f5350979d2d529940d"
sha256: f0dc2dc3a2b1e3a6abdd6801b9355ebfeb3b8f6cde6b9dc7c9235909c4a1f147
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.13.0"
version: "2.13.1"
webview_flutter_wkwebview:
dependency: transitive
description:
@@ -2341,5 +2350,5 @@ packages:
source: hosted
version: "3.1.3"
sdks:
dart: ">=3.5.4 <4.0.0"
flutter: ">=3.24.0"
dart: ">=3.7.0 <4.0.0"
flutter: ">=3.27.0"

View File

@@ -57,7 +57,7 @@ dependencies:
flutter_city_picker: ^2.1.1
weather: ^3.1.1
lpinyin: ^2.0.3
geocoding: ^2.1.0
geocoding: ^4.0.0
# fl_chart: ^1.0.0
video_player: ^2.9.5
chewie: ^1.10.0
@@ -84,7 +84,7 @@ dependency_overrides:
flutter_blue_plus: 1.34.5 # 1.35.0 版本android连接蓝牙有问题
geolocator: 13.0.3
geolocator_android: 4.4.1
geocoding: 2.1.0
geocoding: 4.0.0
flutter:
uses-material-design: true

View File

@@ -6,7 +6,6 @@
#include "generated_plugin_registrant.h"
#include <app_links/app_links_plugin_c_api.h>
#include <connectivity_plus/connectivity_plus_windows_plugin.h>
#include <flutter_inappwebview_windows/flutter_inappwebview_windows_plugin_c_api.h>
#include <flutter_localization/flutter_localization_plugin_c_api.h>
@@ -14,11 +13,8 @@
#include <permission_handler_windows/permission_handler_windows_plugin.h>
#include <rive_common/rive_plugin.h>
#include <url_launcher_windows/url_launcher_windows.h>
#include <window_to_front/window_to_front_plugin.h>
void RegisterPlugins(flutter::PluginRegistry* registry) {
AppLinksPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("AppLinksPluginCApi"));
ConnectivityPlusWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin"));
FlutterInappwebviewWindowsPluginCApiRegisterWithRegistrar(
@@ -33,6 +29,4 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
registry->GetRegistrarForPlugin("RivePlugin"));
UrlLauncherWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
WindowToFrontPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("WindowToFrontPlugin"));
}

View File

@@ -3,7 +3,6 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
app_links
connectivity_plus
flutter_inappwebview_windows
flutter_localization
@@ -11,7 +10,6 @@ list(APPEND FLUTTER_PLUGIN_LIST
permission_handler_windows
rive_common
url_launcher_windows
window_to_front
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST