diff --git a/apps/web/src/oj/api.ts b/apps/web/src/oj/api.ts index b6ec85f..2efd412 100644 --- a/apps/web/src/oj/api.ts +++ b/apps/web/src/oj/api.ts @@ -9,7 +9,7 @@ import { type ContestClassView, type ContestScoreboard, type FormatCodeResponse, - type Metrics, + type ProfileOverview, type TutorialSummary, type Tutorial, type ClassActivity, @@ -395,8 +395,14 @@ export function setReaction(problemID: number, type: ReactionKey) { return api.post(`problems/${problemID}/reaction`, { type }) } -export function getMetrics(userid: number) { - return api.get(`users/${userid}/metrics`) +/** 个人主页那一页的数据:做对的题、四个时间、本班第几、成就,本人和老师多拿知识点和没做对的题 */ +export function getProfileOverview(username: string) { + return api.get(`profiles/${encodeURIComponent(username)}/overview`) +} + +/** 不用图片了,退回默认头像(名字的字) */ +export function resetAvatar() { + return api.delete<{ avatar: string }>("me/avatar") } export function getTutorial(id: number) { diff --git a/apps/web/src/oj/user/components/AchievementCard.vue b/apps/web/src/oj/user/components/AchievementCard.vue new file mode 100644 index 0000000..daefb09 --- /dev/null +++ b/apps/web/src/oj/user/components/AchievementCard.vue @@ -0,0 +1,133 @@ + + + + + diff --git a/apps/web/src/oj/user/components/AvatarCropModal.vue b/apps/web/src/oj/user/components/AvatarCropModal.vue new file mode 100644 index 0000000..091f98c --- /dev/null +++ b/apps/web/src/oj/user/components/AvatarCropModal.vue @@ -0,0 +1,391 @@ + + + + + diff --git a/apps/web/src/oj/user/components/KnowledgeMap.vue b/apps/web/src/oj/user/components/KnowledgeMap.vue index 28717a6..0061def 100644 --- a/apps/web/src/oj/user/components/KnowledgeMap.vue +++ b/apps/web/src/oj/user/components/KnowledgeMap.vue @@ -1,30 +1,33 @@ diff --git a/apps/web/src/oj/user/components/ProfileCard.vue b/apps/web/src/oj/user/components/ProfileCard.vue new file mode 100644 index 0000000..59be83f --- /dev/null +++ b/apps/web/src/oj/user/components/ProfileCard.vue @@ -0,0 +1,633 @@ + + + + + diff --git a/apps/web/src/oj/user/components/SolvedCard.vue b/apps/web/src/oj/user/components/SolvedCard.vue new file mode 100644 index 0000000..0bb2aba --- /dev/null +++ b/apps/web/src/oj/user/components/SolvedCard.vue @@ -0,0 +1,446 @@ + + + + + diff --git a/apps/web/src/oj/user/components/VersusCard.vue b/apps/web/src/oj/user/components/VersusCard.vue new file mode 100644 index 0000000..d7acd8c --- /dev/null +++ b/apps/web/src/oj/user/components/VersusCard.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/apps/web/src/oj/user/index.vue b/apps/web/src/oj/user/index.vue index a646e38..6bd3079 100644 --- a/apps/web/src/oj/user/index.vue +++ b/apps/web/src/oj/user/index.vue @@ -1,327 +1,157 @@ +