From 8398bd4fd34b5b8687af03088e665b5b2b20632a Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Wed, 13 May 2026 18:13:09 +0800 Subject: [PATCH] =?UTF-8?q?fix(global):=20App=20=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E6=97=B6=E6=81=A2=E5=A4=8D=E6=9C=AC=E5=9C=B0=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E7=9A=84=E7=8E=AF=E5=A2=83=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SpTool 新增 baseUrl 属性,统一管理环境地址的持久化读写 - EnvSwitchDialog 改用 SpTool.baseUrl 保存,移除直接调用 SpTool.put - BaseApp.onCreate 启动时读取 SpTool.baseUrl 并赋值给 GlobalData.appBaseUrl Co-Authored-By: Claude Sonnet 4.6 --- app/src/main/java/com/shuwei/dish/match/base/BaseApp.kt | 6 ++++++ .../java/com/shuwei/dish/match/dialog/EnvSwitchDialog.kt | 3 +-- app/src/main/java/com/shuwei/dish/match/utils/SpTool.kt | 8 ++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/shuwei/dish/match/base/BaseApp.kt b/app/src/main/java/com/shuwei/dish/match/base/BaseApp.kt index 0e208d0..e4040fd 100644 --- a/app/src/main/java/com/shuwei/dish/match/base/BaseApp.kt +++ b/app/src/main/java/com/shuwei/dish/match/base/BaseApp.kt @@ -12,6 +12,7 @@ import com.shuwei.dish.match.objbox.ObjectBox import com.shuwei.dish.match.scale.ScaleDeviceConfig import com.shuwei.dish.match.scale.ScaleServiceManager import com.shuwei.dish.match.utils.AppUtil +import com.shuwei.dish.match.utils.SpTool import com.shuwei.dish.match.utils.BootReceiver import com.shuwei.dish.match.utils.CrashHandler import com.shuwei.dish.match.utils.Weigher2 @@ -31,6 +32,11 @@ class BaseApp : Application() { super.onCreate() // Set the application instance instance = this + // 读取本地保存的环境地址,覆盖默认值 + val savedBaseUrl = SpTool.baseUrl + if (savedBaseUrl.isNotEmpty()) { + GlobalData.appBaseUrl = savedBaseUrl + } // Initialize crash handler for error tracking CrashHandler.init(this) // Get and store the unique device ID diff --git a/app/src/main/java/com/shuwei/dish/match/dialog/EnvSwitchDialog.kt b/app/src/main/java/com/shuwei/dish/match/dialog/EnvSwitchDialog.kt index 2bb726c..0417b64 100644 --- a/app/src/main/java/com/shuwei/dish/match/dialog/EnvSwitchDialog.kt +++ b/app/src/main/java/com/shuwei/dish/match/dialog/EnvSwitchDialog.kt @@ -4,7 +4,6 @@ import android.content.Context import android.view.LayoutInflater import android.view.View import com.shuwei.dish.match.base.GlobalData -import com.shuwei.dish.match.base.GlobalKey import com.shuwei.dish.match.databinding.DialogEnvSwitchContentBinding import com.shuwei.dish.match.utils.SpTool import com.shuwei.dish.match.utils.ext.toast @@ -47,7 +46,7 @@ class EnvSwitchDialog( else -> return@setPositiveButtonInterceptable false } GlobalData.appBaseUrl = newUrl - SpTool.put(GlobalKey.KEY_BASE_URL, newUrl) + SpTool.baseUrl = newUrl onEnvChanged(newUrl) true } diff --git a/app/src/main/java/com/shuwei/dish/match/utils/SpTool.kt b/app/src/main/java/com/shuwei/dish/match/utils/SpTool.kt index 68447c7..e5e5cc0 100644 --- a/app/src/main/java/com/shuwei/dish/match/utils/SpTool.kt +++ b/app/src/main/java/com/shuwei/dish/match/utils/SpTool.kt @@ -1,6 +1,7 @@ package com.shuwei.dish.match.utils import com.shuwei.dish.match.base.BaseApp +import com.shuwei.dish.match.base.GlobalKey import com.shuwei.dish.match.utils.ext.put object SpTool { @@ -46,4 +47,11 @@ object SpTool { set(value) { put(CANTEEN_ID, value) } + + /** 环境 BaseUrl,持久化存储,默认空字符串(空时使用 GlobalData 默认值) */ + var baseUrl: String + get() = getString(GlobalKey.KEY_BASE_URL, "") + set(value) { + put(GlobalKey.KEY_BASE_URL, value) + } } \ No newline at end of file