app-starlock/lib/mine/mineMultiLanguage/mineMultiLanguage_logic.dart

33 lines
1.1 KiB
Dart
Raw Normal View History

2023-07-10 17:50:31 +08:00
import 'dart:ui';
import 'package:get/get.dart';
import 'package:star_lock/app_settings/app_settings.dart';
2024-08-27 11:08:44 +08:00
import 'package:star_lock/tools/baseGetXController.dart';
import '../../main/lockDetail/passwordKey/passwordKeyList/passwordKeyListEntity.dart';
import '../../network/api_repository.dart';
import '../../tools/eventBusEventManage.dart';
2023-07-10 17:50:31 +08:00
import 'mineMultiLanguage_state.dart';
class MineMultiLanguageLogic extends GetxController {
final MineMultiLanguageState state = MineMultiLanguageState();
//更新个人信息
Future<void> updateUserLangInfo(Locale l) async {
// AppLog.log('lanTypeTitle: $lanTypeTitle');
2024-08-27 11:08:44 +08:00
final String lang = l.toLanguageTag();
2024-11-21 18:11:11 +08:00
final PasswordKeyListEntity entity =
await ApiRepository.to.updateUserLangInfo(lang: lang);
2024-08-27 11:08:44 +08:00
if (entity.errorCode!.codeIsSuccessful) {
await changeLanguage(l);
eventBus.fire(ChangeLanguageBlockLastLanguageEvent());
2024-11-21 18:11:11 +08:00
print('发送语言变化事件');
2024-08-27 11:08:44 +08:00
}
}
Future<void> changeLanguage(Locale l) async {
2024-11-21 18:11:11 +08:00
if (l == Get.locale) return;
await Get.updateLocale(l);
2023-07-10 17:50:31 +08:00
state.resetLan();
}
2024-11-21 18:11:11 +08:00
}