|
|
@ -1,7 +1,65 @@ |
|
|
import 'dio_manager.dart'; |
|
|
import 'dio_manager.dart'; |
|
|
import 'nw_method.dart'; |
|
|
import 'nw_method.dart'; |
|
|
|
|
|
import 'package:get/get.dart'; |
|
|
|
|
|
|
|
|
class Api { |
|
|
class Api { |
|
|
|
|
|
static String _normalizeTemplateLanguageTag(String value) { |
|
|
|
|
|
final normalized = value.trim().replaceAll('_', '-'); |
|
|
|
|
|
if (normalized.isEmpty) { |
|
|
|
|
|
return 'en-US'; |
|
|
|
|
|
} |
|
|
|
|
|
final parts = normalized.split('-').where((e) => e.isNotEmpty).toList(); |
|
|
|
|
|
if (parts.isEmpty) { |
|
|
|
|
|
return 'en-US'; |
|
|
|
|
|
} |
|
|
|
|
|
if (parts.length == 1) { |
|
|
|
|
|
return parts.first.toLowerCase(); |
|
|
|
|
|
} |
|
|
|
|
|
return '${parts[0].toLowerCase()}-${parts[1].toUpperCase()}'; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static String _currentTemplateLanguageParam() { |
|
|
|
|
|
final locale = Get.locale ?? Get.deviceLocale; |
|
|
|
|
|
final languageCode = locale?.languageCode.toLowerCase(); |
|
|
|
|
|
if (languageCode == null || languageCode.isEmpty) { |
|
|
|
|
|
return 'en-US'; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
final countryCode = locale?.countryCode?.toUpperCase(); |
|
|
|
|
|
if (countryCode != null && countryCode.isNotEmpty) { |
|
|
|
|
|
return '$languageCode-$countryCode'; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
switch (languageCode) { |
|
|
|
|
|
case 'zh': |
|
|
|
|
|
return 'zh-CN'; |
|
|
|
|
|
case 'en': |
|
|
|
|
|
return 'en-US'; |
|
|
|
|
|
case 'ja': |
|
|
|
|
|
return 'ja-JP'; |
|
|
|
|
|
case 'ko': |
|
|
|
|
|
return 'ko-KR'; |
|
|
|
|
|
case 'fr': |
|
|
|
|
|
return 'fr-FR'; |
|
|
|
|
|
case 'de': |
|
|
|
|
|
return 'de-DE'; |
|
|
|
|
|
case 'es': |
|
|
|
|
|
return 'es-ES'; |
|
|
|
|
|
case 'it': |
|
|
|
|
|
return 'it-IT'; |
|
|
|
|
|
case 'pt': |
|
|
|
|
|
return 'pt-BR'; |
|
|
|
|
|
case 'ru': |
|
|
|
|
|
return 'ru-RU'; |
|
|
|
|
|
case 'ar': |
|
|
|
|
|
return 'ar-SA'; |
|
|
|
|
|
case 'hi': |
|
|
|
|
|
return 'hi-IN'; |
|
|
|
|
|
default: |
|
|
|
|
|
return 'en-US'; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 登录 |
|
|
// 登录 |
|
|
static login([params]) { |
|
|
static login([params]) { |
|
|
return DioManager().request( |
|
|
return DioManager().request( |
|
|
@ -209,11 +267,18 @@ class Api { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//获取模版数据 |
|
|
//获取模版数据 |
|
|
static getEchomeetTemplates([params]) { |
|
|
static getEchomeetTemplates([dynamic params, String? language]) { |
|
|
|
|
|
final resolvedLanguage = _normalizeTemplateLanguageTag( |
|
|
|
|
|
language ?? _currentTemplateLanguageParam()); |
|
|
|
|
|
final Map<String, dynamic> data = {}; |
|
|
|
|
|
if (params is Map) { |
|
|
|
|
|
data.addAll(Map<String, dynamic>.from(params)); |
|
|
|
|
|
} |
|
|
|
|
|
data['language'] = resolvedLanguage; |
|
|
return DioManager().request( |
|
|
return DioManager().request( |
|
|
NWMethod.post, |
|
|
NWMethod.post, |
|
|
'/api/home/echomeet_gettemplates', |
|
|
'/api/home/echomeet_gettemplates', |
|
|
params: params, |
|
|
params: data, |
|
|
); |
|
|
); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|