fix: 对app进行瘦身
This commit is contained in:
@@ -5,12 +5,10 @@ import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:flutter_map/flutter_map.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:kaer_with_panels/app/common/app_run_data.dart';
|
||||
|
||||
import 'package:kaer_with_panels/app/services/kr_subscribe_service.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
import '../../../../singbox/model/singbox_proxy_type.dart';
|
||||
import '../../../../singbox/model/singbox_status.dart';
|
||||
import '../../../common/app_config.dart';
|
||||
@@ -47,8 +45,6 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
|
||||
/// 订阅服务
|
||||
final KRSubscribeService kr_subscribeService = KRSubscribeService();
|
||||
|
||||
// 修改地图控制器为可空类型
|
||||
MapController kr_mapController = MapController();
|
||||
|
||||
/// 当前视图状态,登录状态
|
||||
final Rx<KRHomeViewsStatus> kr_currentViewStatus =
|
||||
@@ -130,7 +126,7 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
|
||||
final kr_isUserMoving = false.obs;
|
||||
|
||||
// 添加最后的地图中心点
|
||||
final kr_lastMapCenter = LatLng(35.0, 105.0).obs;
|
||||
final kr_lastMapCenter = 0.obs;
|
||||
|
||||
// 为"闪连"Checkbox添加一个响应式变量,默认为 false
|
||||
final isQuickConnectEnabled = false.obs;
|
||||
@@ -2052,46 +2048,19 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
|
||||
|
||||
// 移动到选中节点
|
||||
void kr_moveToSelectedNode() {
|
||||
try {
|
||||
if (kr_cutSeletedTag.isEmpty) return;
|
||||
|
||||
final selectedNode = kr_subscribeService.keyList[kr_cutSeletedTag.value];
|
||||
if (selectedNode == null) return;
|
||||
|
||||
final location = LatLng(selectedNode.latitude, selectedNode.longitude);
|
||||
kr_moveToLocation(location);
|
||||
} catch (e) {
|
||||
KRLogUtil.kr_e('移动到选中节点失败: $e', tag: 'HomeController');
|
||||
}
|
||||
}
|
||||
|
||||
// 简化移动地图方法
|
||||
void kr_moveToLocation(LatLng location, [double zoom = 5.0]) {
|
||||
void kr_moveToLocation() {
|
||||
try {
|
||||
// 🔧 关键修复:约束坐标到有效范围,防止超出地图边界
|
||||
final constrainedLocation = _constrainCoordinates(location);
|
||||
kr_mapController.move(constrainedLocation, zoom);
|
||||
kr_isUserMoving.value = false;
|
||||
} catch (e) {
|
||||
KRLogUtil.kr_e('移动地图失败: $e', tag: 'HomeController');
|
||||
}
|
||||
}
|
||||
|
||||
/// 🔧 新增:约束坐标到有效范围内
|
||||
/// 确保坐标在 [-85, 85] 纬度和 [-180, 180] 经度范围内
|
||||
LatLng _constrainCoordinates(LatLng coords) {
|
||||
double lat = coords.latitude.clamp(-85.0, 85.0);
|
||||
double lng = coords.longitude.clamp(-180.0, 180.0);
|
||||
|
||||
if (lat != coords.latitude || lng != coords.longitude) {
|
||||
KRLogUtil.kr_w(
|
||||
'⚠️ 坐标超出范围,已约束: (${coords.latitude}, ${coords.longitude}) → ($lat, $lng)',
|
||||
tag: 'HomeController');
|
||||
}
|
||||
|
||||
return LatLng(lat, lng);
|
||||
}
|
||||
|
||||
// 添加一个方法来批量更新标记
|
||||
void kr_updateMarkers(List<String> tags) {
|
||||
// 使用Set来去重
|
||||
|
||||
Reference in New Issue
Block a user