|
84 | 84 | import { ref, computed, onMounted, watch } from 'vue' |
85 | 85 | import { useAppStore, type ChangeItem, type AlarmChangeItem } from '@/stores/app' |
86 | 86 | import { mockApi } from '@/mock/api' |
87 | | -import type { DeploymentChangelogResponse, DeploymentChangelogItem, AlertRuleChangelogResponse, AlertRuleChangeItem } from '@/mock/services' |
| 87 | +import { apiService } from '@/api' |
| 88 | +import type { DeploymentChangelogResponse } from '@/mock/services' |
88 | 89 | import ChangeCard from '@/components/ChangeCard.vue' |
89 | 90 | import AlarmChangeCard from '@/components/AlarmChangeCard.vue' |
90 | 91 | import { ArrowLeft, Loading } from '@element-plus/icons-vue' |
91 | 92 |
|
| 93 | +interface AlertRuleChangeValue { |
| 94 | + name: string |
| 95 | + old: string |
| 96 | + new: string |
| 97 | +} |
| 98 | +
|
| 99 | +interface AlertRuleChangeItem { |
| 100 | + name: string |
| 101 | + editTime: string |
| 102 | + scope: string |
| 103 | + values: AlertRuleChangeValue[] |
| 104 | + reason: string |
| 105 | +} |
| 106 | +
|
| 107 | +interface AlertRuleChangelogResponse { |
| 108 | + items: AlertRuleChangeItem[] |
| 109 | + next?: string |
| 110 | +} |
| 111 | +
|
92 | 112 | const appStore = useAppStore() |
93 | 113 |
|
94 | 114 | const activeTab = ref('service') |
@@ -160,7 +180,7 @@ const transformAlertRuleChangelogToAlarmChangeItems = (changelogData: AlertRuleC |
160 | 180 | const serviceName = item.scope?.startsWith('service:') ? item.scope.slice('service:'.length) + '服务' : '全局服务' |
161 | 181 | |
162 | 182 | // 构建变更描述 |
163 | | - const changeDescription = item.values.map(value => { |
| 183 | + const changeDescription = item.values.map((value) => { |
164 | 184 | return `${value.name}: ${value.old} -> ${value.new}` |
165 | 185 | }).join(', ') |
166 | 186 | |
@@ -200,21 +220,21 @@ const loadDeploymentChangelog = async (start?: string, limit?: number) => { |
200 | 220 | } |
201 | 221 | } |
202 | 222 |
|
203 | | -// 加载告警规则变更记录 |
| 223 | +// 加载告警规则变更记录(使用真实 API) |
204 | 224 | const loadAlertRuleChangelog = async (start?: string, limit?: number) => { |
205 | 225 | if (alertRuleLoading.value) return // 防止重复加载 |
206 | 226 | |
207 | 227 | try { |
208 | 228 | alertRuleLoading.value = true |
209 | 229 | error.value = null |
210 | 230 | |
211 | | - const response = await mockApi.getAlertRuleChangelog(start, limit) |
212 | | - alertRuleChangelog.value = response |
| 231 | + const response = await apiService.getAlertRuleChangelog(start, limit ?? 10) |
| 232 | + alertRuleChangelog.value = response.data |
213 | 233 | |
214 | 234 | // 转换数据格式 |
215 | | - alarmChangeItems.value = transformAlertRuleChangelogToAlarmChangeItems(response.items) |
| 235 | + alarmChangeItems.value = transformAlertRuleChangelogToAlarmChangeItems(response.data.items) |
216 | 236 | |
217 | | - console.log('告警规则变更记录加载成功:', response) |
| 237 | + console.log('告警规则变更记录加载成功:', response.data) |
218 | 238 | } catch (err) { |
219 | 239 | error.value = '加载告警规则变更记录失败' |
220 | 240 | console.error('加载告警规则变更记录失败:', err) |
|
0 commit comments