add chathistory to localstorage

This commit is contained in:
zeyu xu
2024-03-30 22:39:26 +08:00
parent 769de2e526
commit 04acaa9b12
3 changed files with 18 additions and 3 deletions

View File

@@ -11,6 +11,7 @@
<PackageReference Include="AntDesign.Charts" Version="0.5.1" />
<PackageReference Include="AntDesign.ProLayout" Version="0.18.1" />
<PackageReference Include="BlazorComponents.Terminal" Version="0.6.0" />
<PackageReference Include="Blazored.LocalStorage" Version="4.5.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />

View File

@@ -4,10 +4,12 @@ using AntSK.Domain.Domain.Model;
using AntSK.Domain.Domain.Model.Dto;
using AntSK.Domain.Repositories;
using AntSK.Domain.Utils;
using Blazored.LocalStorage;
using Markdig;
using Microsoft.AspNetCore.Components;
using Microsoft.JSInterop;
using Microsoft.SemanticKernel.ChatCompletion;
using Newtonsoft.Json;
namespace AntSK.Pages.ChatPage.Components
{
@@ -29,6 +31,7 @@ namespace AntSK.Pages.ChatPage.Components
[Inject] IConfirmService _confirmService { get; set; }
[Inject] IChatService _chatService { get; set; }
[Inject] IJSRuntime _JSRuntime { get; set; }
[Inject] ILocalStorageService _localStorage { get; set; }
protected List<MessageInfo> MessageList = [];
protected string? _messageInput;
@@ -44,15 +47,20 @@ namespace AntSK.Pages.ChatPage.Components
protected override async Task OnInitializedAsync()
{
await base.OnInitializedAsync();
await LoadApp();
await LoadData();
var msgs = await _localStorage.GetItemAsync<List<MessageInfo>>("msgs");
if (msgs != null && msgs.Count > 0)
{
MessageList = msgs;
}
}
protected override async Task OnParametersSetAsync()
{
await LoadApp();
await LoadData();
}
private async Task LoadApp()
private async Task LoadData()
{
app =await _apps_Repositories.GetFirstAsync(p => p.Id == AppId);
}
@@ -67,6 +75,7 @@ namespace AntSK.Pages.ChatPage.Components
if (result == ConfirmResult.Yes)
{
MessageList.Clear();
await _localStorage.SetItemAsync<List<MessageInfo>>("msgs", MessageList);
_ = Message.Info("清理成功");
}
}
@@ -99,6 +108,8 @@ namespace AntSK.Pages.ChatPage.Components
await SendAsync(_messageInput,filePath);
_messageInput = "";
Sendding = false;
await _localStorage.SetItemAsync<List<MessageInfo>>("msgs", MessageList);
}
catch (System.Exception ex)
{

View File

@@ -9,6 +9,7 @@ using AntSK.Domain.Repositories;
using AntSK.Domain.Utils;
using AntSK.plugins.Functions;
using AntSK.Services.Auth;
using Blazored.LocalStorage;
using LLama.Native;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Authorization;
@@ -48,6 +49,8 @@ builder.Services.AddServicesFromAssemblies("AntSK.Domain");
builder.Services.AddSingleton(sp => new FunctionService(sp, [typeof(AntSK.App).Assembly]));
builder.Services.AddScoped<FunctionTest>();
builder.Services.AddAntSKSwagger();
builder.Services.AddBlazoredLocalStorage(config =>
config.JsonSerializerOptions.WriteIndented = true);
//Mapper
builder.Services.AddMapper();
//后台队列任务