- M3 认证/权限/审计/限流 + 全部 REST 接口 - M4 管理面板(MIUIx + 成绩录入/积分榜下钻/大屏控制) - M5a 大屏页面(六页 + 明细覆盖层 + 缩放适配) - M6 WebSocket 实时同步中心 - M7 xlsx 导出 + 赛事包 zip + 备份 - 规则包 YAML 导入导出(差异预览) - 字体 vendor 子集化(4 套 x2 字重) - 集成:realtime/export/rules 接入 main+httpapi;backup 子命令 - 修复:中间件包装 ResponseWriter 丢失 Hijacker,导致 WS 握手 501
55 lines
1002 B
Vue
55 lines
1002 B
Vue
<script setup lang="ts">
|
|
defineProps<{ title: string; hint?: string }>()
|
|
</script>
|
|
|
|
<template>
|
|
<section class="page">
|
|
<header class="page-head">
|
|
<h2>{{ title }}</h2>
|
|
<span v-if="hint" class="hint">{{ hint }}</span>
|
|
</header>
|
|
<div class="page-body">
|
|
<slot />
|
|
</div>
|
|
</section>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.page {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
min-height: 0;
|
|
background: var(--panel);
|
|
border: 2px solid var(--panel-border);
|
|
border-radius: 18px;
|
|
padding: 18px 28px 22px;
|
|
}
|
|
.page-head {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 18px;
|
|
padding-bottom: 12px;
|
|
border-bottom: 2px solid var(--primary-line);
|
|
}
|
|
h2 {
|
|
font-size: 34px;
|
|
font-weight: 700;
|
|
letter-spacing: 4px;
|
|
color: var(--primary-text);
|
|
}
|
|
.hint {
|
|
font-size: 20px;
|
|
letter-spacing: 2px;
|
|
color: var(--text-dim);
|
|
}
|
|
.page-body {
|
|
flex: 1;
|
|
min-height: 0;
|
|
padding-top: 12px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
</style>
|