Compare commits

..
2 Commits
Author SHA1 Message Date
xuyueandClaude Opus 4.8 e7a621075c 移除 OI 残留:前端 Profile / Rank 去掉 oi_problems_status / total_score
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
配合后端删除 UserProfile 的 OI 字段:
- Profile、Rank 类型移除 oi_problems_status、total_score
- 用户主页 AC 列表只用 acm_problems_status,去掉 oi 合并

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 11:43:11 -06:00
xuyueandClaude Opus 4.8 081981d115 精简 Problem 模型:前端移除 rule_type / io_mode / total_score
配合后端删除这三列:
- Problem 类型与 admin 出题页去掉 rule_type、io_mode 字段
- 出题提交 payload 不再携带这些字段

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 11:42:21 -06:00
3 changed files with 5 additions and 36 deletions
-8
View File
@@ -79,16 +79,10 @@ const problem = useLocalStorage<BlankProblem>(STORAGE_KEY.ADMIN_PROBLEM, {
],
test_case_id: "",
test_case_score: [] as Testcase[],
rule_type: "ACM",
hint: "",
source: "",
prompt: "",
answers: [] as { language: LANGUAGE; code: string }[],
io_mode: {
io_mode: "Standard IO",
input: "input.txt",
output: "output.txt",
},
contest_id: "",
allow_flowchart: false,
mermaid_code: "",
@@ -240,7 +234,6 @@ async function getProblemDetail() {
problem.value.samples = data.samples
problem.value.test_case_id = data.test_case_id
problem.value.test_case_score = data.test_case_score
problem.value.rule_type = data.rule_type
problem.value.hint = data.hint
problem.value.source = data.source
problem.value.prompt = data.prompt
@@ -260,7 +253,6 @@ async function getProblemDetail() {
code: "",
}))
}
problem.value.io_mode = data.io_mode
if (problem.value.contest_id) {
problem.value.contest_id = problem.value.contest_id
}
+5 -8
View File
@@ -98,15 +98,12 @@ async function init() {
const res = await getProfile(route.query.name as string)
profile.value = res.data
const acm = res.data.acm_problems_status.problems || {}
const oi = res.data.oi_problems_status.problems || {}
const ac: string[] = []
for (let problems of [acm, oi]) {
Object.keys(problems).forEach((id) => {
if (problems[id]["status"] === 0) {
ac.push(problems[id]["_id"])
}
})
}
Object.keys(acm).forEach((id) => {
if (acm[id]["status"] === 0) {
ac.push(acm[id]["_id"])
}
})
ac.sort()
problems.value = ac
const promises: Promise<{ data: any }>[] = []
-20
View File
@@ -12,15 +12,6 @@ export interface Profile {
}
}
}
oi_problems_status: {
problems: {
[key: string]: {
_id: string
score: number
status: number
}
}
}
avatar: string
blog: null
mood: string
@@ -29,7 +20,6 @@ export interface Profile {
major: string
language: string
accepted_number: number
total_score: number
submission_number: number
}
@@ -145,17 +135,10 @@ export interface Problem {
last_update_time: null
time_limit: number
memory_limit: number
io_mode: {
input: string
output: string
io_mode: string
}
rule_type: string
difficulty: "Low" | "Mid" | "High"
source: string
prompt: string
answers: { language: LANGUAGE; code: string }[]
total_score: number
submission_number: number
accepted_number: number
statistic_info: { [key: string]: number }
@@ -207,7 +190,6 @@ type ExcludeKeys =
| "statistic_info"
| "accepted_number"
| "submission_number"
| "total_score"
export type BlankProblem = Omit<Problem, ExcludeKeys> &
AlterProblem & { id?: number }
@@ -500,7 +482,6 @@ export interface Rank {
}
}
}
oi_problems_status: {}
real_name: null | string
avatar: string
blog: null
@@ -510,7 +491,6 @@ export interface Rank {
major: null | string
language: null | string
accepted_number: number
total_score: number
submission_number: number
}