- 分享
【2021/12/09】Hydro 常见问题解答
- 2021-11-30 15:08:38 @
持续更新,个人使用经验+用户群内大佬回答分享。既包括 HydroOJ(当前OJ) 的一些经验,又包括 Hydro 框架的经验。绝大部分内容非原创,而是来自于 Hydro 用户群。
Hydro 框架遇到问题时建议先在文档中查阅,然后确保自己使用的是最新版本(文档:更新),然后如果下方没有出现你遇到的问题,可以在Hydro 用户群(1085853538)详细描述问题来提问。
Q:
A:
Q:怎么删除用户?
A:可以安装一个navicat,然后打开user表,就很方便了。
Q:怎么在比赛的时候进行广播通知?
A:比赛主持人可以在 /contest/id/broadcast
操作。
Q:开发者模式部署了是不是就不能通过yarn global upgrade-interactive --latest来更新了?
A:是的,请使用 git pull
的方式更新
Q:如何删除域?
A:hydrooj cli domain del <id>
文档:hydrocli
Q:下载导出题目的时候出现一个github窗口,就是没有数据下载下来咋办?
A:打包依赖service worker,http环境是没法sw的,所以就需要借github.io的https来用。可以开启https。不使用https的话需要能够正常连接github。要不然就只能单文件下载。
Q:开发者模式下,服务器编译前端就死机,这正常吗?
A:这很正常。ui build至少需要4GB内存。小内存机器建议使用预编译的。
Q:如何屏蔽学生的题解查看?
A:域设置里创建无“查看题解”权限的角色,把学生设置为这样的角色。
Q:字段 content 验证错误?
A:内容栏写点东西,写啥都行,不能空着。
Q:更新后部分时间显示出错,显示出 %2021%30%2
这样的奇怪样子。
A:更新后出错一般都是因为手动的前端修改没有更新的原因,具体到这个问题,应该是与一次时区支持的更新有关(github),可以检查一下自己的修改的对应的页面。
Q:训练计划/作业/比赛中的某道题删除后导致无法打开了怎么办?
A:确认有编辑权限的情况下,在网址后面添加 /edit
,即可进入编辑界面。
Q:怎么备份?
A:文档:数据库备份和恢复
Q:怎么控制一道题的时间限制和内存限制?
A:文档:测试数据格式。可以在这里看到很多例子 系统测试题域。
Q:跨域引用怎么没用了?
A:跨域引用功能已经被复制功能替代了,可以参见文档:复制题目。简单来说,假设需要在 A 域引用 B 域的功能,可以先在 B 域的域设置中的“允许引用该域题目的域”填写 A 域的 id。然后在 B 域对应题目的侧边栏点击复制,紧接着填写 A 域 id 即可。
Q:如果想从一键部署换到开发者部署,但是不换数据库和存储,是可以实现的吗?
A:可以。只需要先 stop,clone repo 后,build 一下,然后 start 就行了。(stop、start 方法参见 文档:维护 )
Q:一个评测账号可以多个评测机公用吗?
A:推荐一个账号一个评测机。
Q:多评测机时会优先用哪个?
A:没有严格顺序,优先用空着的。
Q:怎么查看所有评测记录?
A:确认有权限的情况下在 url 添加 ?allDomain=1
,此时 url 大概长这样:域名/record?allDomain=1
。
Q:为什么评测记录数量会变少?
A:每天凌晨会自动删自测的历史记录。
Q:怎么查看页面/题目的原始数据?(指未经前端渲染的数据,不是指测试数据)
A:在题目的 url 后面添加 ?noTemplate=1
即可。
Q:一些导入的题目为什么会出现错误的 markdown 渲染?
A:可能是因为导入格式是 html 模式,此时数据库中会标注强制 html 渲染,只是编辑的话没用。可以在数据库中修改题目的 html 字段。