From 07856d1e21b0f2de0681b4c9d9a204e0f57f90ea Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Sat, 25 Oct 2025 16:20:01 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=99=BB=E5=BD=95):=20=E6=8F=90=E5=8F=96?= =?UTF-8?q?=E5=9B=BD=E5=AE=B6=E4=BB=A3=E7=A0=81=E5=88=97=E8=A1=A8=E4=B8=BA?= =?UTF-8?q?=E5=B8=B8=E9=87=8F=E6=96=87=E4=BB=B6=E5=B9=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?iOS=E8=AE=BE=E5=A4=87=E5=93=81=E7=89=8C=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将国家代码列表从登录控制器移至独立常量文件以便复用 在版本更新服务中添加iOS设备品牌检测功能 --- lib/data/services/version_update_service.dart | 36 +++++ .../login/constants/country_codes.dart | 127 ++++++++++++++++ .../login/controllers/login_controller.dart | 135 +----------------- 3 files changed, 170 insertions(+), 128 deletions(-) create mode 100644 lib/modules/login/constants/country_codes.dart diff --git a/lib/data/services/version_update_service.dart b/lib/data/services/version_update_service.dart index e26ed08eb..482da1069 100644 --- a/lib/data/services/version_update_service.dart +++ b/lib/data/services/version_update_service.dart @@ -211,6 +211,7 @@ class VersionUpdateService extends GetxService { /// 获取当前平台信息 Future getCurrentPlatformInfo() async { if (Platform.isIOS) { + await _getIosDeviceBrand(); return const PlatformInfo( platform: 'ios', storeType: AppStoreType.appStore, @@ -310,6 +311,41 @@ class VersionUpdateService extends GetxService { } } + /// 获取iOS设备品牌信息 + Future _getIosDeviceBrand() async { + try { + final deviceInfo = DeviceInfoPlugin(); + final iosInfo = await deviceInfo.iosInfo; + + // 获取设备型号信息 + final model = + iosInfo.model.toLowerCase(); // 例如: "iPhone", "iPad", "iPod touch" + //print('lxm---model: $model'); + final utsname = iosInfo.utsname; // 包含更详细的设备信息 + //print('lxm---utsname: $utsname'); + final machineId = utsname.machine.toLowerCase(); // 例如: "iPhone14,2" + //print('lxm---machineId: $machineId'); + + // 根据设备型号确定品牌 + if (model.contains('iphone') || machineId.contains('iphone')) { + _deviceBrand = 'iphone'; + } else if (model.contains('ipad') || machineId.contains('ipad')) { + _deviceBrand = 'ipad'; + } else if (model.contains('ipod') || machineId.contains('ipod')) { + _deviceBrand = 'ipod'; + } else if (model.contains('mac') || machineId.contains('mac')) { + _deviceBrand = 'mac'; + } else { + _deviceBrand = 'ios'; // 默认值 + } + + _logger.d('iOS设备品牌: $_deviceBrand (model: $model, machine: $machineId)'); + } catch (e) { + _logger.e('获取iOS设备品牌失败: $e'); + _deviceBrand = 'ios'; // 默认值 + } + } + /// 判断是否需要强制更新 /// 当主版本号(第一位数字)不同时返回true bool _shouldForceUpdate(String current, String latest) { diff --git a/lib/modules/login/constants/country_codes.dart b/lib/modules/login/constants/country_codes.dart new file mode 100644 index 000000000..4f7e2202f --- /dev/null +++ b/lib/modules/login/constants/country_codes.dart @@ -0,0 +1,127 @@ +// Country dialing codes list extracted for maintainability and reuse. + +final List> kCountryCodes = [ + {'name': '邮箱', 'code': '', 'flag': '✉️'}, // 保持首位 + {'name': '中国', 'code': '+86', 'flag': '🇨🇳'}, // 保持第二位 + + // 按国家代码数字升序排列(去除+号后排序) + {'name': '美国', 'code': '+1', 'flag': '🇺🇸'}, + {'name': '加拿大', 'code': '+1', 'flag': '🇨🇦'}, + {'name': '俄罗斯', 'code': '+7', 'flag': '🇷🇺'}, + {'name': '英国', 'code': '+44', 'flag': '🇬🇧'}, + {'name': '德国', 'code': '+49', 'flag': '🇩🇪'}, + {'name': '意大利', 'code': '+39', 'flag': '🇮🇹'}, + {'name': '法国', 'code': '+33', 'flag': '🇫🇷'}, + {'name': '西班牙', 'code': '+34', 'flag': '🇪🇸'}, + {'name': '南非', 'code': '+27', 'flag': '🇿🇦'}, + {'name': '沙特阿拉伯', 'code': '+966', 'flag': '🇸🇦'}, + {'name': '土耳其', 'code': '+90', 'flag': '🇹🇷'}, + {'name': '日本', 'code': '+81', 'flag': '🇯🇵'}, + {'name': '韩国', 'code': '+82', 'flag': '🇰🇷'}, + {'name': '新加坡', 'code': '+65', 'flag': '🇸🇬'}, + {'name': '马来西亚', 'code': '+60', 'flag': '🇲🇾'}, + {'name': '泰国', 'code': '+66', 'flag': '🇹🇭'}, + {'name': '越南', 'code': '+84', 'flag': '🇻🇳'}, + {'name': '印度', 'code': '+91', 'flag': '🇮🇳'}, + {'name': '巴基斯坦', 'code': '+92', 'flag': '🇵🇰'}, + {'name': '菲律宾', 'code': '+63', 'flag': '🇵🇭'}, + {'name': '印度尼西亚', 'code': '+62', 'flag': '🇮🇩'}, + {'name': '阿联酋', 'code': '+971', 'flag': '🇦🇪'}, + {'name': '墨西哥', 'code': '+52', 'flag': '🇲🇽'}, + {'name': '巴西', 'code': '+55', 'flag': '🇧🇷'}, + {'name': '阿根廷', 'code': '+54', 'flag': '🇦🇷'}, + {'name': '澳大利亚', 'code': '+61', 'flag': '🇦🇺'}, + {'name': '新西兰', 'code': '+64', 'flag': '🇳🇿'}, + + // 中国地区(保持最后) + {'name': '中国香港', 'code': '+852', 'flag': '🇭🇰'}, + {'name': '中国澳门', 'code': '+853', 'flag': '🇲🇴'}, + {'name': '中国台湾', 'code': '+886', 'flag': '🇹🇼'}, + + // 添加的其他主要国家 + {'name': '埃及', 'code': '+20', 'flag': '🇪🇬'}, + {'name': '希腊', 'code': '+30', 'flag': '🇬🇷'}, + {'name': '荷兰', 'code': '+31', 'flag': '🇳🇱'}, + {'name': '比利时', 'code': '+32', 'flag': '🇧🇪'}, + {'name': '匈牙利', 'code': '+36', 'flag': '🇭🇺'}, + {'name': '罗马尼亚', 'code': '+40', 'flag': '🇷🇴'}, + {'name': '瑞士', 'code': '+41', 'flag': '🇨🇭'}, + {'name': '奥地利', 'code': '+43', 'flag': '🇦🇹'}, + {'name': '丹麦', 'code': '+45', 'flag': '🇩🇰'}, + {'name': '瑞典', 'code': '+46', 'flag': '🇸🇪'}, + {'name': '挪威', 'code': '+47', 'flag': '🇳🇴'}, + {'name': '波兰', 'code': '+48', 'flag': '🇵🇱'}, + {'name': '秘鲁', 'code': '+51', 'flag': '🇵🇪'}, + {'name': '智利', 'code': '+56', 'flag': '🇨🇱'}, + {'name': '哥伦比亚', 'code': '+57', 'flag': '🇨🇴'}, + {'name': '委内瑞拉', 'code': '+58', 'flag': '🇻🇪'}, + {'name': '葡萄牙', 'code': '+351', 'flag': '🇵🇹'}, + {'name': '卢森堡', 'code': '+352', 'flag': '🇱🇺'}, + {'name': '爱尔兰', 'code': '+353', 'flag': '🇮🇪'}, + {'name': '冰岛', 'code': '+354', 'flag': '🇮🇸'}, + {'name': '阿尔巴尼亚', 'code': '+355', 'flag': '🇦🇱'}, + {'name': '马耳他', 'code': '+356', 'flag': '🇲🇹'}, + {'name': '塞浦路斯', 'code': '+357', 'flag': '🇨🇾'}, + {'name': '芬兰', 'code': '+358', 'flag': '🇫🇮'}, + {'name': '保加利亚', 'code': '+359', 'flag': '🇧🇬'}, + {'name': '立陶宛', 'code': '+370', 'flag': '🇱🇹'}, + {'name': '拉脱维亚', 'code': '+371', 'flag': '🇱🇻'}, + {'name': '爱沙尼亚', 'code': '+372', 'flag': '🇪🇪'}, + {'name': '乌克兰', 'code': '+380', 'flag': '🇺🇦'}, + {'name': '塞尔维亚', 'code': '+381', 'flag': '🇷🇸'}, + {'name': '克罗地亚', 'code': '+385', 'flag': '🇭🇷'}, + {'name': '斯洛文尼亚', 'code': '+386', 'flag': '🇸🇮'}, + {'name': '捷克', 'code': '+420', 'flag': '🇨🇿'}, + {'name': '斯洛伐克', 'code': '+421', 'flag': '🇸🇰'}, + {'name': '危地马拉', 'code': '+502', 'flag': '🇬🇹'}, + {'name': '萨尔瓦多', 'code': '+503', 'flag': '🇸🇻'}, + {'name': '洪都拉斯', 'code': '+504', 'flag': '🇭🇳'}, + {'name': '尼加拉瓜', 'code': '+505', 'flag': '🇳🇮'}, + {'name': '哥斯达黎加', 'code': '+506', 'flag': '🇨🇷'}, + {'name': '巴拿马', 'code': '+507', 'flag': '🇵🇦'}, + {'name': '海地', 'code': '+509', 'flag': '🇭🇹'}, + {'name': '玻利维亚', 'code': '+591', 'flag': '🇧🇴'}, + {'name': '厄瓜多尔', 'code': '+593', 'flag': '🇪🇨'}, + {'name': '巴拉圭', 'code': '+595', 'flag': '🇵🇾'}, + {'name': '乌拉圭', 'code': '+598', 'flag': '🇺🇾'}, + {'name': '摩洛哥', 'code': '+212', 'flag': '🇲🇦'}, + {'name': '阿尔及利亚', 'code': '+213', 'flag': '🇩🇿'}, + {'name': '突尼斯', 'code': '+216', 'flag': '🇹🇳'}, + {'name': '尼日利亚', 'code': '+234', 'flag': '🇳🇬'}, + {'name': '加纳', 'code': '+233', 'flag': '🇬🇭'}, + {'name': '埃塞俄比亚', 'code': '+251', 'flag': '🇪🇹'}, + {'name': '肯尼亚', 'code': '+254', 'flag': '🇰🇪'}, + {'name': '坦桑尼亚', 'code': '+255', 'flag': '🇹🇿'}, + {'name': '乌干达', 'code': '+256', 'flag': '🇺🇬'}, + {'name': '孟加拉国', 'code': '+880', 'flag': '🇧🇩'}, + {'name': '以色列', 'code': '+972', 'flag': '🇮🇱'}, + {'name': '黎巴嫩', 'code': '+961', 'flag': '🇱🇧'}, + {'name': '约旦', 'code': '+962', 'flag': '🇯🇴'}, + {'name': '伊拉克', 'code': '+964', 'flag': '🇮🇶'}, + {'name': '科威特', 'code': '+965', 'flag': '🇰🇼'}, + {'name': '巴林', 'code': '+973', 'flag': '🇧🇭'}, + {'name': '卡塔尔', 'code': '+974', 'flag': '🇶🇦'}, + {'name': '阿曼', 'code': '+968', 'flag': '🇴🇲'}, + {'name': '阿富汗', 'code': '+93', 'flag': '🇦🇫'}, + {'name': '斯里兰卡', 'code': '+94', 'flag': '🇱🇰'}, + {'name': '缅甸', 'code': '+95', 'flag': '🇲🇲'}, + {'name': '尼泊尔', 'code': '+977', 'flag': '🇳🇵'}, + {'name': '蒙古', 'code': '+976', 'flag': '🇲🇳'}, + {'name': '柬埔寨', 'code': '+855', 'flag': '🇰🇭'}, + {'name': '老挝', 'code': '+856', 'flag': '🇱🇦'}, + {'name': '文莱', 'code': '+673', 'flag': '🇧🇳'}, + {'name': '东帝汶', 'code': '+670', 'flag': '🇹🇱'}, + {'name': '斐济', 'code': '+679', 'flag': '🇫🇯'}, + {'name': '所罗门群岛', 'code': '+677', 'flag': '🇸🇧'}, + {'name': '刚果民主共和国', 'code': '+243', 'flag': '🇨🇩'}, + {'name': '安哥拉', 'code': '+244', 'flag': '🇦🇴'}, + {'name': '苏丹', 'code': '+249', 'flag': '🇸🇩'}, + {'name': '马尔代夫', 'code': '+960', 'flag': '🇲🇻'}, + {'name': '不丹', 'code': '+975', 'flag': '🇧🇹'}, + {'name': '摩纳哥', 'code': '+377', 'flag': '🇲🇨'}, + {'name': '圣马力诺', 'code': '+378', 'flag': '🇸🇲'}, + {'name': '牙买加', 'code': '+1-876', 'flag': '🇯🇲'}, + {'name': '巴哈马', 'code': '+1-242', 'flag': '🇧🇸'}, + {'name': '巴布亚新几内亚', 'code': '+675', 'flag': '🇵🇬'}, + {'name': '萨摩亚', 'code': '+685', 'flag': '🇼🇸'}, +]; diff --git a/lib/modules/login/controllers/login_controller.dart b/lib/modules/login/controllers/login_controller.dart index 066922dbf..5c432d9be 100644 --- a/lib/modules/login/controllers/login_controller.dart +++ b/lib/modules/login/controllers/login_controller.dart @@ -21,6 +21,7 @@ import '../../../../data/models/user_Info.dart'; import '../../../data/models/channel_app_model.dart'; import '../../../data/services/version_update_service.dart'; import '../../../modules/common/widgets/privacy_policy_dialog.dart'; +import '../constants/country_codes.dart'; enum LoginViewState { welcome, // 欢迎页面 @@ -42,7 +43,7 @@ class LoginController extends GetxController { UserChannel _userChannel = UserChannel.OFFICIAL; // 默认渠道 final isChinaMainland = false.obs; //是否中国大陆地区 - final _hasAcceptedPrivacy = false.obs; + final _hasAcceptedPrivacy = false.obs; //是否同意隐私政策 bool get hasAcceptedPrivacy => _hasAcceptedPrivacy.value; set hasAcceptedPrivacy(bool value) => _hasAcceptedPrivacy.value = value; @@ -53,131 +54,7 @@ class LoginController extends GetxController { String get selectedCountryCode => _selectedCountryCode.value; String get selectedCountryFlag => _selectedCountryFlag.value; // 预设国家编码列表 - final List> countryCodes = [ - {'name': '邮箱', 'code': '', 'flag': '✉️'}, // 保持首位 - {'name': '中国', 'code': '+86', 'flag': '🇨🇳'}, // 保持第二位 - - // 按国家代码数字升序排列(去除+号后排序) - {'name': '美国', 'code': '+1', 'flag': '🇺🇸'}, - {'name': '加拿大', 'code': '+1', 'flag': '🇨🇦'}, - {'name': '俄罗斯', 'code': '+7', 'flag': '🇷🇺'}, - {'name': '英国', 'code': '+44', 'flag': '🇬🇧'}, - {'name': '德国', 'code': '+49', 'flag': '🇩🇪'}, - {'name': '意大利', 'code': '+39', 'flag': '🇮🇹'}, - {'name': '法国', 'code': '+33', 'flag': '🇫🇷'}, - {'name': '西班牙', 'code': '+34', 'flag': '🇪🇸'}, - {'name': '南非', 'code': '+27', 'flag': '🇿🇦'}, - {'name': '沙特阿拉伯', 'code': '+966', 'flag': '🇸🇦'}, - {'name': '土耳其', 'code': '+90', 'flag': '🇹🇷'}, - {'name': '日本', 'code': '+81', 'flag': '🇯🇵'}, - {'name': '韩国', 'code': '+82', 'flag': '🇰🇷'}, - {'name': '新加坡', 'code': '+65', 'flag': '🇸🇬'}, - {'name': '马来西亚', 'code': '+60', 'flag': '🇲🇾'}, - {'name': '泰国', 'code': '+66', 'flag': '🇹🇭'}, - {'name': '越南', 'code': '+84', 'flag': '🇻🇳'}, - {'name': '印度', 'code': '+91', 'flag': '🇮🇳'}, - {'name': '巴基斯坦', 'code': '+92', 'flag': '🇵🇰'}, - {'name': '菲律宾', 'code': '+63', 'flag': '🇵🇭'}, - {'name': '印度尼西亚', 'code': '+62', 'flag': '🇮🇩'}, - {'name': '阿联酋', 'code': '+971', 'flag': '🇦🇪'}, - {'name': '墨西哥', 'code': '+52', 'flag': '🇲🇽'}, - {'name': '巴西', 'code': '+55', 'flag': '🇧🇷'}, - {'name': '阿根廷', 'code': '+54', 'flag': '🇦🇷'}, - {'name': '澳大利亚', 'code': '+61', 'flag': '🇦🇺'}, - {'name': '新西兰', 'code': '+64', 'flag': '🇳🇿'}, - - // 中国地区(保持最后) - {'name': '中国香港', 'code': '+852', 'flag': '🇭🇰'}, - {'name': '中国澳门', 'code': '+853', 'flag': '🇲🇴'}, - {'name': '中国台湾', 'code': '+886', 'flag': '🇹🇼'}, - - // 添加的其他主要国家 - {'name': '埃及', 'code': '+20', 'flag': '🇪🇬'}, - {'name': '希腊', 'code': '+30', 'flag': '🇬🇷'}, - {'name': '荷兰', 'code': '+31', 'flag': '🇳🇱'}, - {'name': '比利时', 'code': '+32', 'flag': '🇧🇪'}, - {'name': '匈牙利', 'code': '+36', 'flag': '🇭🇺'}, - {'name': '罗马尼亚', 'code': '+40', 'flag': '🇷🇴'}, - {'name': '瑞士', 'code': '+41', 'flag': '🇨🇭'}, - {'name': '奥地利', 'code': '+43', 'flag': '🇦🇹'}, - {'name': '丹麦', 'code': '+45', 'flag': '🇩🇰'}, - {'name': '瑞典', 'code': '+46', 'flag': '🇸🇪'}, - {'name': '挪威', 'code': '+47', 'flag': '🇳🇴'}, - {'name': '波兰', 'code': '+48', 'flag': '🇵🇱'}, - {'name': '秘鲁', 'code': '+51', 'flag': '🇵🇪'}, - {'name': '智利', 'code': '+56', 'flag': '🇨🇱'}, - {'name': '哥伦比亚', 'code': '+57', 'flag': '🇨🇴'}, - {'name': '委内瑞拉', 'code': '+58', 'flag': '🇻🇪'}, - {'name': '葡萄牙', 'code': '+351', 'flag': '🇵🇹'}, - {'name': '卢森堡', 'code': '+352', 'flag': '🇱🇺'}, - {'name': '爱尔兰', 'code': '+353', 'flag': '🇮🇪'}, - {'name': '冰岛', 'code': '+354', 'flag': '🇮🇸'}, - {'name': '阿尔巴尼亚', 'code': '+355', 'flag': '🇦🇱'}, - {'name': '马耳他', 'code': '+356', 'flag': '🇲🇹'}, - {'name': '塞浦路斯', 'code': '+357', 'flag': '🇨🇾'}, - {'name': '芬兰', 'code': '+358', 'flag': '🇫🇮'}, - {'name': '保加利亚', 'code': '+359', 'flag': '🇧🇬'}, - {'name': '立陶宛', 'code': '+370', 'flag': '🇱🇹'}, - {'name': '拉脱维亚', 'code': '+371', 'flag': '🇱🇻'}, - {'name': '爱沙尼亚', 'code': '+372', 'flag': '🇪🇪'}, - {'name': '乌克兰', 'code': '+380', 'flag': '🇺🇦'}, - {'name': '塞尔维亚', 'code': '+381', 'flag': '🇷🇸'}, - {'name': '克罗地亚', 'code': '+385', 'flag': '🇭🇷'}, - {'name': '斯洛文尼亚', 'code': '+386', 'flag': '🇸🇮'}, - {'name': '捷克', 'code': '+420', 'flag': '🇨🇿'}, - {'name': '斯洛伐克', 'code': '+421', 'flag': '🇸🇰'}, - {'name': '危地马拉', 'code': '+502', 'flag': '🇬🇹'}, - {'name': '萨尔瓦多', 'code': '+503', 'flag': '🇸🇻'}, - {'name': '洪都拉斯', 'code': '+504', 'flag': '🇭🇳'}, - {'name': '尼加拉瓜', 'code': '+505', 'flag': '🇳🇮'}, - {'name': '哥斯达黎加', 'code': '+506', 'flag': '🇨🇷'}, - {'name': '巴拿马', 'code': '+507', 'flag': '🇵🇦'}, - {'name': '海地', 'code': '+509', 'flag': '🇭🇹'}, - {'name': '玻利维亚', 'code': '+591', 'flag': '🇧🇴'}, - {'name': '厄瓜多尔', 'code': '+593', 'flag': '🇪🇨'}, - {'name': '巴拉圭', 'code': '+595', 'flag': '🇵🇾'}, - {'name': '乌拉圭', 'code': '+598', 'flag': '🇺🇾'}, - {'name': '摩洛哥', 'code': '+212', 'flag': '🇲🇦'}, - {'name': '阿尔及利亚', 'code': '+213', 'flag': '🇩🇿'}, - {'name': '突尼斯', 'code': '+216', 'flag': '🇹🇳'}, - {'name': '尼日利亚', 'code': '+234', 'flag': '🇳🇬'}, - {'name': '加纳', 'code': '+233', 'flag': '🇬🇭'}, - {'name': '埃塞俄比亚', 'code': '+251', 'flag': '🇪🇹'}, - {'name': '肯尼亚', 'code': '+254', 'flag': '🇰🇪'}, - {'name': '坦桑尼亚', 'code': '+255', 'flag': '🇹🇿'}, - {'name': '乌干达', 'code': '+256', 'flag': '🇺🇬'}, - {'name': '孟加拉国', 'code': '+880', 'flag': '🇧🇩'}, - {'name': '以色列', 'code': '+972', 'flag': '🇮🇱'}, - {'name': '黎巴嫩', 'code': '+961', 'flag': '🇱🇧'}, - {'name': '约旦', 'code': '+962', 'flag': '🇯🇴'}, - {'name': '伊拉克', 'code': '+964', 'flag': '🇮🇶'}, - {'name': '科威特', 'code': '+965', 'flag': '🇰🇼'}, - {'name': '巴林', 'code': '+973', 'flag': '🇧🇭'}, - {'name': '卡塔尔', 'code': '+974', 'flag': '🇶🇦'}, - {'name': '阿曼', 'code': '+968', 'flag': '🇴🇲'}, - {'name': '阿富汗', 'code': '+93', 'flag': '🇦🇫'}, - {'name': '斯里兰卡', 'code': '+94', 'flag': '🇱🇰'}, - {'name': '缅甸', 'code': '+95', 'flag': '🇲🇲'}, - {'name': '尼泊尔', 'code': '+977', 'flag': '🇳🇵'}, - {'name': '蒙古', 'code': '+976', 'flag': '🇲🇳'}, - {'name': '柬埔寨', 'code': '+855', 'flag': '🇰🇭'}, - {'name': '老挝', 'code': '+856', 'flag': '🇱🇦'}, - {'name': '文莱', 'code': '+673', 'flag': '🇧🇳'}, - {'name': '东帝汶', 'code': '+670', 'flag': '🇹🇱'}, - {'name': '斐济', 'code': '+679', 'flag': '🇫🇯'}, - {'name': '所罗门群岛', 'code': '+677', 'flag': '🇸🇧'}, - {'name': '刚果民主共和国', 'code': '+243', 'flag': '🇨🇩'}, - {'name': '安哥拉', 'code': '+244', 'flag': '🇦🇴'}, - {'name': '苏丹', 'code': '+249', 'flag': '🇸🇩'}, - {'name': '马尔代夫', 'code': '+960', 'flag': '🇲🇻'}, - {'name': '不丹', 'code': '+975', 'flag': '🇧🇹'}, - {'name': '摩纳哥', 'code': '+377', 'flag': '🇲🇨'}, - {'name': '圣马力诺', 'code': '+378', 'flag': '🇸🇲'}, - {'name': '牙买加', 'code': '+1-876', 'flag': '🇯🇲'}, - {'name': '巴哈马', 'code': '+1-242', 'flag': '🇧🇸'}, - {'name': '巴布亚新几内亚', 'code': '+675', 'flag': '🇵🇬'}, - {'name': '萨摩亚', 'code': '+685', 'flag': '🇼🇸'}, - ]; + final List> countryCodes = kCountryCodes; // 初始化默认选择的国家代码 void _initDefaultCountryCode() { @@ -236,7 +113,7 @@ class LoginController extends GetxController { _verificationCodeController = TextEditingController(); isChinaMainland.value = - Get.deviceLocale?.countryCode?.toUpperCase() == 'CN'; + Get.deviceLocale?.countryCode?.toUpperCase() == 'CN'; //是否中国大陆地区 // 初始化默认国家代码 _initDefaultCountryCode(); @@ -304,9 +181,11 @@ class LoginController extends GetxController { _deviceId = androidInfo.id; } else if (GetPlatform.isIOS) { IosDeviceInfo iosInfo = await deviceInfo.iosInfo; + //print('lxm---iosInfo: $iosInfo.toString()'); + _deviceId = iosInfo.identifierForVendor ?? 'unknown'; } - Logger().d('deviceId: $_deviceId'); + Logger().d('lxm--deviceId: $_deviceId'); } catch (e) { Logger().e('获取设备信息失败: $e'); _deviceId = 'unknown';