fix/feat: 修复数据不稳定弹窗重复弹出 & 新增切换环境功能

fix: FoodRecognizeActivity 数据不稳定时弹窗会重复弹出
- 持有 unstableDialog 引用,通过 isShowing 防止重复弹出

feat: 新增切换环境功能(测试/UAT/生产)
- GlobalData 新增 KEY_BASE_URL,修正 UAT 端口为 8083
- SettingActivity 开发模式下显示「切换环境」入口
- 新增 EnvSwitchDialog 及其布局文件

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-13 17:18:30 +08:00
co-authored by Claude Sonnet 4.6
parent 301f470274
commit 61d11c6a78
7 changed files with 143 additions and 52 deletions
@@ -173,6 +173,38 @@
tools:ignore="ContentDescription" />
</LinearLayout>
<LinearLayout
android:id="@+id/llEnvSwitch"
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_marginHorizontal="32dp"
android:layout_marginTop="50dp"
android:background="@drawable/shape_white_dc_15_corners"
android:clipToOutline="true"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_weight="1"
android:text="切换环境"
android:textColor="@color/black333"
android:textSize="32sp"
android:textStyle="bold" />
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginEnd="20dp"
android:adjustViewBounds="true"
android:src="@drawable/ic_arrow_right3"
tools:ignore="ContentDescription" />
</LinearLayout>
<LinearLayout
android:id="@+id/llClearData"
android:layout_width="match_parent"
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 环境切换弹窗内容区:RadioGroup 包含 TEST / UAT / PROD 三个选项 -->
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rgEnv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="8dp"
android:paddingBottom="8dp">
<RadioButton
android:id="@+id/rbTest"
android:layout_width="match_parent"
android:layout_height="80dp"
android:paddingHorizontal="30dp"
android:text="本地环境"
android:textColor="@color/black333"
android:textSize="26sp" />
<RadioButton
android:id="@+id/rbUat"
android:layout_width="match_parent"
android:layout_height="80dp"
android:paddingHorizontal="30dp"
android:text="测试环境"
android:textColor="@color/black333"
android:textSize="26sp" />
<RadioButton
android:id="@+id/rbProd"
android:layout_width="match_parent"
android:layout_height="80dp"
android:paddingHorizontal="30dp"
android:text="生产环境"
android:textColor="@color/black333"
android:textSize="26sp" />
</RadioGroup>