From 558bec0dd67ad5cd495071f37391673358192efc Mon Sep 17 00:00:00 2001 From: wyf <494641114@qq.com> Date: Mon, 25 Aug 2025 15:43:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BE=AE=E4=BF=A1=E7=99=BB?= =?UTF-8?q?=E5=BD=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/langs/en_US.json | 6 +- assets/langs/zh_CN.json | 4 +- assets/langs/zh_TW.json | 6 +- .../weather/weather_controller.dart | 6 +- lib/pages/common/selectDialog.dart | 85 +++++++++++++++++++ lib/pages/login/LogoutPage.dart | 7 +- lib/pages/login/other_login.dart | 8 ++ lib/pages/user/setting_page.dart | 29 ++++++- lib/routers/routers.dart | 4 +- 9 files changed, 140 insertions(+), 15 deletions(-) diff --git a/assets/langs/en_US.json b/assets/langs/en_US.json index 3317be9..fc338e0 100644 --- a/assets/langs/en_US.json +++ b/assets/langs/en_US.json @@ -536,5 +536,9 @@ "连接": "Connect", "下一步": "Next", "获取wifi列表成功": "WiFi List Retrieved", - "获取wifi列表失败": "Failed to Get WiFi List" + "获取wifi列表失败": "Failed to Get WiFi List", + "退出": "Exit", + "同意": "Agree", + "保存失败": "Save Failed", + "保存成功": "Save Successful" } \ No newline at end of file diff --git a/assets/langs/zh_CN.json b/assets/langs/zh_CN.json index 7681a4d..cb4d16f 100644 --- a/assets/langs/zh_CN.json +++ b/assets/langs/zh_CN.json @@ -541,5 +541,7 @@ "删除提示": "是否确认删除?", "连接": "连接", "获取wifi列表成功": "获取wifi列表成功", - "获取wifi列表失败": "获取wifi列表失败" + "获取wifi列表失败": "获取wifi列表失败", + "保存失败": "保存失败", + "保存成功": "保存成功" } \ No newline at end of file diff --git a/assets/langs/zh_TW.json b/assets/langs/zh_TW.json index f6b9f33..3e7d3d9 100644 --- a/assets/langs/zh_TW.json +++ b/assets/langs/zh_TW.json @@ -533,5 +533,9 @@ "连接": "連接", "下一步": "下一步", "获取wifi列表成功": "獲取wifi列表成功", - "获取wifi列表失败": "獲取wifi列表失敗" + "获取wifi列表失败": "獲取wifi列表失敗", + "退出": "退出", + "同意": "同意", + "保存失败": "保存失敗", + "保存成功": "保存成功" } \ No newline at end of file diff --git a/lib/controller/weather/weather_controller.dart b/lib/controller/weather/weather_controller.dart index 9e03e3c..7d91cfd 100644 --- a/lib/controller/weather/weather_controller.dart +++ b/lib/controller/weather/weather_controller.dart @@ -60,13 +60,13 @@ class WeatherModelController extends GetControllerEx { super.onInit(); try { - await _getCurrentLocation(); + await getCurrentLocation(); _weatherTimer = Timer.periodic(Duration(minutes: 10), (timer) { getCurrentWeather(); // 每 60 秒更新一次天气 }); _locationTimer = Timer.periodic(Duration(minutes: 10), (timer) { - _getCurrentLocation(); // 每 10 分钟更新一次位置 + getCurrentLocation(); // 每 10 分钟更新一次位置 }); } catch (e) { ef.log("[天气和定位请求失败]"); @@ -81,7 +81,7 @@ class WeatherModelController extends GetControllerEx { } // 获取当前位置并存储到 model - Future _getCurrentLocation() async { + Future getCurrentLocation() async { try { UserInfoController userInfoController = Get.find(); if (userInfoController.model.login == null || diff --git a/lib/pages/common/selectDialog.dart b/lib/pages/common/selectDialog.dart index 3c74f92..23aa1c7 100644 --- a/lib/pages/common/selectDialog.dart +++ b/lib/pages/common/selectDialog.dart @@ -1151,6 +1151,91 @@ Future showCustomConfirmDialog(BuildContext context, String name, ); } +Future showCustomConfirmDialogTH(BuildContext context, String name, + {String btnName = "确定", + ConfirmDialogIcon icon = ConfirmDialogIcon.warn}) async { + ThemeController themeController = Get.find(); + return showDialog( + context: context, + barrierDismissible: true, + builder: (BuildContext context) { + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: + BorderRadius.circular(AppConstants().normal_container_radius), + ), + backgroundColor: themeController.currentColor.sc17, // 在这里设置背景色 + child: Container( + width: 660.rpx, + padding: EdgeInsets.fromLTRB(60.rpx, 0, 60.rpx, 32.rpx), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + // color: themeController.currentColor.sc9, + alignment: Alignment.centerRight, + child: closeIconWhite, + ), + SizedBox(height: 60.rpx), + if ("${icon.uname}".isNotEmpty) + Center( + child: Container( + margin: EdgeInsets.only(bottom: 39.rpx), + width: 50.rpx, + height: 50.rpx, + child: Image.asset( + "assets/images/toast/${icon.uname}.png", + color: themeController.currentColor.sc9, + ), + ), + ), + Center( + child: Text( + '${name}', + style: TextStyle( + fontSize: 16, color: themeController.currentColor.sc3), + ), + ), + SizedBox(height: 20.rpx), + Container( + margin: EdgeInsets.only(top: 50.rpx, bottom: 40.rpx), + alignment: Alignment.center, + child: CustomCard( + borderRadius: AppConstants().button_container_radius, + onTap: () { + Get.back(result: "confirm"); + }, + colors: AppConstants().thNormalButton, + child: Container( + width: 260.rpx, + height: 60.rpx, + child: Row( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + "确定".tr, + style: TextStyle( + color: themeController.currentColor.sc3, + fontFamily: 'Inter', + fontSize: AppConstants().normal_text_fontSize, + letterSpacing: 0.0, + ), + ), + ].divide(SizedBox(width: 17.rpx)), + ), + ), + ), + ) + ], + ), + ), + ); + }, + ); +} + Future showCustomConfirmAndCancelDialog(BuildContext context, String name, {String confirmName = "确定", String cancelName = "取消", diff --git a/lib/pages/login/LogoutPage.dart b/lib/pages/login/LogoutPage.dart index 05b2d34..2e40ac2 100644 --- a/lib/pages/login/LogoutPage.dart +++ b/lib/pages/login/LogoutPage.dart @@ -2,16 +2,11 @@ import 'package:ef/ef.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutterflow_ui/flutterflow_ui.dart'; -import 'package:get_storage/get_storage.dart'; - import 'package:vbvs_app/common/color/appConstants.dart'; import 'package:vbvs_app/common/color/appFontsize.dart'; import 'package:vbvs_app/common/util/FitTool.dart'; import 'package:vbvs_app/common/util/MyUtils.dart'; import 'package:vbvs_app/component/tool/TopSlideNotification.dart'; -import 'package:vbvs_app/controller/login/login_controller.dart'; -import 'package:vbvs_app/controller/main_bottom/global_controller.dart'; -import 'package:vbvs_app/controller/theme_controller/ThemeController.dart'; import 'package:vbvs_app/controller/user_info_controller.dart'; import 'package:vbvs_app/pages/common/selectDialog.dart'; import 'package:vbvs_app/pages/mh_page/user/controller/mht_login_controller.dart'; @@ -287,7 +282,7 @@ class LogoutPage extends GetView { ), child: FFButtonWidget( onPressed: () async { - showCustomConfirmDialog(context, "是否确认注销?".tr) + showCustomConfirmDialogTH(context, "是否确认注销?".tr) .then((v) async { if (v != "confirm") { return; diff --git a/lib/pages/login/other_login.dart b/lib/pages/login/other_login.dart index 3024df6..d24b640 100644 --- a/lib/pages/login/other_login.dart +++ b/lib/pages/login/other_login.dart @@ -19,6 +19,7 @@ import 'package:vbvs_app/controller/main_bottom/global_controller.dart'; import 'package:vbvs_app/controller/theme_controller/ThemeController.dart'; import 'package:vbvs_app/controller/time/countdown_controller.dart'; import 'package:vbvs_app/controller/user_info_controller.dart'; +import 'package:vbvs_app/controller/weather/weather_controller.dart'; import 'package:vbvs_app/model/api_response.dart'; class OtherLoginPage extends StatefulWidget { @@ -630,6 +631,13 @@ class _OtherLoginPageState extends State { ); // Get.offAllNamed('/homePage'); Get.offAllNamed("/mianPageBottomChange"); + //获取天气 + WeatherModelController + weatherModelController = Get.find(); + await weatherModelController + .getCurrentLocation(); + await weatherModelController + .getCurrentWeather(); } } } catch (e) { diff --git a/lib/pages/user/setting_page.dart b/lib/pages/user/setting_page.dart index dd4bbb3..0c2a607 100644 --- a/lib/pages/user/setting_page.dart +++ b/lib/pages/user/setting_page.dart @@ -299,7 +299,7 @@ class _SettingPageState extends State { padding: EdgeInsetsDirectional.fromSTEB( 0.rpx, 0.rpx, 0.rpx, 0.rpx), onTap: () async { - String url = + String url = "https://mp.weixin.qq.com/s/IAr4RNBy0hGJXGKyMxe7eQ"; String serviceAddress = ServiceConstant.service_address; @@ -327,7 +327,32 @@ class _SettingPageState extends State { method: MyHttpMethod.get, queryUrl: queryUrl, onSuccess: (res) { - url = res.data['url']; + String? language = "zh_CN"; + if (AppConstants().ent_type == + APPPackageType.MHT.code) { + if (mhLanguageController + .selectLanguage != + null) { + language = mhLanguageController + .selectLanguage + .value! + .language_code; + } + } else { + if (languageController + .selectLanguage != + null) { + language = languageController + .selectLanguage + .value! + .language_code; + } + } + if (language == "zh_CN") { + url = res.data['url']; + } else { + url = res.data['en_url']; + } }, ); print('点击了容器'); diff --git a/lib/routers/routers.dart b/lib/routers/routers.dart index b5c444d..7098fb5 100644 --- a/lib/routers/routers.dart +++ b/lib/routers/routers.dart @@ -137,7 +137,9 @@ var onGenerateRoute = (RouteSettings settings) { settings.name != "/userSchemePage" && settings.name != "/privacyPage" && settings.name != "/userPolicyPageNew" && - settings.name != "/privacyPolicyPageNew") { + settings.name != "/privacyPolicyPageNew"&& + settings.name != "/auth_bind_tel" + ) { TopSlideNotification.show( Get.context!, text: "必须登录提示".tr,