/// <summary> /// 刷新登陆,返回登陆成功与否 /// </summary> /// <returns></returns> public static async Task <bool> RefreshLog() { var netWork = CommonServiceLocator.ServiceLocator.Current.GetInstance <Services.NetWork.INetWorkServices>(); var json = await netWork.GetAsync("Login", "RefreshLog"); var data = new { code = 2, message = "" }; data = JsonConvert.DeserializeAnonymousType(json, data); SaveCookie(CookieFile, netWork.Cookie); if (data.code == 200) { if (File.Exists(UserFile)) { try { Session.CurrentUser = JsonConvert.DeserializeObject <Global.Model.User>(File.ReadAllText(UserFile)); IsLoginIn = true; LoginStateChanged?.Invoke(null, true); return(true); } catch { return(false); } } return(false); } return(false); }
public static async Task <string> LoginByEmail(string email, string passWord, bool remember = true) { var netWork = CommonServiceLocator.ServiceLocator.Current.GetInstance <Services.NetWork.INetWorkServices>(); using (var md5 = new MD5CryptoServiceProvider()) { byte[] passWordBytes = Encoding.UTF8.GetBytes(passWord); byte[] targetData = md5.ComputeHash(passWordBytes); var sb = new StringBuilder(); for (int i = 0; i < targetData.Length; i++) { sb.Append(targetData[i].ToString("x2")); } passWord = sb.ToString(); } var temp = JsonConvert.DeserializeObject <KeyValuePair <string, Global.Model.User> >(await netWork.PostAsync("Login", "LoginByEmail", new { email, passWord, remember = true })); CurrentUser = temp.Value; if (temp.Value == null) { IsLoginIn = false; return(temp.Key); } var cookie = netWork.Cookie; SaveCookie(CookieFile, cookie); WriteToFile(UserFile, JsonConvert.SerializeObject(temp.Value)); IsLoginIn = true; LoginStateChanged?.Invoke(null, true); return("OK"); }
public async Task UpdateLoginState(bool isLogggedIn) { if (LoginStateChanged != null) { await LoginStateChanged.Invoke(isLogggedIn); } }
public static void LogOut() { var netWork = CommonServiceLocator.ServiceLocator.Current.GetInstance <Services.NetWork.INetWorkServices>(); IsLoginIn = false; LoginStateChanged?.Invoke(null, false); }
public bool Login() { bool result = false; SyncContext.Send((_) => result = WSUtils.Login(), null); LoginStateChanged?.Invoke(result ? LoginState.LoggedIn : LoginState.LoggedOut); return(result); }
public async Task GetLoginSession() { solidIdentity = null; try { var result = await JSRuntime.InvokeAsync <object>("solid.auth.currentSession", null); Console.WriteLine($"Result: {result ?? ""}"); if (result != null) { JObject jObject = JObject.Parse(result.ToString()); solidIdentity = new SolidIdentity((string)jObject["issuer"]); solidIdentity.SetId((string)jObject["webId"]); string name = null; try { var nameResult = await JSRuntime.InvokeAsync <object>("blazorSolid.getUserName", solidIdentity.Id); if (nameResult != null) { JObject nameObject = JObject.Parse(nameResult.ToString()); name = (string)nameObject["value"]; } } catch (Exception x2) { Console.WriteLine("NAME ERROR:" + x2.GetBaseException().Message); } if (!string.IsNullOrWhiteSpace(name)) { solidIdentity.SetName(name); } else { Uri uri = new Uri(solidIdentity.Id); solidIdentity.SetName(uri.DnsSafeHost.Split('.')[0]); } } } catch { } if (solidIdentity == null) { LoginStateChanged?.Invoke(false); } else { LoginStateChanged?.Invoke(true); } }
protected void SetLogined(Guid mangaType, bool value) { if (value) { logined.Add(mangaType); } else { logined.Remove(mangaType); } LoginStateChanged?.Invoke(this, value); }
/// <summary> /// 将加载器作为依赖服务注入。 /// </summary> /// <param name="wrapper">加载器</param> public void InjectService(ISchoolWrapper wrapper) { Loader = wrapper; Loader.NoticeChange = (s, e) => LoginStateChanged?.Invoke(s, e); }
public void Logout() { SyncContext.Send((_) => PInvoke.AcConnectWebServicesLogout(), null); LoginStateChanged?.Invoke(LoginState.LoggedOut); }
protected virtual void OnLoginStateChanged(bool e) { LoginStateChanged?.Invoke(this, e); }
Task UserLoggedOut() { solidIdentity = null; LoginStateChanged?.Invoke(false); return(Task.CompletedTask); }