feat: M3-M7 全模块落地 + 集成接线

- M3 认证/权限/审计/限流 + 全部 REST 接口
- M4 管理面板(MIUIx + 成绩录入/积分榜下钻/大屏控制)
- M5a 大屏页面(六页 + 明细覆盖层 + 缩放适配)
- M6 WebSocket 实时同步中心
- M7 xlsx 导出 + 赛事包 zip + 备份
- 规则包 YAML 导入导出(差异预览)
- 字体 vendor 子集化(4 套 x2 字重)
- 集成:realtime/export/rules 接入 main+httpapi;backup 子命令
- 修复:中间件包装 ResponseWriter 丢失 Hijacker,导致 WS 握手 501
This commit is contained in:
AskaEth committed 2026-09-09 19:02:24 +08:00
1 parent d0e3b93e76
commit bc8b1ee6c0
145 files changed
+25159 -321

No files matched your search

+6 -2
View File
@@ -1,3 +1,5 @@
@import './fonts.css';
/* 全局基础样式。设计令牌待视觉定稿后替换,详见 devdocs/06-大屏端设计.md */
:root {
--bg: #0b1e3a;
@@ -10,6 +12,9 @@
--design-w: 1920px;
--design-h: 1080px;
/* 全局默认字体;各端可通过覆盖 --font-ui 切换(字体清单见 vendor/fonts/manifest.json) */
--font-ui: var(--font-noto-sans);
}
* {
@@ -28,8 +33,7 @@ body,
body {
background: var(--bg);
color: var(--text);
font-family:
'Noto Sans SC', 'Source Han Sans SC', 'Microsoft YaHei', 'PingFang SC', system-ui, sans-serif;
font-family: var(--font-ui, 'Noto Sans SC', 'Source Han Sans SC', system-ui, sans-serif);
-webkit-font-smoothing: antialiased;
}
+86
View File
@@ -0,0 +1,86 @@
/* 字体声明 —— 离线部署,字体已 vendor 进仓库(vendor/fonts/),禁止任何 CDN。
*
* 字符集:ASCII + GB2312 一级/二级汉字 + 中文标点 + 数字符号(7553 字符),
* 子集化与体积明细见 vendor/fonts/manifest.json 与 vendor/fonts/README.md。
*
* 引用方式:在全局样式入口 `@import './fonts.css';`(本文件不自动生效)。
* 需要新增字体:改 vendor/fonts/tools/fonts.conf 后重跑 subset-fonts.sh,
* 再在本文件补对应的 @font-face 与 --font-<id> 变量。
*/
/* ---------- Noto Sans SC(思源黑体同源,无衬线,大屏正文默认) ---------- */
@font-face {
font-family: 'Noto Sans SC';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../../../../vendor/fonts/noto-sans-regular.woff2') format('woff2');
}
@font-face {
font-family: 'Noto Sans SC';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../../../../vendor/fonts/noto-sans-bold.woff2') format('woff2');
}
/* ---------- Noto Serif SC(衬线,用于标题/仪式感文案) ---------- */
@font-face {
font-family: 'Noto Serif SC';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../../../../vendor/fonts/noto-serif-regular.woff2') format('woff2');
}
@font-face {
font-family: 'Noto Serif SC';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../../../../vendor/fonts/noto-serif-bold.woff2') format('woff2');
}
/* ---------- MiSans(小米,无衬线;授权见 vendor/fonts/README.md) ---------- */
@font-face {
font-family: 'MiSans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../../../../vendor/fonts/misans-regular.woff2') format('woff2');
}
@font-face {
font-family: 'MiSans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../../../../vendor/fonts/misans-bold.woff2') format('woff2');
}
/* ---------- Source Han Sans CN(思源黑体,无衬线) ---------- */
@font-face {
font-family: 'Source Han Sans CN';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../../../../vendor/fonts/source-han-sans-regular.woff2') format('woff2');
}
@font-face {
font-family: 'Source Han Sans CN';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../../../../vendor/fonts/source-han-sans-bold.woff2') format('woff2');
}
/* ---------- 字体令牌:大屏 / 管理端按需切换 ---------- */
:root {
--font-noto-sans: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
--font-noto-serif: 'Noto Serif SC', 'Songti SC', 'SimSun', serif;
--font-misans: 'MiSans', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
--font-source-han-sans:
'Source Han Sans CN', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
}