feat: 优化UI

This commit is contained in:
GukSang.Jin
2026-02-26 11:30:31 +08:00
parent 4bb18d3c4a
commit 28ded026a2
10 changed files with 1349 additions and 557 deletions

View File

@@ -65,6 +65,12 @@ public partial class MainViewModel : ObservableObject
[ObservableProperty]
private ObservableCollection<WashStep> _washSteps = new();
[ObservableProperty]
private double _waterTemperature = 40.0;
[ObservableProperty]
private double _roomTemperature = 25.0;
public MainViewModel()
{
_config = new ConfigurationService();
@@ -141,6 +147,15 @@ public partial class MainViewModel : ObservableObject
_logger.LogInfo("切换到支付界面");
}
[RelayCommand]
private void ShowSettings()
{
CurrentView = "Settings";
ViewChanged?.Invoke("Settings");
StatusMessage = "系统设置";
_logger.LogInfo("切换到设置界面");
}
[RelayCommand]
private void BackToIdle()
{
@@ -370,6 +385,9 @@ public partial class MainViewModel : ObservableObject
int seconds = remaining % 60;
RemainingTime = $"{minutes:D2}:{seconds:D2}";
// 模拟温度变化
UpdateTemperatures(stepName, i, duration);
await Task.Delay(100); // 加速模拟实际应为1000ms
}
}
@@ -474,4 +492,52 @@ public partial class MainViewModel : ObservableObject
}
});
}
private void UpdateTemperatures(string stepName, int currentTime, int totalTime)
{
// 根据不同步骤模拟温度变化
var random = new Random();
double progress = (double)currentTime / totalTime;
switch (stepName)
{
case "第一次冲水":
case "第二次冲水":
case "第三次冲水":
// 冲水阶段水温在38-42度之间波动
WaterTemperature = 40.0 + (random.NextDouble() - 0.5) * 4;
RoomTemperature = 25.0 + (random.NextDouble() - 0.5) * 2;
break;
case "沐浴露喷洒":
case "香波喷洒":
// 喷洒阶段:水温略低
WaterTemperature = 38.0 + (random.NextDouble() - 0.5) * 2;
RoomTemperature = 25.0 + (random.NextDouble() - 0.5) * 2;
break;
case "热风吹毛":
// 热风阶段:水温降低,室温升高
WaterTemperature = 35.0 - progress * 10 + (random.NextDouble() - 0.5) * 2;
RoomTemperature = 25.0 + progress * 8 + (random.NextDouble() - 0.5) * 2;
break;
case "冷热风混合":
// 混合风阶段:温度逐渐降低
WaterTemperature = 25.0 + (random.NextDouble() - 0.5) * 2;
RoomTemperature = 30.0 - progress * 5 + (random.NextDouble() - 0.5) * 2;
break;
default:
// 默认温度
WaterTemperature = 40.0 + (random.NextDouble() - 0.5) * 2;
RoomTemperature = 25.0 + (random.NextDouble() - 0.5) * 2;
break;
}
// 确保温度在合理范围内
WaterTemperature = Math.Max(20, Math.Min(45, WaterTemperature));
RoomTemperature = Math.Max(20, Math.Min(35, RoomTemperature));
}
}