Files
AntSK/Xzy.KnowledgeBase/Services/ChartService.cs
2024-02-01 23:12:53 +08:00

51 lines
1.3 KiB
C#

using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;
using Xzy.KnowledgeBase.Models;
namespace Xzy.KnowledgeBase.Services
{
public interface IChartService
{
Task<ChartDataItem[]> GetVisitDataAsync();
Task<ChartDataItem[]> GetVisitData2Async();
Task<ChartDataItem[]> GetSalesDataAsync();
Task<RadarDataItem[]> GetRadarDataAsync();
}
public class ChartService : IChartService
{
private readonly HttpClient _httpClient;
public ChartService(HttpClient httpClient)
{
_httpClient = httpClient;
}
public async Task<ChartDataItem[]> GetVisitDataAsync()
{
return (await GetChartDataAsync()).VisitData;
}
public async Task<ChartDataItem[]> GetVisitData2Async()
{
return (await GetChartDataAsync()).VisitData2;
}
public async Task<ChartDataItem[]> GetSalesDataAsync()
{
return (await GetChartDataAsync()).SalesData;
}
public async Task<RadarDataItem[]> GetRadarDataAsync()
{
return (await GetChartDataAsync()).RadarData;
}
private async Task<ChartData> GetChartDataAsync()
{
return await _httpClient.GetFromJsonAsync<ChartData>("data/fake_chart_data.json");
}
}
}