diff --git a/lib/common/util/MyUtils.dart b/lib/common/util/MyUtils.dart index 3e85671..2bf6fd2 100644 --- a/lib/common/util/MyUtils.dart +++ b/lib/common/util/MyUtils.dart @@ -235,28 +235,19 @@ class MyUtils { return '$dateStr $weekStr'; } - // static String getFormatEnglishDate(int millis) { - // final date = DateTime.fromMillisecondsSinceEpoch(millis); - // const weekdays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']; - // final weekday = weekdays[date.weekday - 1]; - // final formattedDate = - // '${date.year}/${date.month.toString().padLeft(2, '0')}/${date.day.toString().padLeft(2, '0')}'; - // return '$weekday, $formattedDate'; - // // return '$formattedDate'; - // } -static String getFormatEnglishDate(int millis) { - final date = DateTime.fromMillisecondsSinceEpoch(millis); + static String getFormatEnglishDate(int millis, {bool showWeekday = true}) { + final date = DateTime.fromMillisecondsSinceEpoch(millis); - // 英文星期简写 - const weekdays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']; - final weekday = weekdays[date.weekday - 1]; + // 英文星期简写 + const weekdays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']; + final weekday = weekdays[date.weekday - 1]; - // 格式化年月日:2025/07/21 - final formattedDate = - '${date.year}/${date.month.toString().padLeft(2, '0')}/${date.day.toString().padLeft(2, '0')}'; - - return '$weekday, $formattedDate'; -} + // 格式化年月日:2025/07/21 + final formattedDate = + '${date.year}/${date.month.toString().padLeft(2, '0')}/${date.day.toString().padLeft(2, '0')}'; + if (!showWeekday) return formattedDate; + return '$weekday, $formattedDate'; + } } Color stringToColor(String hexColor) { diff --git a/lib/language/AppLanguage.dart b/lib/language/AppLanguage.dart index a270f6b..ff0391b 100644 --- a/lib/language/AppLanguage.dart +++ b/lib/language/AppLanguage.dart @@ -111,6 +111,6 @@ class AppLanguage extends Translations { } bool isChinese() { - return _currentLanguageCode == "zh_CN"; + return _currentLanguageCode == "zh_CN"||_currentLanguageCode == "zh_TW"; } } diff --git a/lib/main.dart b/lib/main.dart index b593f31..ab123ce 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -88,7 +88,8 @@ Future main() async { // final selectapp = "th"; final selectapp = "mht"; // await AppLanguage().loadLanguage("en_US"); - await AppLanguage().loadLanguage("zh_CN", project: selectapp); + + await loadLanguageSetting(selectapp); await initLanguageSetting(); WidgetsFlutterBinding.ensureInitialized(); @@ -98,6 +99,7 @@ Future main() async { await initLocalStorage(); initEasyDartModule(); await initLogin(); + await messageStatus(); startMessagePolling(selectapp); @@ -117,6 +119,14 @@ Future main() async { }); } +loadLanguageSetting(String selectapp) async { + await ef.kvdb.openDir("mht"); + String? language = await ef.kvdb.read("mht/language"); + + language ??= 'zh_CN'; + await AppLanguage().loadLanguage(language, project: selectapp); +} + void initwebService() { ef.kvRoot.appmanger = MiniAppManager(assetsfilePath: 'assets/file.json'); ef.kvRoot.appmanger.register(["mhtControl"]); diff --git a/lib/pages/mh_page/LanguagePage.dart b/lib/pages/mh_page/LanguagePage.dart index a0d2736..7c83a7f 100644 --- a/lib/pages/mh_page/LanguagePage.dart +++ b/lib/pages/mh_page/LanguagePage.dart @@ -1,6 +1,7 @@ import 'package:ef/ef.dart'; import 'package:flutter/material.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/util/FitTool.dart'; import 'package:vbvs_app/common/util/MyUtils.dart'; @@ -136,6 +137,15 @@ class _LanguagePageState extends State { .personnelList.value; deviceController.getHomeSleeps( list[0]["mac"], context); + + try { + // ef.kv.set("language", + // language.language_code); + ef.kvdb.write("mht/language", + language.language_code); + } catch (e) { + print(e); + } }, child: Row( mainAxisSize: MainAxisSize.max, @@ -168,33 +178,42 @@ class _LanguagePageState extends State { value: language.selected ?? false, // 根据 selected 状态显示选中或未选中 onChanged: (value) async { - // 保持原有的状态更改逻辑 - for (var lang - in languageController - .languageList) { - lang.selected = (lang == - language); // 更新选中状态 - } + // // 保持原有的状态更改逻辑 + // for (var lang + // in languageController + // .languageList) { + // lang.selected = (lang == + // language); // 更新选中状态 + // } - await AppLanguage() - .loadLanguage( - language - .language_code, - project: - "mht"); // 加载语言 - languageController - .updateAll(); // 更新操作 - languageController - .selectLanguage - .value = language; - final list = - deviceController - .personnelList - .value; - deviceController - .getHomeSleeps( - list[0]["mac"], - context); + // await AppLanguage() + // .loadLanguage( + // language + // .language_code, + // project: + // "mht"); // 加载语言 + // languageController + // .updateAll(); // 更新操作 + // languageController + // .selectLanguage + // .value = language; + // final list = + // deviceController + // .personnelList + // .value; + // deviceController + // .getHomeSleeps( + // list[0]["mac"], + // context); + // final box = GetStorage(); + // try { + // box.write( + // 'language', + // language + // .language_code); + // } catch (e) { + // print(e); + // } }, ), ].divide(SizedBox( diff --git a/lib/pages/sleep_report/new_sleep_report_page.dart b/lib/pages/sleep_report/new_sleep_report_page.dart index 3e4a0ea..c49f970 100644 --- a/lib/pages/sleep_report/new_sleep_report_page.dart +++ b/lib/pages/sleep_report/new_sleep_report_page.dart @@ -442,7 +442,7 @@ class _NewSleepReportPageState extends State { width: double.infinity, child: Padding( padding: EdgeInsetsDirectional.fromSTEB( - 0.rpx, 32.rpx, 30.rpx, 32.rpx), + 30.rpx, 32.rpx, 30.rpx, 32.rpx), child: getTimeWidget(), ), ), @@ -1116,7 +1116,7 @@ class _NewSleepReportPageState extends State { selectedDate.subtract(Duration(days: selectedDate.weekday - 1)); final endOfWeek = startOfWeek.add(const Duration(days: 6)); displayText = - '${MyUtils.getFormatEnglishDate(startOfWeek.millisecondsSinceEpoch)} - ${MyUtils.getFormatEnglishDate(endOfWeek.millisecondsSinceEpoch)}'; + '${MyUtils.getFormatEnglishDate(startOfWeek.millisecondsSinceEpoch, showWeekday: false)} - ${MyUtils.getFormatEnglishDate(endOfWeek.millisecondsSinceEpoch, showWeekday: false)}'; } else if (type == 3) { // Monthly Report displayText =