diff --git a/src/oj/problemset/components/ProblemSetHeader.vue b/src/oj/problemset/components/ProblemSetHeader.vue index 45b7e97..b24025e 100644 --- a/src/oj/problemset/components/ProblemSetHeader.vue +++ b/src/oj/problemset/components/ProblemSetHeader.vue @@ -2,6 +2,7 @@ import { Icon } from "@iconify/vue" import { ProblemSet, UserBadge as UserBadgeType } from "utils/types" import UserBadge from "shared/components/UserBadge.vue" +import { useUserStore } from "shared/store/user" interface Props { problemSet: ProblemSet @@ -17,6 +18,8 @@ interface Emits { const props = defineProps() const emit = defineEmits() +const userStore = useUserStore() + function getDifficultyTag(difficulty: string) { const difficultyMap: Record< string, @@ -60,7 +63,7 @@ function handleJoin() { - + 已获徽章 diff --git a/src/oj/problemset/detail.vue b/src/oj/problemset/detail.vue index bdcd12a..78ceda8 100644 --- a/src/oj/problemset/detail.vue +++ b/src/oj/problemset/detail.vue @@ -63,6 +63,10 @@ async function init() { } async function handleProblemClick(problemId: string) { + if (!userStore.isAuthed) { + message.warning("请先登录!") + return + } if (!isJoined.value) { message.warning("请先点击【加入题单】按钮!") return