更新控制页多语言

This commit is contained in:
wyf
2025-08-08 10:22:51 +08:00
parent 88a03a361c
commit 48d8645fd9
15 changed files with 51 additions and 29 deletions

View File

@@ -12,6 +12,7 @@ import 'package:vbvs_app/enum/APPPackageType.dart';
import 'package:vbvs_app/language/AppLanguage.dart';
import 'package:vbvs_app/pages/device_bind/componnet/FancyCircleCheckbox.dart';
import 'package:vbvs_app/pages/mh_page/homepage/controller/mht_home_controller.dart';
import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart';
class LanguagePage extends StatefulWidget {
const LanguagePage({super.key});
@@ -33,7 +34,6 @@ class _LanguagePageState extends State<LanguagePage> {
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (context, bodySize) => GestureDetector(
// onTap: () => FocusScope.of(context).unfocus(),,
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
@@ -147,8 +147,17 @@ class _LanguagePageState extends State<LanguagePage> {
try {
// ef.kv.set("language",
// language.language_code);
ef.kvdb.write("mht/language",
await ef.kvdb.write(
"mht/language",
language.language_code);
//todo 通知语言
WebviewTestController
webviewTestController =
Get.find();
webviewTestController
.web.jsbridge?.dart
.switchLanguage(language
.language_code);
} catch (e) {
print(e);
}
@@ -192,7 +201,6 @@ class _LanguagePageState extends State<LanguagePage> {
lang.selected = (lang ==
language); // 根据选择更新状态
}
await AppLanguage().loadLanguage(
language
.language_code,
@@ -222,6 +230,15 @@ class _LanguagePageState extends State<LanguagePage> {
"mht/language",
language
.language_code);
//todo 通知语言
WebviewTestController
webviewTestController =
Get.find();
webviewTestController
.web.jsbridge?.dart
.switchLanguage(language
.language_code);
} catch (e) {
print(e);
}
@@ -239,15 +256,6 @@ class _LanguagePageState extends State<LanguagePage> {
);
}),
),
// ClickableContainer(
// backgroundColor: Colors.transparent, // 容器背景色
// highlightColor: themeController
// .currentColor.sc21, // 点击时的背景色
// padding: EdgeInsetsDirectional.fromSTEB(
// 40.rpx, 0.rpx, 40.rpx, 0.rpx),
// onTap: () {},
// child: Container(),
// ),
]
.divide(SizedBox(height: 0.rpx))
.addToStart(SizedBox(height: 30.rpx))

View File

@@ -278,8 +278,8 @@ class _BluetoothPageState extends State<BluetoothPage> {
"/mhtWifiAfterPage",
arguments: obsData,
),
// _buildMenuButton(
// context, '睡眠习惯', "/sleepHabitPage"),
_buildMenuButton(
context, '睡眠习惯', "/sleepHabitPage"),
_buildMenuButton(
context, '分享设备'.tr, "/deviceSharePage",
arguments: obsData),
@@ -447,10 +447,11 @@ class _BluetoothPageState extends State<BluetoothPage> {
onTap(); // 自定义点击逻辑优先执行
} else if (path?.isNotEmpty == true) {
if (path == "/sleepHabitPage") {
Get.back();
WebviewTestController webviewTestController = Get.find();
webviewTestController.web.jsbridge?.dart.toSleepHabit();
webviewTestController.web.jsbridge?.dart.toSleepHabit();
return;
}
}
final result = await Get.toNamed(path!, arguments: arguments);
if (result != null && onResult != null) {
onResult(result); // ✅ 有回调就处理返回值

View File

@@ -151,7 +151,8 @@ class DeviceInfoWidget extends GetView {
try {
WebviewTestController webviewTestController =
Get.find();
webviewTestController.web.jsbridge?.dart
.switchLanguage(mhLanguageController.selectLanguage.value!.language_code);
webviewTestController.web.jsbridge?.dart
.pageActive(false);
// await Future.delayed(Duration(seconds: 1));

View File

@@ -4,6 +4,7 @@ import 'package:flutterflow_ui/flutterflow_ui.dart';
import 'package:vbvs_app/common/color/appConstants.dart';
import 'package:vbvs_app/common/util/DailyLogUtils.dart';
import 'package:vbvs_app/common/util/FitTool.dart';
import 'package:vbvs_app/common/util/MyUtils.dart';
import 'package:vbvs_app/component/tool/CustomCard.dart';
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
import 'package:vbvs_app/pages/main_bottom/component/main_page_b_bottom_change.dart';
@@ -85,7 +86,11 @@ class _HomeDeviceStausWidgetState extends State<HomeDeviceStausWidget> {
onTap: () async {
try {
var device = widget.deviceStatus;
WebviewTestController webviewTestController = Get.find();
webviewTestController.web.jsbridge?.dart.switchLanguage(
mhLanguageController
.selectLanguage.value!.language_code);
webviewTestController.web.jsbridge?.dart
.pageActive(false);
await Future.delayed(Duration(seconds: 1));