fix(frontend): 修复工作台页面构建与类型收口
This commit is contained in:
@@ -16,7 +16,9 @@ describe('attachments api', () => {
|
||||
sourceId: '1001',
|
||||
});
|
||||
|
||||
const [url, body] = vi.mocked(post).mock.calls[0];
|
||||
const firstCall = vi.mocked(post).mock.calls[0];
|
||||
expect(firstCall).toBeDefined();
|
||||
const [url, body] = firstCall as [string, FormData];
|
||||
expect(url).toBe('/attachments/upload');
|
||||
expect(body).toBeInstanceOf(FormData);
|
||||
|
||||
|
||||
@@ -40,7 +40,9 @@ export interface ModelRouteRule {
|
||||
matchScope: string;
|
||||
scopeId?: string;
|
||||
primaryModelId: string;
|
||||
primaryModelCode?: string;
|
||||
fallbackModelIdsJson?: string;
|
||||
fallbackModelCode?: string;
|
||||
routeStrategy: string;
|
||||
maxLatencyMs?: number;
|
||||
enabled: boolean;
|
||||
|
||||
@@ -66,8 +66,9 @@ async function loadServers() {
|
||||
try {
|
||||
const response = await listMcpServers();
|
||||
servers.value = response.data ?? [];
|
||||
if (!selectedServerCode.value && servers.value.length > 0) {
|
||||
selectedServerCode.value = servers.value[0].serverCode;
|
||||
const firstServer = servers.value[0];
|
||||
if (!selectedServerCode.value && firstServer?.serverCode) {
|
||||
selectedServerCode.value = firstServer.serverCode;
|
||||
}
|
||||
} finally {
|
||||
loading.value = false;
|
||||
@@ -193,7 +194,7 @@ onMounted(async () => {
|
||||
</button>
|
||||
</div>
|
||||
<p v-if="selectedServer" class="capability-summary" data-test="mcp-selected-server">
|
||||
当前服务:{{ selectedServer.serverName }} / {{ selectedServer.importType }} / {{ selectedServer.healthStatus }}
|
||||
当前服务:{{ selectedServer?.serverName }} / {{ selectedServer?.importType }} / {{ selectedServer?.healthStatus }}
|
||||
</p>
|
||||
<div class="capability-grid" v-loading="capabilityLoading">
|
||||
<article v-for="item in capabilities" :key="item.capabilityCode" :data-test="`mcp-capability-${item.capabilityCode}`">
|
||||
|
||||
@@ -52,7 +52,7 @@ onMounted(loadWorkspace);
|
||||
<div v-for="route in workspace?.routes ?? []" :key="route.id || route.taskType" class="table-row" :data-test="`model-route-${route.taskType}`">
|
||||
<strong>{{ route.taskType }}</strong>
|
||||
<span>{{ route.primaryModelCode || route.primaryModelId }}</span>
|
||||
<span>{{ route.fallbackModelCode || route.fallbackModelId || '无' }}</span>
|
||||
<span>{{ route.fallbackModelCode || route.fallbackModelIdsJson || '无' }}</span>
|
||||
<span class="status-cell">
|
||||
<span class="status-pill" :class="routeStatus(route.enabled) === '启用' ? 'is-success' : 'is-warning'">
|
||||
{{ routeStatus(route.enabled) }}
|
||||
|
||||
@@ -47,8 +47,9 @@ async function loadRuns() {
|
||||
try {
|
||||
const response = await listObservabilityRuns();
|
||||
runs.value = response.data ?? [];
|
||||
if (runs.value.length > 0) {
|
||||
await loadTrace(runs.value[0].requestId);
|
||||
const firstRun = runs.value[0];
|
||||
if (firstRun?.requestId) {
|
||||
await loadTrace(firstRun.requestId);
|
||||
}
|
||||
} finally {
|
||||
loading.value = false;
|
||||
|
||||
Reference in New Issue
Block a user