feat(后台): 手机上也能用了——菜单收进左边抽屉,列表一行一张卡,不用再横着滑

- 侧栏手机上不再占一列图标,顶栏左边 ☰ 拉出整张菜单,按返回键先关菜单
- 题目、比赛、用户、公告、题单列表手机上一项一张卡:名字一行、小字一行、按钮一行,
  「学生看得到」开关单独一列靠右
- 卡点分析、AI 报告手机上点开一项整屏看,返回键关掉;年度趋势、自学情况、首页改成上下排
- 出题页、教程编辑、题单编辑、标签、设置手机上排成一列;测试数据「删掉」手机上常驻
- 弹框一律收进屏幕宽度

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-10-16 11:21:58 +08:00
1 parent b757e2ac38
commit 02e2fa7d9b
30 files changed
+1328 -183

No files matched your search

+47 -2
View File
@@ -169,7 +169,7 @@ onMounted(load)
<span class="c-drag" />
<span class="c-no">#</span>
<span class="c-title">知识点 · 情境</span>
<span class="c-num">练一练</span>
<span class="c-num c-ex">练一练</span>
<span class="c-num">相关题</span>
<span class="c-num wide">打开过的人</span>
<span class="c-switch">公开</span>
@@ -230,7 +230,7 @@ onMounted(load)
<span class="kp">{{ splitTitle(item.title).kp }}</span>
<span class="scene">{{ splitTitle(item.title).scene }}</span>
</span>
<span class="c-num num">{{ item.exerciseCount || "-" }}</span>
<span class="c-num c-ex num">{{ item.exerciseCount || "-" }}</span>
<span class="c-num num">
<template v-if="item.problemCount">{{ item.problemCount }}</template>
<span v-else class="warn">还没挑</span>
@@ -426,4 +426,49 @@ onMounted(load)
color: #18a058;
text-decoration: none;
}
/* 手机:拖动排序(触屏拖不动)、练一练数、打开过的人、情境都不摆,留 知识点 / 相关题 / 公开 / 编辑 */
@media (max-width: 768px) {
.top {
flex-wrap: wrap;
gap: 8px;
}
.title,
.seg button {
white-space: nowrap;
}
.row {
gap: 8px;
padding: 0 12px;
}
.grouprow {
flex-wrap: wrap;
height: auto;
min-height: 44px;
padding: 8px 12px;
}
.grouprow a {
white-space: nowrap;
}
.c-drag,
.c-ex,
.c-num.wide,
.scene {
display: none;
}
.kp {
overflow: hidden;
text-overflow: ellipsis;
}
.c-num {
width: 48px;
}
.c-switch {
width: 44px;
}
.c-edit {
width: auto;
white-space: nowrap;
}
}
</style>