feat: 更新流程

This commit is contained in:
GukSang.Jin
2026-02-26 14:30:48 +08:00
parent 862a282d77
commit d82f1c50c3
5 changed files with 60 additions and 16 deletions

View File

@@ -53,6 +53,8 @@ public partial class MainViewModel : ObservableObject
[ObservableProperty]
private string _currentView = "Idle";
private string _previousView = "Idle"; // 保存进入设置前的视图
[ObservableProperty]
private int _washProgress;
@@ -192,15 +194,51 @@ public partial class MainViewModel : ObservableObject
[RelayCommand]
private void ShowSettings()
{
// 保存当前视图状态
_previousView = CurrentView;
CurrentView = "Settings";
ViewChanged?.Invoke("Settings");
StatusMessage = "系统设置";
_logger.LogInfo("切换到设置界面");
_logger.LogInfo($"切换到设置界面,之前的视图: {_previousView}");
}
[RelayCommand]
private void BackToIdle()
{
// 如果从设置页面返回,且之前不是待机界面,则返回到之前的视图
if (CurrentView == "Settings" && _previousView != "Idle" && _previousView != "Settings")
{
CurrentView = _previousView;
ViewChanged?.Invoke(_previousView);
// 根据返回的视图设置相应的状态消息
switch (_previousView)
{
case "Washing":
StatusMessage = "洗护进行中...";
_logger.LogInfo("从设置返回到洗护界面");
break;
case "Payment":
StatusMessage = "请选择套餐";
_logger.LogInfo("从设置返回到支付界面");
break;
case "QRCode":
StatusMessage = $"请扫码支付 ¥{SelectedPackage?.Price}";
_logger.LogInfo("从设置返回到二维码支付界面");
break;
default:
StatusMessage = "系统就绪,请点击开始";
_logger.LogInfo("从设置返回到待机界面");
break;
}
// 重置之前的视图状态
_previousView = "Idle";
return;
}
// 默认返回到待机界面
CurrentView = "Idle";
ViewChanged?.Invoke("Idle");
StatusMessage = "系统就绪,请点击开始";
@@ -215,6 +253,7 @@ public partial class MainViewModel : ObservableObject
step.IsActive = false;
}
_previousView = "Idle";
_logger.LogInfo("返回待机界面");
}