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