Skip to content

Commit 718ddfb

Browse files
author
githubnull
committed
fix(frontend): 修复Header规则API返回格式不一致导致列表无法加载的问题,优化表格checkbox对齐
1 parent 837965e commit 718ddfb

2 files changed

Lines changed: 97 additions & 21 deletions

File tree

src/frontEnd/src/api/headerRule.ts

Lines changed: 76 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,15 @@ export async function getPersistentRules(activeOnly: boolean = true) {
5252
message: 'Mock数据加载成功',
5353
}
5454
}
55-
return request.get('/commonApi/header/persistent-header-rules', {
55+
// axios拦截器成功时只返回data.data,需要包装成统一格式
56+
const data = await request.get('/commonApi/header/persistent-header-rules', {
5657
params: { active_only: activeOnly },
5758
})
59+
return {
60+
success: true,
61+
data: data,
62+
message: '加载成功',
63+
}
5864
}
5965

6066
/**
@@ -77,7 +83,12 @@ export async function getPersistentRuleById(ruleId: number) {
7783
message: '规则不存在',
7884
}
7985
}
80-
return request.get(`/commonApi/header/persistent-header-rules/${ruleId}`)
86+
const data = await request.get(`/commonApi/header/persistent-header-rules/${ruleId}`)
87+
return {
88+
success: true,
89+
data: data,
90+
message: '获取成功',
91+
}
8192
}
8293

8394
/**
@@ -105,7 +116,12 @@ export async function createPersistentRule(rule: PersistentHeaderRuleCreate) {
105116
message: '创建成功',
106117
}
107118
}
108-
return request.post('/commonApi/header/persistent-header-rules', rule)
119+
const data = await request.post('/commonApi/header/persistent-header-rules', rule)
120+
return {
121+
success: true,
122+
data: data,
123+
message: '创建成功',
124+
}
109125
}
110126

111127
/**
@@ -142,7 +158,12 @@ export async function updatePersistentRule(ruleId: number, rule: PersistentHeade
142158
message: '规则不存在',
143159
}
144160
}
145-
return request.put(`/commonApi/header/persistent-header-rules/${ruleId}`, rule)
161+
const data = await request.put(`/commonApi/header/persistent-header-rules/${ruleId}`, rule)
162+
return {
163+
success: true,
164+
data: data,
165+
message: '更新成功',
166+
}
146167
}
147168

148169
/**
@@ -166,7 +187,12 @@ export async function deletePersistentRule(ruleId: number) {
166187
message: '规则不存在',
167188
}
168189
}
169-
return request.delete(`/commonApi/header/persistent-header-rules/${ruleId}`)
190+
await request.delete(`/commonApi/header/persistent-header-rules/${ruleId}`)
191+
return {
192+
success: true,
193+
data: null,
194+
message: '删除成功',
195+
}
170196
}
171197

172198
// ==================== 会话性请求头API ====================
@@ -199,7 +225,12 @@ export async function setSessionHeaders(headers: SessionHeaderBatchCreate) {
199225
message: `成功添加 ${newHeaders.length} 个Session Header`,
200226
}
201227
}
202-
return request.post('/commonApi/header/session-headers', headers)
228+
const data = await request.post('/commonApi/header/session-headers', headers)
229+
return {
230+
success: true,
231+
data: data,
232+
message: '设置成功',
233+
}
203234
}
204235

205236
/**
@@ -220,7 +251,12 @@ export async function getSessionHeaders() {
220251
message: 'Mock数据加载成功',
221252
}
222253
}
223-
return request.get('/commonApi/header/session-headers')
254+
const data = await request.get('/commonApi/header/session-headers')
255+
return {
256+
success: true,
257+
data: data,
258+
message: '加载成功',
259+
}
224260
}
225261

226262
/**
@@ -245,7 +281,12 @@ export async function deleteSessionHeader(headerName: string) {
245281
message: 'Header不存在',
246282
}
247283
}
248-
return request.delete(`/commonApi/header/session-headers/${encodeURIComponent(headerName)}`)
284+
await request.delete(`/commonApi/header/session-headers/${encodeURIComponent(headerName)}`)
285+
return {
286+
success: true,
287+
data: null,
288+
message: '删除成功',
289+
}
249290
}
250291

251292
/**
@@ -277,7 +318,12 @@ export async function updateSessionHeader(headerName: string, header: Partial<an
277318
message: 'Header不存在',
278319
}
279320
}
280-
return request.put(`/commonApi/header/session-headers/${encodeURIComponent(headerName)}`, header)
321+
const data = await request.put(`/commonApi/header/session-headers/${encodeURIComponent(headerName)}`, header)
322+
return {
323+
success: true,
324+
data: data,
325+
message: '更新成功',
326+
}
281327
}
282328

283329
/**
@@ -294,34 +340,44 @@ export async function clearSessionHeaders() {
294340
message: `成功清除 ${count} 个Session Header`,
295341
}
296342
}
297-
return request.delete('/commonApi/header/session-headers')
343+
const data = await request.delete('/commonApi/header/session-headers')
344+
return {
345+
success: true,
346+
data: data,
347+
message: '清除成功',
348+
}
298349
}
299350

300351
// ==================== 预览功能API ====================
301352

302353
/**
303354
* 预览请求头处理结果
304355
*/
305-
export async function previewHeaderProcessing(data: HeaderPreviewRequest) {
356+
export async function previewHeaderProcessing(previewData: HeaderPreviewRequest) {
306357
if (USE_MOCK_DATA) {
307358
await delay(500)
308359
// 简单模拟:合并原始请求头和mock规则
309-
const processedHeaders = [...data.headers]
360+
const processedHeaders = [...previewData.headers]
310361
const activeRules = mockHeaderRules.filter(r => r.is_active)
311362
activeRules.forEach(rule => {
312363
processedHeaders.push(`${rule.header_name}: ${rule.header_value}`)
313364
})
314365
return {
315366
success: true,
316367
data: {
317-
original_headers: data.headers,
368+
original_headers: previewData.headers,
318369
processed_headers: processedHeaders,
319370
applied_rules: activeRules.map(r => r.id),
320371
},
321372
message: '预览成功',
322373
}
323374
}
324-
return request.post('/commonApi/header/header-processing/preview', data)
375+
const data = await request.post('/commonApi/header/header-processing/preview', previewData)
376+
return {
377+
success: true,
378+
data: data,
379+
message: '预览成功',
380+
}
325381
}
326382

327383
// ==================== 统计信息API ====================
@@ -355,5 +411,10 @@ export async function getHeaderManagementStats() {
355411
message: '统计信息获取成功',
356412
}
357413
}
358-
return request.get('/commonApi/header/header-management/stats')
414+
const data = await request.get('/commonApi/header/header-management/stats')
415+
return {
416+
success: true,
417+
data: data,
418+
message: '统计信息获取成功',
419+
}
359420
}

src/frontEnd/src/views/TaskList/index.vue

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
columnResizeMode="fit"
7575
>
7676
<!-- 选择列 -->
77-
<Column selectionMode="multiple" headerStyle="width: 3rem" :exportable="false" frozen />
77+
<Column selectionMode="multiple" headerStyle="width: 3rem; text-align: center;" bodyStyle="text-align: center;" :exportable="false" frozen />
7878
<Column field="engineid" header="任务ID" :style="{ minWidth: '80px', maxWidth: '120px' }" sortable>
7979
<template #body="{ data }">
8080
<div class="clickable-id" @click="goToTaskConfig(data)" :title="'点击查看任务扫描配置'">
@@ -873,15 +873,19 @@ function confirmDeleteAll() {
873873
874874
// 复选框简洁样式(无3D效果)
875875
.p-checkbox {
876-
width: 20px;
877-
height: 20px;
876+
width: 18px;
877+
height: 18px;
878+
margin: 0 auto;
879+
display: flex !important;
880+
align-items: center;
881+
justify-content: center;
878882
879883
.p-checkbox-box {
880884
background: #ffffff;
881885
border: 2px solid #cbd5e1;
882886
border-radius: 4px;
883-
width: 20px;
884-
height: 20px;
887+
width: 18px;
888+
height: 18px;
885889
display: inline-flex !important;
886890
align-items: center;
887891
justify-content: center;
@@ -905,7 +909,7 @@ function confirmDeleteAll() {
905909
906910
.p-checkbox-icon {
907911
color: white !important;
908-
font-size: 14px;
912+
font-size: 12px;
909913
display: block;
910914
}
911915
@@ -920,6 +924,17 @@ function confirmDeleteAll() {
920924
position: absolute;
921925
}
922926
}
927+
928+
// 选择列单元格居中
929+
.p-datatable-thead > tr > th:first-child,
930+
.p-datatable-tbody > tr > td:first-child {
931+
text-align: center;
932+
vertical-align: middle;
933+
934+
.p-checkbox {
935+
margin: 0 auto;
936+
}
937+
}
923938
}
924939
925940
// ==================== 固定分页器样式 ====================

0 commit comments

Comments
 (0)