#nullable enable using System; using System.Collections.Generic; using System.Text.Json; using Microsoft.Extensions.Caching.Distributed; using SimApi.Communications; namespace SimApi.Helpers; /// /// 认证助手 /// public class SimApiAuth(IDistributedCache cache) { /// /// 登录信息 /// /// /// /// public string Login(SimApiLoginItem loginItem, string? token = null) { token ??= Guid.NewGuid().ToString(); cache.SetString(token, JsonSerializer.Serialize(loginItem)); return token; } /// /// 获取登陆信息 /// /// /// public SimApiLoginItem? GetLogin(string token) { var login = cache.GetString(token); return login != null ? JsonSerializer.Deserialize(login) : default; } /// /// 退出登陆 /// /// 登陆标识 public void Logout(string uuid) { if (!string.IsNullOrEmpty(uuid)) { cache.Remove(uuid); } } }