feat: add recovery center and daily reviews

This commit is contained in:
2026-04-26 11:03:08 +08:00
parent 94f6e08dea
commit 79047b5488
33 changed files with 3127 additions and 40 deletions
@@ -263,8 +263,8 @@ async function handleLogout() {
/>
<div class="app-topbar__copy">
<div class="app-topbar__eyebrow">Control Room</div>
<div class="app-topbar__title">{{ pageMeta.title }}</div>
<div class="app-topbar__subtitle">{{ pageMeta.subtitle }}</div>
<div class="app-topbar__title">Live Recorder</div>
<div class="app-topbar__subtitle">专业直播录制运维控制台</div>
</div>
</div>
+5 -1
View File
@@ -2,6 +2,7 @@
import { computed, onMounted, ref } from "vue";
import { useRouter } from "vue-router";
import { useViewport } from "@/composables/useViewport";
import axios from "axios";
import apiClient, { getApiErrorMessage } from "@/api/client";
import type { DailyReviewReport } from "@/types";
@@ -28,7 +29,10 @@ async function loadReport() {
});
report.value = data;
} catch (error) {
loadError.value = getApiErrorMessage(error, "回顾日报加载失败,请稍后重试。");
loadError.value =
axios.isAxiosError(error) && error.response?.status === 404
? "当前后端还没有部署回顾日报接口。请先同步更新并重启后端,再打开这个页面。"
: getApiErrorMessage(error, "回顾日报加载失败,请稍后重试。");
} finally {
loading.value = false;
}
+5 -1
View File
@@ -1,6 +1,7 @@
<script setup lang="ts">
import { computed, onMounted, ref } from "vue";
import { ElMessage } from "element-plus";
import axios from "axios";
import apiClient, { getApiErrorMessage } from "@/api/client";
import { useViewport } from "@/composables/useViewport";
import type {
@@ -31,7 +32,10 @@ async function loadOverview() {
const { data } = await apiClient.get<RecoveryOverview>("/recovery");
overview.value = data;
} catch (error) {
loadError.value = getApiErrorMessage(error, "恢复中心加载失败,请稍后重试。");
loadError.value =
axios.isAxiosError(error) && error.response?.status === 404
? "当前后端还没有部署恢复中心接口。请先同步更新并重启后端,再打开这个页面。"
: getApiErrorMessage(error, "恢复中心加载失败,请稍后重试。");
} finally {
loading.value = false;
}