88 lines
3.0 KiB
Plaintext
88 lines
3.0 KiB
Plaintext
@page "/Query"
|
|
@page "/query/{handle?}"
|
|
@inject IDIS_Service service
|
|
@inject IDIS_TemplateService templateService
|
|
@inject ISnackbar snackbar
|
|
@using IDIS.Models
|
|
@using IDIS.Services
|
|
<MudText Typo="Typo.h3" GutterBottom="true">解析标识</MudText>
|
|
<MudStack>
|
|
<MudTextField
|
|
@bind-Value="@handle"
|
|
HelperText="例如:88.123.99/638509550657468460"
|
|
Label="在这里输入需要解析的标识"
|
|
Variant="Variant.Outlined"
|
|
Adornment="Adornment.End"
|
|
AdornmentIcon="@Icons.Material.Filled.Search"
|
|
OnAdornmentClick="QueryInternal"
|
|
/>
|
|
<MudAlert Severity="@severity">@currentMessage</MudAlert>
|
|
@if (queryData.Value.Length is not 0)
|
|
{
|
|
<MudPaper Class="pa-2">
|
|
<MudStack Spacing="2">
|
|
|
|
@for (var index = 0; index < queryData.Value.Length; index++)
|
|
{
|
|
var x = queryData.Value[index];
|
|
var templateItem = template.Items[index];
|
|
<MudGrid Class="align-center">
|
|
<MudItem>
|
|
<MudIcon Icon="@Icons.Material.Outlined.Info"/>
|
|
</MudItem>
|
|
<MudItem Style="min-width: 100px">
|
|
<MudText >@templateItem.Name</MudText>
|
|
</MudItem>
|
|
<MudItem>
|
|
@if (x.Data.Value.Contains("data:image"))
|
|
{
|
|
<MudImage Src="@x.Data.Value" Width="100" Fluid="true" />
|
|
}
|
|
else
|
|
{
|
|
<MudText>@x.Data.Value</MudText>
|
|
}
|
|
</MudItem>
|
|
</MudGrid>
|
|
}
|
|
</MudStack >
|
|
</MudPaper>
|
|
}
|
|
</MudStack>
|
|
@code {
|
|
[Parameter]
|
|
public string handle { get; set; }
|
|
private IDIS_Query_Data queryData { get; set; }= new IDIS_Query_Data();
|
|
private IDIS_Template template { get; set; } = new IDIS_Template();
|
|
private string currentMessage { get; set; } = "从解析一个标识开始";
|
|
private Severity severity { get; set; } = Severity.Normal;
|
|
|
|
protected override void OnAfterRender(bool firstRender)
|
|
{
|
|
if (!firstRender) return;
|
|
if (string.IsNullOrEmpty(handle) is false)
|
|
{
|
|
QueryInternal();
|
|
}
|
|
}
|
|
private async void QueryInternal()
|
|
{
|
|
try
|
|
{
|
|
currentMessage = "正在查询";
|
|
severity = Severity.Info;
|
|
queryData = await service.QueryAsync(handle);
|
|
template = await templateService.QueryAsync(queryData.Prefix,queryData.TemplateVersion);
|
|
|
|
currentMessage = "查询成功";
|
|
severity = Severity.Success;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
currentMessage = e.Message;
|
|
severity = Severity.Error;
|
|
}
|
|
await InvokeAsync(StateHasChanged);
|
|
}
|
|
|
|
} |