mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 17:36:08 +08:00
core: contest file download
This commit is contained in:
1 parent
5c5864a7c2
commit
ea8bd323c7
2 files changed
+19
-6
No files matched your search
@@ -313,14 +313,27 @@ export class ProblemDetailHandler extends ProblemHandler {
|
||||
this.extraTitleContent = this.pdoc.title;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async get(..._args: any[]) {
|
||||
@query('tid', Types.ObjectID, true)
|
||||
async get(...args: any[]) {
|
||||
// Navigate to current additional file download
|
||||
// e.g.  will navigate to 
|
||||
if (!this.request.json) {
|
||||
this.response.body.pdoc.content = this.response.body.pdoc.content
|
||||
.replace(/\(file:\/\//g, `(./${this.pdoc.docId}/file/`)
|
||||
.replace(/="file:\/\//g, `="./${this.pdoc.docId}/file/`);
|
||||
if (args[1]) {
|
||||
console.log(this.response.body.pdoc.content);
|
||||
this.response.body.pdoc.content = this.response.body.pdoc.content
|
||||
.replace(/\(file:\/\/(.+?)\)/g, (str) => {
|
||||
const info = str.match(/\(file:\/\/(.+?)\)/);
|
||||
return `(./${this.pdoc.docId}/file/${info[1]}${info[1].includes('?') ? '&' : '?'}tid=${args[1]})`;
|
||||
})
|
||||
.replace(/="file:\/\//g, (str) => {
|
||||
const info = str.match(/="file:\/\/(.+?)"/);
|
||||
return `="./${this.pdoc.docId}/file/${info[1]}${info[1].includes('?') ? '&' : '?'}tid=${args[1]}"`;
|
||||
});
|
||||
} else {
|
||||
this.response.body.pdoc.content = this.response.body.pdoc.content
|
||||
.replace(/\(file:\/\//g, `(./${this.pdoc.docId}/file/`)
|
||||
.replace(/="file:\/\//g, `="./${this.pdoc.docId}/file/`);
|
||||
}
|
||||
}
|
||||
this.response.body.page_name = this.tdoc
|
||||
? this.tdoc.rule === 'homework'
|
||||
|
||||
Reference in new issue
Block a user