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