#

# 简介

域,可以理解为 OJ 中的 OJ。
用户有权限为自己创建多个域。(取决于用户组设定,需要 PRIV_CREATE_DOMAIN 权限)。 同一 Hydro 实例上的多个域间完全独立,仅用户信息相通(您在一个 Hydro 实例上注册账户后,在该实例的所有域中均有效)。

# 创建域

登录账号后,在“我的”选项卡中找到“我的域”,并点击“创建域”,填入以下信息:

  • ID: 每个域有一个唯一的 ID,将会在域 URL 中体现。创建后无法修改。
  • 名称: 域的名字,创建后可以更改。
  • 公告: 域主页上显示的公告,创建后可以更改。
  • avatar: 域头像,与用户头像同理,可以使用 gravatar:emailqq:idgithub:name 的格式添加。将会在“我的域”界面内显示。

创建域后,您将在此域中拥有管理员权限,可以在域内进行添加题目/创建比赛等操作。

# 初始化讨论节点

您可以在“管理域”选项卡中点击“初始化讨论节点”按钮初始化讨论节点。

# 访问控制

未登录用户将默认使用 guest 权限,登录用户将默认使用 default 权限。(所以将登陆用户设为 default 权限后并不会显示在“管理用户”页内)
所以将一个用户的权限设为 default 和将用户移出该域是等价的。

# 创建比赛

若您想要创建比赛,您可以在“比赛”选项卡中点击“创建一个比赛”按钮,并填写:

  • 规则;
  • 标题;
  • 开始日期,时间;
  • 持续时间;
  • 题目: 此比赛包含的题目的 ID,若有多个则用逗号分隔;
  • 内容: 该比赛的详细介绍;
  • 是否 Rated: 该比赛是否会改变参加选手的 RP。

设置完后可点击“创建”按钮创建比赛。

# 创建作业

若您想要创建作业,您可以在“作业”选项卡中点击“创建作业”按钮,并填写:

  • 标题;
  • 开始日期、时间;
  • 结束日期、时间;
  • 最长延期;
  • 延期递交扣分规则;
  • 题目:此作业包含的题目的 ID,若有多个则用逗号分隔;
  • 内容:该作业的详细介绍。

之后点击“创建”按钮进行创建。

# 创建训练

若您想要创建训练,您可以在“训练” 项卡中点击“新建训练计划”,填写以下信息:

  • 标题:该训练的标题;
  • 简介:该训练的简介,会与标题同时显示在列表页面中;
  • 说明:该训练的详细信息;
  • 计划:该训练的具体题目及计划信息,其格式如下:
[
  {章节详细信息},
  {章节详细信息},
  ...
  {章节详细信息}
]
1
2
3
4
5
6

其中,“章节详细信息”的包含以下部分:

  • _id:章节数字编号;
  • title:章节标题;
  • requireNids:训练此章节之前需要完成的章节数字编号,若无要求则留空,若有多个则使用逗号分隔;
  • pids:此章节中包含的题目的 ID,若有多个则使用逗号分隔。

举例:若要在训练中创建三个章节,章节中分别有 ID 为 1,2,3 的题目。其中章节一、二无前置条件,章节三需要同时完成章节一、二后才能进行,则格式如下:

[
  {
    "_id": 1,
    "title": "入门",
    "requireNids": [],
    "pids": [1]
  },
  {
    "_id": 2,
    "title": "精通",
    "requireNids": [],
    "pids": [2]
  },
  {
    "_id": 3,
    "title": "大师",
    "requireNids": [1,2],
    "pids": [3]
  }
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20