|
|
|
@ -14,6 +14,7 @@ import 'package:path_provider/path_provider.dart'; |
|
|
|
import 'dart:io'; |
|
|
|
import '../../../routes/app_routes.dart'; |
|
|
|
import 'package:package_info_plus/package_info_plus.dart'; |
|
|
|
import '../../../data/services/network/api.dart'; |
|
|
|
|
|
|
|
class SettingsController extends GetxController { |
|
|
|
// 语言设置 |
|
|
|
@ -24,16 +25,21 @@ class SettingsController extends GetxController { |
|
|
|
value: 'system'), |
|
|
|
LanguageModel(name: 'english', alias: 'English', value: 'en_US'), // 英语.tr |
|
|
|
LanguageModel(name: 'chinese', alias: '中文', value: 'zh_CN'), // 中文.tr |
|
|
|
LanguageModel(name: 'traditionalChinese', alias: '繁體中文', value: 'zh_HK'), // 添加繁体中文 |
|
|
|
LanguageModel(name: 'spanish', alias: 'Español', value: 'es_ES'), // 添加西班牙语选项 |
|
|
|
LanguageModel(name: 'portuguese', alias: 'Português', value: 'pt_PT'), // 添加葡萄牙语 |
|
|
|
LanguageModel(name: 'japanese', alias: '日本語', value: 'ja_JP'), // 添加日语选项 |
|
|
|
LanguageModel(name: 'korean', alias: '한국어', value: 'ko_KR'), // 添加韩语选项 |
|
|
|
LanguageModel(name: 'french', alias: 'Français', value: 'fr_FR'), // 添加法语选项 |
|
|
|
LanguageModel(name: 'german', alias: 'Deutsch', value: 'de_DE'), // 添加德语选项 |
|
|
|
LanguageModel(name: 'russian', alias: 'Русский', value: 'ru_RU'), // 添加俄语选项 |
|
|
|
LanguageModel(name: 'vietnamese', alias: 'Tiếng Việt', value: 'vi_VN'), // 添加越南语选项 |
|
|
|
LanguageModel(name: 'italian', alias: 'Italiano', value: 'it_IT'), // 添加意大利语选项 |
|
|
|
LanguageModel( |
|
|
|
name: 'traditionalChinese', alias: '繁體中文', value: 'zh_HK'), // 添加繁体中文 |
|
|
|
LanguageModel( |
|
|
|
name: 'spanish', alias: 'Español', value: 'es_ES'), // 添加西班牙语选项 |
|
|
|
LanguageModel( |
|
|
|
name: 'portuguese', alias: 'Português', value: 'pt_PT'), // 添加葡萄牙语 |
|
|
|
LanguageModel(name: 'japanese', alias: '日本語', value: 'ja_JP'), // 添加日语选项 |
|
|
|
LanguageModel(name: 'korean', alias: '한국어', value: 'ko_KR'), // 添加韩语选项 |
|
|
|
LanguageModel(name: 'french', alias: 'Français', value: 'fr_FR'), // 添加法语选项 |
|
|
|
LanguageModel(name: 'german', alias: 'Deutsch', value: 'de_DE'), // 添加德语选项 |
|
|
|
LanguageModel(name: 'russian', alias: 'Русский', value: 'ru_RU'), // 添加俄语选项 |
|
|
|
LanguageModel( |
|
|
|
name: 'vietnamese', alias: 'Tiếng Việt', value: 'vi_VN'), // 添加越南语选项 |
|
|
|
LanguageModel( |
|
|
|
name: 'italian', alias: 'Italiano', value: 'it_IT'), // 添加意大利语选项 |
|
|
|
]; |
|
|
|
|
|
|
|
Rx<LanguageModel> language = LanguageModel().obs; |
|
|
|
@ -150,7 +156,7 @@ class SettingsController extends GetxController { |
|
|
|
} |
|
|
|
|
|
|
|
// 下载并保存远程头像 |
|
|
|
Future<void> _downloadAndSaveAvatar(String url) async { |
|
|
|
Future<void> _downloadAndSaveAvatar(String url) async { |
|
|
|
try { |
|
|
|
Logger().d('开始下载头像: $url'); |
|
|
|
|
|
|
|
@ -356,4 +362,34 @@ class SettingsController extends GetxController { |
|
|
|
print('退出登录错误: $e'); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 注销账号 |
|
|
|
Future<void> deleteAccount() async { |
|
|
|
try { |
|
|
|
// 显示加载提示 |
|
|
|
Get.dialog( |
|
|
|
const Center(child: CircularProgressIndicator()), |
|
|
|
barrierDismissible: false, |
|
|
|
); |
|
|
|
|
|
|
|
// 删除后台用户数据 |
|
|
|
final responce = await Api.deleteUser(); |
|
|
|
if (responce == null) { |
|
|
|
Get.back(); // 关闭加载提示 |
|
|
|
Get.snackbar('错误', '删除用户数据失败'); |
|
|
|
return; |
|
|
|
} |
|
|
|
// 关闭加载提示 |
|
|
|
Get.back(); |
|
|
|
|
|
|
|
signOut(); // 调用 signOut 方法 |
|
|
|
|
|
|
|
Get.snackbar('Success', 'Account has been permanently deleted'); |
|
|
|
Logger().d('账号删除成功'); |
|
|
|
} catch (e) { |
|
|
|
Get.back(); // 关闭加载提示 |
|
|
|
Get.snackbar('错误', '删除账号失败,请重试'); |
|
|
|
Logger().d('账号删除失败: $e'); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|