This commit is contained in:
wyf
2025-08-14 09:52:10 +08:00
parent 5e9111ca41
commit bc4a07c4fa
21 changed files with 394 additions and 86 deletions

View File

@@ -7,8 +7,12 @@ import 'package:geocoding/geocoding.dart';
import 'package:geolocator/geolocator.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:path/path.dart';
import 'package:vbvs_app/common/color/appConstants.dart';
import 'package:vbvs_app/common/util/CommonVariables.dart';
import 'package:vbvs_app/common/util/MyUtils.dart';
import 'package:vbvs_app/controller/setting/language/language_controller.dart';
import 'package:vbvs_app/controller/user_info_controller.dart';
import 'package:vbvs_app/enum/APPPackageType.dart';
import 'package:vbvs_app/pages/common/selectDialog.dart';
import 'package:weather/weather.dart';
@@ -77,14 +81,25 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
// 获取当前位置并存储到 model
Future<void> _getCurrentLocation() async {
try {
UserInfoController userInfoController = Get.find();
if (userInfoController.model.login == null ||
userInfoController.model.login != 1) {
return;
}
Position position = await determinePosition();
if (position == null) {
throw Exception("获取位置失败");
}
String? language = "zh_CN";
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
if (AppConstants().ent_type == APPPackageType.MHT.code) {
if (mhLanguageController.selectLanguage != null) {
language = mhLanguageController.selectLanguage.value!.language_code;
}
} else {
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
}
List<Placemark> placemarks = [];
// placemarks = await placemarkFromCoordinates(position.latitude, position.longitude,
@@ -117,9 +132,9 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
if (!serviceEnabled) {
return Future.error('位置服务未启用');
}
try {
showPermissionInfoDialog(Get.context!, CommonVariables().permissionInfo);
showPermissionInfoDialog(
Get.context!, CommonVariables().locationpermissionInfo);
} catch (e) {
ef.log("$e");
}
@@ -135,9 +150,9 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
Navigator.of(Get.context!, rootNavigator: true).pop();
}
if (permission == LocationPermission.denied) {
return Future.error('位置权限被拒绝');
}
if (permission == LocationPermission.denied) {
return Future.error('位置权限被拒绝');
}
if (permission == LocationPermission.deniedForever) {
return Future.error('位置权限被永久拒绝');
@@ -173,8 +188,14 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
try {
weatherFactory.language = Language.CHINESE_SIMPLIFIED;
String? language = "zh_CN";
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
if (AppConstants().ent_type == APPPackageType.MHT.code) {
if (mhLanguageController.selectLanguage != null) {
language = mhLanguageController.selectLanguage.value!.language_code;
}
} else {
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
}
if (language == "zh_CN") {
weatherFactory.language = Language.CHINESE_SIMPLIFIED;