@page "/" @using Frontend.Models @using Katheryne.Abstractions @inject IServiceProvider ServiceProvider
@if (context.Selected) {

@context.Title

} else {

@context.Title

}
@code { private readonly Dictionary _chatDictionary = new(); private Guid _currentGuid; protected override void OnInitialized() { Chat chat = GetInitChat(); _chatDictionary.Add(chat.Guid, chat); _currentGuid = chat.Guid; } private void CreateChatClicked() { Chat chat = GetInitChat(); _chatDictionary.Add(chat.Guid, chat); _chatDictionary[_currentGuid].Selected = false; _currentGuid = chat.Guid; _chatDictionary[_currentGuid].Selected = true; } private void ChangeChatClicked(Guid guid) { _chatDictionary[_currentGuid].Selected = false; _currentGuid = guid; _chatDictionary[_currentGuid].Selected = true; } private Chat GetInitChat() { var chat = new Chat { Title = $"对话:{_chatDictionary.Count + 1}", Robot = ServiceProvider.GetRequiredService() }; foreach (string answer in chat.Robot.OnChatStart()) { chat.Messages.Add(new ChatMessage { Sender = chat.Robot.RobotName, Left = true, Text = answer }); } chat.Selected = true; return chat; } }