import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:getx_scaffold/getx_scaffold.dart'; import 'package:ln_jq_app/common/styles/theme.dart'; import 'package:ln_jq_app/storage_service.dart'; class UrlHostController extends GetxController { final TextEditingController urlController = TextEditingController(); // 预设的域名列表 final List presetUrls = [ 'https://beta-esg.api.lnh2e.com/', // 测试环境 'http://192.168.110.44:8080/', // 沈辰本地 'http://192.168.110.222:8080/', // 何斐本地 ]; final List urlNames = [ '测试环境', '沈辰本地环境', '何斐本地环境', ]; @override void onInit() { super.onInit(); // 初始化时,尝试从 StorageService 获取已保存的域名 // 如果没有保存过,则使用当前的全局配置 String? savedUrl = StorageService.to.hostUrl; if (savedUrl != null && savedUrl.isNotEmpty) { urlController.text = savedUrl; } else { urlController.text = AppTheme.test_service_url; } } /// 当用户点击列表中的某一项时,将其填入编辑框 void selectUrl(String url) { urlController.text = url; } /// 保存配置并关闭页面 void saveAndExit() async { String newUrl = urlController.text.trim(); if (newUrl.isEmpty) { showToast('请输入有效的域名'); return; } // 保存到本地存储,以便下次启动时加载 await StorageService.to.saveHostUrl(newUrl); AppTheme.test_service_url = newUrl; //设置框架 HttpService.to.setBaseUrl(AppTheme.test_service_url); showSuccessToast('域名已更新:${AppTheme.test_service_url}'); Get.back(); } @override void onClose() { urlController.dispose(); super.onClose(); } }