Blazorcrud.Client/Services/UserService.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Blazorcrud.Client.Shared;
using Blazorcrud.Shared.Data;
using Blazorcrud.Shared.Models;
using Microsoft.AspNetCore.Components;
namespace Blazorcrud.Client.Services
{
public class UserService: IUserService
{
private IHttpService _httpService;
private ILocalStorageService _localStorageService;
private NavigationManager _navigationManager;
private string _userKey = "user";
public User User {get; private set;}
public UserService(IHttpService httpService, ILocalStorageService localStorageService, NavigationManager navigationManager)
{
_httpService = httpService;
_localStorageService = localStorageService;
_navigationManager = navigationManager;
}
public async Task Initialize()
{
User = await _localStorageService.GetItem<User>(_userKey);
}
public async Task Login(Login model)
{
User = await _httpService.Post<User>("/api/user/authenticate", model);
await _localStorageService.SetItem(_userKey, User);
}
public async Task Logout()
{
User = null;
await _localStorageService.RemoveItem(_userKey);
_navigationManager.NavigateTo("/user/login");
}
public async Task<PagedResult<User>> GetUsers(string? name, string page)
{
return await _httpService.Get<PagedResult<User>>("api/user" + "?page=" + page + "&name=" + name);
}
public async Task<User> GetUser(int id)
{
return await _httpService.Get<User>($"api/user/{id}");
}
public async Task DeleteUser(int id)
{
await _httpService.Delete($"api/user/{id}");
// auto logout if the user deleted their own record
if (id == User.Id)
await Logout();
}
public async Task AddUser(User user)
后面还有 18 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
