- 「⋯」分两组:统计 / 点评 / 我的提交,分隔线,再是去自测猫 / 复制代码 / 重置代码 (老师还有课堂统计)。原来后几项在「代码」页签工具栏的「更多」里,代码页签那一行 现在只剩语言选择 - 菜单抽成 useEditorMenu,桌面工具栏的「更多」和手机的「⋯」共用一份;「课堂统计」弹窗 挂在页面上,两个入口开的是同一个 - 草稿键抽成 useDraftKey:编辑器存取草稿、「重置代码」删草稿用同一份算法。原来键在编辑器里拼、 当 prop 传给工具栏,挪出去之后再拼一份迟早对不上(题单入口还多了一种) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
cd960ca01c
commit
a538e60e28
7 files changed
+211
-154
No files matched your search
@@ -0,0 +1,25 @@
|
||||
import { useCodeStore } from "oj/store/code"
|
||||
import { useProblemStore } from "oj/store/problem"
|
||||
|
||||
/**
|
||||
* 这道题、这门语言的本地代码草稿存在哪个键下。编辑器(存、读草稿)和「重置代码」
|
||||
* (删草稿)都用这一份 —— 原来键在编辑器里拼、再作为 prop 传给工具栏,手机上「重置」
|
||||
* 挪进页签行的「⋯」之后就够不着了,再拼一份迟早和编辑器那份对不上。
|
||||
*
|
||||
* 题单入口单独一份:原来题库和题单共用 `problem_题号_contest_null_语言`,加入题单之前
|
||||
* 在题库里写对的代码,一进题单就摆在编辑器里(设计文档第 11 节 4)。
|
||||
* **键的最后一段必须是语言**,编辑器换语言时靠它判断草稿是不是这门语言的。
|
||||
*/
|
||||
export function useDraftKey() {
|
||||
const route = useRoute()
|
||||
const codeStore = useCodeStore()
|
||||
const problemStore = useProblemStore()
|
||||
return computed(() => {
|
||||
const id = problemStore.problem?._id
|
||||
if (!id) return ""
|
||||
const language = codeStore.code.language
|
||||
const problemSetId = route.params.problemSetId
|
||||
if (problemSetId) return `problem_${id}_problemset_${problemSetId}_lang_${language}`
|
||||
return `problem_${id}_contest_${route.params.contestID || null}_lang_${language}`
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user