feat: refine client status and review views

This commit is contained in:
hectorzhao
2026-08-27 17:32:05 +08:00
parent d6edb88b76
commit 01cffa4758
31 changed files with 528 additions and 117 deletions
+18 -2
View File
@@ -45,10 +45,22 @@ export function ClientHttpApiPage() {
setLoading(true);
setError('');
try {
const [nextConfig, nextCredentials, nextWebhooks, nextRequests, nextDeliveries] = await Promise.all([
setConfig(null);
setCredentials([]);
setWebhooks([]);
setRequests([]);
setDeliveries([]);
const results = await Promise.allSettled([
clientApi.getApplicationHttpApiConfig(id), clientApi.listHttpApiCredentials(id), clientApi.listHttpWebhooks(id),
clientApi.listHttpApiRequests(id), clientApi.listHttpWebhookDeliveries(id),
]);
const [configResult, credentialsResult, webhooksResult, requestsResult, deliveriesResult] = results;
if (configResult.status === 'rejected') throw configResult.reason;
const nextConfig = configResult.value;
const nextCredentials = credentialsResult.status === 'fulfilled' ? credentialsResult.value : [];
const nextWebhooks = webhooksResult.status === 'fulfilled' ? webhooksResult.value : [];
const nextRequests = requestsResult.status === 'fulfilled' ? requestsResult.value : [];
const nextDeliveries = deliveriesResult.status === 'fulfilled' ? deliveriesResult.value : [];
setConfig(nextConfig);
setCredentials(nextCredentials);
setWebhooks(nextWebhooks);
@@ -56,7 +68,11 @@ export function ClientHttpApiPage() {
setDeliveries(nextDeliveries);
setReceiptUrl(nextWebhooks.find((item) => item.eventType === 'receipt')?.url ?? '');
setUplinkUrl(nextWebhooks.find((item) => item.eventType === 'uplink')?.url ?? '');
} catch (failure) { setError(failure instanceof Error ? failure.message : 'HTTP接口资料加载失败'); }
if (results.some((result) => result.status === 'rejected')) setError('部分接口记录暂时无法加载,请稍后刷新;接口概览仍可正常使用。');
} catch (failure) {
const message = failure instanceof Error ? failure.message : '';
setError(message.toLowerCase().includes('internal server error') ? '接口资料暂时加载失败,请稍后重试。' : message || 'HTTP接口资料加载失败');
}
finally { setLoading(false); }
}