fix: wpf开始唤醒任务在未选择官服/B服时,不再提供账号切换输入

This commit is contained in:
status102
2025-03-05 21:35:53 +08:00
parent 4da5f58eff
commit c2dfe33d7f
3 changed files with 28 additions and 10 deletions

View File

@@ -1541,13 +1541,7 @@ namespace MaaWpfGui.ViewModels.UI
private static bool AppendStart()
{
var clientType = SettingsViewModel.GameSettings.ClientType;
var (type, param) = new AsstStartUpTask()
{
ClientType = clientType,
StartGame = !string.IsNullOrEmpty(clientType),
AccountName = StartUpTask.AccountName,
}.Serialize();
var (type, param) = StartUpTask.Serialize();
return Instances.AsstProxy.AsstAppendTaskWithEncoding(AsstProxy.TaskType.StartUp, type, param);
}

View File

@@ -14,6 +14,9 @@
using MaaWpfGui.Constants;
using MaaWpfGui.Helper;
using MaaWpfGui.Main;
using MaaWpfGui.Models.AsstTasks;
using MaaWpfGui.Services;
using MaaWpfGui.ViewModels.UI;
using Newtonsoft.Json.Linq;
namespace MaaWpfGui.ViewModels.UserControl.TaskQueue;
@@ -54,4 +57,23 @@ public class StartUpSettingsUserControlModel : TaskViewModel
Instances.TaskQueueViewModel.AddLog(LocalizationHelper.GetString("AccountSwitch") + $" -->> {details["details"]!["account_name"]}", UiLogColor.Info); // subTaskDetails!["current_account"]
}
}
public override (AsstTaskType Type, JObject Params) Serialize()
{
var clientType = SettingsViewModel.GameSettings.ClientType;
var accountName = clientType switch
{
"Official" or "Bilibili" => AccountName,
_ => string.Empty,
};
var task = new AsstStartUpTask()
{
ClientType = clientType,
StartGame = !string.IsNullOrEmpty(clientType),
AccountName = accountName,
};
return task.Serialize();
}
}

View File

@@ -19,14 +19,15 @@
s:View.ActionTarget="{Binding}"
mc:Ignorable="d">
<StackPanel>
<Grid Margin="0,5" Visibility="{c:Binding 'ClientType == &quot;Official&quot; or ClientType == &quot;Bilibili&quot; or ClientType == &quot;&quot;', Source={x:Static ui:SettingsViewModel.GameSettings}}">
<Grid Margin="0,5" Visibility="{c:Binding 'ClientType == &quot;Official&quot; or ClientType == &quot;Bilibili&quot;', Source={x:Static ui:SettingsViewModel.GameSettings}}">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<hc:TextBox
hc:TitleElement.Title="{DynamicResource AccountSwitch}"
IsReadOnly="{c:Binding !Idle, Source={x:Static helper:Instances.SettingsViewModel}}"
IsReadOnly="{c:Binding !Idle,
Source={x:Static helper:Instances.SettingsViewModel}}"
Style="{StaticResource TextBoxExtend}"
Text="{Binding AccountName, UpdateSourceTrigger=PropertyChanged}"
ToolTip="{DynamicResource AccountSwitchTip}" />
@@ -135,7 +136,8 @@
SelectedValue="{Binding ClientType, Source={x:Static ui:SettingsViewModel.GameSettings}}"
SelectedValuePath="Value"
Style="{StaticResource ComboBoxExtend}"
Visibility="{c:Binding !TaskSettingVisibilities.Guide, Source={x:Static helper:Instances.SettingsViewModel}}" />
Visibility="{c:Binding !TaskSettingVisibilities.Guide,
Source={x:Static helper:Instances.SettingsViewModel}}" />
</StackPanel>
</UserControl>