@namespace TelegramPanel.Web.Components.Dialogs @inject AccountTelegramToolsService AccountTelegramTools @inject ISnackbar Snackbar 账号:@Phone(ID:@AccountId) 这里显示 Telegram 系统通知(通常用于接收登录验证码)。若列表为空,可能是该账号从未在 Telegram 内收到系统消息。 刷新 @if (lastLoadedAtUtc.HasValue) { 最后刷新:@lastLoadedAtUtc.Value.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss") } @if (loading) { } else if (messages.Count == 0) { 暂无系统通知 } else { @foreach (var m in messages) { @((m.DateUtc ?? DateTime.MinValue).ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss")) @m.Text } } 关闭 @code { [CascadingParameter] private MudDialogInstance MudDialog { get; set; } = default!; [Parameter] public int AccountId { get; set; } [Parameter] public string Phone { get; set; } = ""; private bool loading; private DateTime? lastLoadedAtUtc; private List messages = new(); protected override async Task OnInitializedAsync() { await LoadMessages(); } private async Task LoadMessages() { loading = true; try { var list = await AccountTelegramTools.GetLatestSystemMessagesAsync(AccountId, limit: 30); messages = list.ToList(); lastLoadedAtUtc = DateTime.UtcNow; } catch (Exception ex) { Snackbar.Add($"加载系统通知失败:{ex.Message}", Severity.Error); } finally { loading = false; } } private void Close() { MudDialog.Close(); } }