Files
SteamTools/System.Application.SteamTools.Client/Services/Implementation/CloudServiceClient.cs
T
Aigio Liu a85f977ccf 更新Linux截图
HttpClient 统一到 HttpClientFactory
2021-02-23 12:05:30 +08:00

61 lines
1.9 KiB
C#

using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System.Application.Columns;
using System.Application.Models;
using System.Application.Services.CloudService;
using System.Net.Http;
using System.Threading.Tasks;
namespace System.Application.Services.Implementation
{
public class CloudServiceClient : CloudServiceClientBase
{
protected readonly IUserManager userManager;
protected readonly IToast toast;
public CloudServiceClient(
ILoggerFactory loggerFactory,
IHttpClientFactory clientFactory,
IHttpPlatformHelper httpPlatformHelper,
IUserManager userManager,
IToast toast,
IOptions<AppSettings> options,
IModelValidator validator) : base(
loggerFactory.CreateLogger(ClientName_),
clientFactory,
httpPlatformHelper,
userManager,
options,
validator)
{
this.userManager = userManager;
this.toast = toast;
}
public override async Task SaveAuthTokenAsync(string authToken)
{
var user = await userManager.GetCurrentUserAsync();
if (user != null)
{
user.AuthToken = authToken;
await userManager.SetCurrentUserAsync(user);
}
}
public override async Task OnLoginedAsync(IReadOnlyPhoneNumber? phoneNumber, ILoginResponse response)
{
var cUser = new CurrentUser
{
UserId = response.UserId,
AuthToken = response.AuthToken,
PhoneNumber = phoneNumber?.PhoneNumber ?? string.Empty,
};
await userManager.SetCurrentUserAsync(cUser);
}
public override void ShowResponseErrorMessage(string message)
{
toast.Show(message);
}
}
}