feat: 更新流程
This commit is contained in:
@@ -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("返回待机界面");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user