Parcourir la source

empty message error fixed

master
anastasijasavov il y a 3 ans
Parent
révision
abe643d708
3 fichiers modifiés avec 59 ajouts et 19 suppressions
  1. 19
    6
      NemAnCore/Pages/FetchData.razor
  2. 39
    12
      NemAnCore/Pages/Home.razor
  3. 1
    1
      NemAnCore/Shared/NavMenu.razor

+ 19
- 6
NemAnCore/Pages/FetchData.razor Voir le fichier

var token = await localStorage.GetItemAsync<string>("token"); var token = await localStorage.GetItemAsync<string>("token");
string refreshT = await localStorage.GetItemAsync<string>("refresh_token"); string refreshT = await localStorage.GetItemAsync<string>("refresh_token");


TokenMessage tokenM = new TokenMessage{Token = token, RefreshToken = refreshT};
TokenMessage tokenM = new TokenMessage { Token = token, RefreshToken = refreshT };
SearchRequest request = new() { Query = "aitch", Type = "track", Token = token }; SearchRequest request = new() { Query = "aitch", Type = "track", Token = token };
SearchResponse searchResponse = await SearchService.GetListSearchAsync(request);


if (searchResponse.ResponseMsg == System.Net.HttpStatusCode.Unauthorized)
try
{ {
string? tempToken = await SpotifyHelper.TryRefreshToken(AuthService, tokenM, localStorage);
token = tempToken == null ? token : tempToken;
SearchResponse searchResponse = await SearchService.GetListSearchAsync(request);

if (searchResponse.ResponseMsg == System.Net.HttpStatusCode.Unauthorized)
{
string? tempToken = await SpotifyHelper.TryRefreshToken(AuthService, tokenM, localStorage);
token = tempToken == null ? token : tempToken;
}
} }
catch (RpcException e)
{
if (e.StatusCode == StatusCode.Cancelled)
{
return;
}
throw;
}

} }





+ 39
- 12
NemAnCore/Pages/Home.razor Voir le fichier

@page "/home" @page "/home"
@using Grpc.Core
@using GrpcShared.DTO @using GrpcShared.DTO
@using GrpcShared.DTO.Track @using GrpcShared.DTO.Track
@using NemAnBlazor.Services.Interfaces @using NemAnBlazor.Services.Interfaces
@using System.Net
@inject Blazored.LocalStorage.ILocalStorageService localStorage @inject Blazored.LocalStorage.ILocalStorageService localStorage
@inject IStatsClientService spotifyService @inject IStatsClientService spotifyService
@inject ITrackClientService trackService @inject ITrackClientService trackService
@code { @code {
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {

string tokenS = await localStorage.GetItemAsync<string>("token"); string tokenS = await localStorage.GetItemAsync<string>("token");
string refreshT = await localStorage.GetItemAsync<string>("refresh_token"); string refreshT = await localStorage.GetItemAsync<string>("refresh_token");


//tokenS = "BQBMgFm6jnFNWWeZEMGIRP_f-ENPid7Kw8JubAyuWAe4JK0S1DPFGlaAdZ_Fey6ePkCnz8-cqC0oyRmrciWUy5ISUTQKDe8PTQn4iBRMYCgM0n4GnS1xAErHJcm4Vpu2TAngk-4vQUOfTQRcedNTfCaHKP4uFJgTlTI7JHGrtB-_EZLnFcZ2OQe31oFQIJ1wM3ZtvwnN"; //tokenS = "BQBMgFm6jnFNWWeZEMGIRP_f-ENPid7Kw8JubAyuWAe4JK0S1DPFGlaAdZ_Fey6ePkCnz8-cqC0oyRmrciWUy5ISUTQKDe8PTQn4iBRMYCgM0n4GnS1xAErHJcm4Vpu2TAngk-4vQUOfTQRcedNTfCaHKP4uFJgTlTI7JHGrtB-_EZLnFcZ2OQe31oFQIJ1wM3ZtvwnN";
TokenMessage token = new TokenMessage { Token = tokenS, RefreshToken = refreshT }; TokenMessage token = new TokenMessage { Token = tokenS, RefreshToken = refreshT };


CurrentTrackResponse response = await spotifyService.GetCurrentlyPlayingTrack(token);
try
{
CurrentTrackResponse track = await spotifyService.GetCurrentlyPlayingTrack(token);


//if token expired, refresh it
if (response.ResponseMsg == System.Net.HttpStatusCode.Unauthorized)
//if token expired, refresh it
if (track.ResponseMsg == System.Net.HttpStatusCode.Unauthorized)
{
string? tempToken = await SpotifyHelper.TryRefreshToken(AuthService, token, localStorage);
tokenS = tempToken == null ? tokenS : tempToken;
//if refreshed token is null, that means that refresh token was invalid, so you should redirect to login
}
}
catch (RpcException e)
{ {
string? tempToken = await SpotifyHelper.TryRefreshToken(AuthService, token, localStorage);
tokenS = tempToken == null ? tokenS : tempToken;
//if refreshed token is null, that means that refresh token was invalid, so you should redirect to login
if (e.StatusCode == StatusCode.Cancelled)
{
return;
}
throw;
} }


//napravi komponentu koja ce da prikazuje sta trenutno slusas i passuj joj parametre //napravi komponentu koja ce da prikazuje sta trenutno slusas i passuj joj parametre
//var trackById = await trackService.GetById(new GrpcShared.DTO.TrackByID.TrackRequest { TrackID = "4fy1A2WBTPX55mUI16TQXa", Token = tokenS }); //var trackById = await trackService.GetById(new GrpcShared.DTO.TrackByID.TrackRequest { TrackID = "4fy1A2WBTPX55mUI16TQXa", Token = tokenS });
try
{
var items = await spotifyService.GetTopItems(new GrpcShared.DTO.TopItem.TopItemRequest { Token = tokenS, IsTracks = false, Offset = 5 });


var items = await spotifyService.GetTopItems(new GrpcShared.DTO.TopItem.TopItemRequest { Token = tokenS, IsTracks = false, Offset = 5 });
if (items.ResponseMsg == System.Net.HttpStatusCode.Unauthorized)
if (items.ResponseMsg == System.Net.HttpStatusCode.Unauthorized)
{
string? tempToken = await SpotifyHelper.TryRefreshToken(AuthService, token, localStorage);
tokenS = tempToken == null ? tokenS : tempToken;
}
}
catch (RpcException e)
{ {
string? tempToken = await SpotifyHelper.TryRefreshToken(AuthService, token, localStorage);
tokenS = tempToken == null ? tokenS : tempToken;
if (e.StatusCode == StatusCode.Cancelled)
{
return;
}
throw;
} }



} }
} }

+ 1
- 1
NemAnCore/Shared/NavMenu.razor Voir le fichier

<div class="@NavMenuCssClass" @onclick="ToggleNavMenu" > <div class="@NavMenuCssClass" @onclick="ToggleNavMenu" >
<nav class="flex-column" > <nav class="flex-column" >
<div class="nav-item px-3"> <div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<NavLink class="nav-link" href="home" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Home <span class="oi oi-home" aria-hidden="true"></span> Home
</NavLink> </NavLink>
</div> </div>

Chargement…
Annuler
Enregistrer