课上老师报题号、全班去找,是 2025 秋七成非比赛提交的来路,界面上原本没有它的入口。 - 顶栏(桌面端)加题号框,首页「找题」同一套逻辑:题号对上直接进题,否则去列表搜 - 新接口 GET /me/class-activity:同班同一天 ≥5 人做过的题,取最近 7 天里最近的一天, 附带我自己的状态与班里通过人数;首页据此显示「今天班里在做」卡片,没有就不占位 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d07459928d
commit
039992dc86
7 files changed
+279
-8
No files matched your search
@@ -4,6 +4,7 @@ import { RouterLink } from "vue-router"
|
||||
import { useBreakpoints } from "shared/composables/breakpoints"
|
||||
import { useDarkTransition } from "shared/composables/darkTransition"
|
||||
import { useLearnProgress } from "shared/composables/learnProgress"
|
||||
import { useProblemJump } from "shared/composables/problemJump"
|
||||
import { useAuthModalStore } from "shared/store/authModal"
|
||||
import { useCollabStore } from "shared/store/collab"
|
||||
import { useScreenModeStore } from "shared/store/screenMode"
|
||||
@@ -62,6 +63,18 @@ function getRandomAvatar() {
|
||||
|
||||
const avatar = ref(getRandomAvatar())
|
||||
|
||||
/**
|
||||
* 顶栏的题号框:老师报完题号,学生在哪一页都能直接敲,不用先回首页或题目列表。
|
||||
* 只给桌面端 —— 窄屏顶栏已经挤满了,手机上从首页的搜索框走同一套逻辑。
|
||||
*/
|
||||
const { jump, jumping } = useProblemJump()
|
||||
const jumpKeyword = ref("")
|
||||
|
||||
async function handleJump() {
|
||||
await jump(jumpKeyword.value)
|
||||
jumpKeyword.value = ""
|
||||
}
|
||||
|
||||
const envVersion = computed(() => {
|
||||
if (import.meta.env.PUBLIC_ENV === "test") {
|
||||
return "测试版"
|
||||
@@ -263,6 +276,18 @@ function goHome() {
|
||||
<span style="padding-left: 8px">菜单</span>
|
||||
</n-button>
|
||||
</n-dropdown>
|
||||
<n-input
|
||||
v-if="isDesktop"
|
||||
v-model:value="jumpKeyword"
|
||||
class="jump"
|
||||
placeholder="输入题号直达"
|
||||
:loading="jumping"
|
||||
@keyup.enter="handleJump"
|
||||
>
|
||||
<template #prefix>
|
||||
<Icon icon="ph:magnifying-glass" />
|
||||
</template>
|
||||
</n-input>
|
||||
<n-button
|
||||
v-if="isDesktop && (route.name === 'problem' || route.name === 'contest problem')"
|
||||
@click="() => screenModeStore.switchScreenMode()"
|
||||
@@ -305,4 +330,8 @@ function goHome() {
|
||||
.title {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.jump {
|
||||
width: 160px;
|
||||
}
|
||||
</style>
|
||||
Reference in new issue
Block a user