mirror of
https://jihulab.com/DGP-Studio/Snap.Hutao.git
synced 2025-11-19 21:02:53 +08:00
fix build
This commit is contained in:
@@ -24,51 +24,52 @@ internal sealed partial class HutaoSpiralAbyssService : IHutaoSpiralAbyssService
|
||||
private readonly IMemoryCache memoryCache;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public ValueTask<Overview> GetOverviewAsync()
|
||||
public ValueTask<Overview> GetOverviewAsync(bool last = false)
|
||||
{
|
||||
return FromCacheOrWebAsync(nameof(Overview), homaClient.GetOverviewAsync);
|
||||
return FromCacheOrWebAsync(nameof(Overview), last, homaClient.GetOverviewAsync);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public ValueTask<List<AvatarAppearanceRank>> GetAvatarAppearanceRanksAsync()
|
||||
public ValueTask<List<AvatarAppearanceRank>> GetAvatarAppearanceRanksAsync(bool last = false)
|
||||
{
|
||||
return FromCacheOrWebAsync(nameof(AvatarAppearanceRank), homaClient.GetAvatarAttendanceRatesAsync);
|
||||
return FromCacheOrWebAsync(nameof(AvatarAppearanceRank), last, homaClient.GetAvatarAttendanceRatesAsync);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public ValueTask<List<AvatarUsageRank>> GetAvatarUsageRanksAsync()
|
||||
public ValueTask<List<AvatarUsageRank>> GetAvatarUsageRanksAsync(bool last = false)
|
||||
{
|
||||
return FromCacheOrWebAsync(nameof(AvatarUsageRank), homaClient.GetAvatarUtilizationRatesAsync);
|
||||
return FromCacheOrWebAsync(nameof(AvatarUsageRank), last, homaClient.GetAvatarUtilizationRatesAsync);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public ValueTask<List<AvatarConstellationInfo>> GetAvatarConstellationInfosAsync()
|
||||
public ValueTask<List<AvatarConstellationInfo>> GetAvatarConstellationInfosAsync(bool last = false)
|
||||
{
|
||||
return FromCacheOrWebAsync(nameof(AvatarConstellationInfo), homaClient.GetAvatarHoldingRatesAsync);
|
||||
return FromCacheOrWebAsync(nameof(AvatarConstellationInfo), last, homaClient.GetAvatarHoldingRatesAsync);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public ValueTask<List<AvatarCollocation>> GetAvatarCollocationsAsync()
|
||||
public ValueTask<List<AvatarCollocation>> GetAvatarCollocationsAsync(bool last = false)
|
||||
{
|
||||
return FromCacheOrWebAsync(nameof(AvatarCollocation), homaClient.GetAvatarCollocationsAsync);
|
||||
return FromCacheOrWebAsync(nameof(AvatarCollocation), last, homaClient.GetAvatarCollocationsAsync);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public ValueTask<List<WeaponCollocation>> GetWeaponCollocationsAsync()
|
||||
public ValueTask<List<WeaponCollocation>> GetWeaponCollocationsAsync(bool last = false)
|
||||
{
|
||||
return FromCacheOrWebAsync(nameof(WeaponCollocation), homaClient.GetWeaponCollocationsAsync);
|
||||
return FromCacheOrWebAsync(nameof(WeaponCollocation), last, homaClient.GetWeaponCollocationsAsync);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public ValueTask<List<TeamAppearance>> GetTeamAppearancesAsync()
|
||||
public ValueTask<List<TeamAppearance>> GetTeamAppearancesAsync(bool last = false)
|
||||
{
|
||||
return FromCacheOrWebAsync(nameof(TeamAppearance), homaClient.GetTeamCombinationsAsync);
|
||||
return FromCacheOrWebAsync(nameof(TeamAppearance), last, homaClient.GetTeamCombinationsAsync);
|
||||
}
|
||||
|
||||
private async ValueTask<T> FromCacheOrWebAsync<T>(string typeName, Func<CancellationToken, ValueTask<HutaoResponse<T>>> taskFunc)
|
||||
private async ValueTask<T> FromCacheOrWebAsync<T>(string typeName, bool last, Func<bool, CancellationToken, ValueTask<HutaoResponse<T>>> taskFunc)
|
||||
where T : class, new()
|
||||
{
|
||||
string key = $"{nameof(HutaoSpiralAbyssService)}.Cache.{typeName}";
|
||||
string kind = last ? "Last" : "Current";
|
||||
string key = $"{nameof(HutaoSpiralAbyssService)}.Cache.{typeName}.{kind}";
|
||||
if (memoryCache.TryGetValue(key, out object? cache))
|
||||
{
|
||||
T? t = cache as T;
|
||||
@@ -81,7 +82,7 @@ internal sealed partial class HutaoSpiralAbyssService : IHutaoSpiralAbyssService
|
||||
return memoryCache.Set(key, value, cacheExpireTime);
|
||||
}
|
||||
|
||||
Response<T> webResponse = await taskFunc(default).ConfigureAwait(false);
|
||||
Response<T> webResponse = await taskFunc(last, default).ConfigureAwait(false);
|
||||
T? data = webResponse.Data;
|
||||
|
||||
if (data is not null)
|
||||
|
||||
@@ -15,41 +15,41 @@ internal interface IHutaoSpiralAbyssService
|
||||
/// 异步获取角色上场率
|
||||
/// </summary>
|
||||
/// <returns>角色上场率</returns>
|
||||
ValueTask<List<AvatarAppearanceRank>> GetAvatarAppearanceRanksAsync();
|
||||
ValueTask<List<AvatarAppearanceRank>> GetAvatarAppearanceRanksAsync(bool last = false);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取角色搭配
|
||||
/// </summary>
|
||||
/// <returns>角色搭配</returns>
|
||||
ValueTask<List<AvatarCollocation>> GetAvatarCollocationsAsync();
|
||||
ValueTask<List<AvatarCollocation>> GetAvatarCollocationsAsync(bool last = false);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取角色持有率信息
|
||||
/// </summary>
|
||||
/// <returns>角色持有率信息</returns>
|
||||
ValueTask<List<AvatarConstellationInfo>> GetAvatarConstellationInfosAsync();
|
||||
ValueTask<List<AvatarConstellationInfo>> GetAvatarConstellationInfosAsync(bool last = false);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取角色使用率
|
||||
/// </summary>
|
||||
/// <returns>角色使用率</returns>
|
||||
ValueTask<List<AvatarUsageRank>> GetAvatarUsageRanksAsync();
|
||||
ValueTask<List<AvatarUsageRank>> GetAvatarUsageRanksAsync(bool last = false);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取统计数据
|
||||
/// </summary>
|
||||
/// <returns>统计数据</returns>
|
||||
ValueTask<Overview> GetOverviewAsync();
|
||||
ValueTask<Overview> GetOverviewAsync(bool last = false);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取队伍上场
|
||||
/// </summary>
|
||||
/// <returns>队伍上场</returns>
|
||||
ValueTask<List<TeamAppearance>> GetTeamAppearancesAsync();
|
||||
ValueTask<List<TeamAppearance>> GetTeamAppearancesAsync(bool last = false);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取武器搭配
|
||||
/// </summary>
|
||||
/// <returns>武器搭配</returns>
|
||||
ValueTask<List<WeaponCollocation>> GetWeaponCollocationsAsync();
|
||||
ValueTask<List<WeaponCollocation>> GetWeaponCollocationsAsync(bool last = false);
|
||||
}
|
||||
Reference in New Issue
Block a user