Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 

56 rindas
1.6 KiB

  1. @inherits LayoutComponentBase
  2. @using Components
  3. @using Newtonsoft.Json
  4. @using Models.Identity
  5. @inject ILoadingSpinner _LoadingSpinner
  6. @Body
  7. @code
  8. {
  9. protected override async void OnAfterRender(bool firstRender)
  10. {
  11. if (firstRender)
  12. await CheckLogin();
  13. base.OnAfterRender(firstRender);
  14. }
  15. async Task CheckLogin()
  16. {
  17. Console.WriteLine("" + Statics.LastCheck);
  18. Console.WriteLine("checking login...");
  19. Statics.LastCheck = DateTime.Now;
  20. var hasToken = await LocalStorage.ContainKeyAsync(Statics.LoginTokenKey);
  21. if (hasToken)
  22. {
  23. var token = await LocalStorage.GetItemAsStringAsync(Statics.LoginTokenKey);
  24. var res = await _userUtils.CheckLogin(goToLogin: false);
  25. if (res.IsSuccessStatusCode)
  26. {
  27. var result =
  28. JsonConvert.DeserializeObject<CheckLoginResponse>(
  29. await res.Content.ReadAsStringAsync());
  30. await _LoadingSpinner.HideLoading();
  31. Statics.CurrentLoginInfo = result;
  32. if (!result.HasName)
  33. NavManager.NavigateTo("/NameAndEmail");
  34. else
  35. NavManager.NavigateTo("/dashboard");
  36. }
  37. await _LoadingSpinner.HideLoading();
  38. StateHasChanged();
  39. }
  40. }
  41. private async void SignOut()
  42. {
  43. await LocalStorage.RemoveItemAsync(Statics.LoginTokenKey);
  44. await LocalStorage.RemoveItemAsync(Statics.RefreshTokenKey);
  45. NavManager.NavigateTo("/login");
  46. }
  47. }