Skip to content
KingFree edited this page May 31, 2012 · 5 revisions

通用

首栏

首栏(全局栏)放置了常用功能的入口,首页、分类、题目、记录、比赛、页面、用户、讨论。

中间是一个搜索框,输入关键字按回车可以搜索题目。

右边是用户个人信息,当没有登录时点击下拉菜单会显示登录、注册、忘记密码选项,登录后会显示用户昵称,点击下拉菜单后显示用户昵称和头像(点击进入用户信息页)、设置、信件和退出选项。

有任何管理权限的用户会出现后台入口。

底栏

底栏放置系统运行信息,相关版权信息。右边是繁简切换,但只能在当前页生效。以后可能会加入全局语言功能,但没什么必要。

首页

首页放置了最新编辑的页面,最近添加的题目,系统公告和介绍,以及等级排名榜。如果有比赛的话会显示比赛列表而非页面列表。

登录

新版本取消了登录页面,改为JS控制直接登录。点击首栏右边的下拉菜单会出现登录表单,填写用户名和密码,点击登录即可。高端点的浏览器可能会自动填写表单,这样会更方便。登录后会跳转到原来的界面。后台会记录这一次登录操作。

注册

如果需要注册一个账号,点击右上角下拉菜单中的注册。阅读用户协议后点击同意,填写相关信息即可完成注册。

忘记密码

如果你忘记了登陆的密码,那么点击右上角下拉菜单中的忘记密码。输入用户名后下一步,输入问题答案下一步,密码被清空。请马上登录(密码为空),然后在控制面板中修改密码。

提示和错误系统

当操作成功、失败时会显示提示错误系统,我们采用了 Bootstrap 的 Modal 框。提示后会等待style_jumptime秒的时间然后跳转到相应页面(对应不同操作)。

题目

题目列表

题目列表首部的表单包含了随机题目、难度选择、题目搜索、以某一条件排序。随机题目会查询数据库返回一个当前登录用户没有通过的题目。排序功能可以顺序、逆序排序。

左边的绿色按钮单击进入分类列表。有修改题目权限的用户会出现添加新题目的按钮。

题目列表每页显示style_pagesize条记录。每天记录显示了题目编号、题目名称、文件名称、时间限制(单位秒)、空间限制(单位兆字节)、难度(星级标出)、通过次数、提交次数、通过率(通过次数/提交次数,一定程度上反映了题目难度)。对于有查看题目权限的用户,会显示标识(是否可提交)、阅读权限;对于有编辑题目权限的用户,会显示编辑链接。

题目页面

题目页面左侧显示了题目名称、难度等级、程序文件名称、输入输出、时间限制(毫秒、秒)、内存限制(兆字节),对比方式(简单、严格、评测插件)、测试点数(底色若为绿色表示可提交,为红色表示不可提交),添加时间(对于有编辑题目权限的用户,会显示编辑题目的按钮)、开放分组、提交状态(如果你提交过此题,则将最高得分的记录显示出来)、所属分类(该题所分的类)。如果你已登录,则会显示代码提交框,在此选择程序源代码文件、评测机(默认自动选择即可)、编程语言(默认C++),单击提交代码按钮即可进入编译运行页面。有测试题目权限的用户会显示不写入数据库选项,若选中此项则该次提交不计入数据库,不写入提交记录。

左侧中间是该题提交记录中综合排名,第一关键字为得分,然后按时间、空间排序。

左侧底部是该题评论列表,此处仅可查看而不能发表。点击发表评论连接可以进入题目评论页面发表评论。每条评论后都有一个向该用户发送信件的图标。

题目分类

分类列表很简单。有修改分类权限的用户可以添加编辑分类。

编译执行

提交代码或重新评测会进入该页面。蓝色框显示该次评测使用的评测机。绿色框显示编译信息,如果编译成功则会对没个测试点运行程序并给出相应信息,否则显示编译器给出的错误信息。右边黄色框显示该次评测的结果,点击测试点通过状况可以进入代码页面(新提交会进入最新代码页面而不一定是该次提交)。如果通过题目则显示鼓励信息,否则会给出未通过的警告。对于用户自己或有权限的用户,会显示第一个错误地测试点输入输出数据,上面是你在第几个测试点出现了爆零的情况的输入数据,下面是你的输出与标准答案不同的地方(这个是diff的返回结果而非评测插件的返回结果。上面带减号“-”的是你的输出,下面带加号“+”的是答案输出,“@@”之间的数字表示行号)。

记录

提交记录列表

上部输入用户UID和题目PID可以检索相关信息。由于记录数据很多,查询浪费资源,所以默认显示最新style_ranksize条记录,点击显示所有记录可以把所有相关记录显示出来。旁边的全部显示和只显示通过的是一对相关功能。

列表显示每条提交记录的SID、题目名称(点击题目名称显示该题提交记录,点击跳转按钮直接跳转到该题题目界面)、用户昵称(点击用户昵称显示该用户提交记录,点击用户头像直接跳转到该用户个人信息)、评测结果、得分(通过则显示为绿色,未通过显示)、编程语言(点击进入该条提交记录页面)、用时、内存、时间,有查看用户权限的用户可以看到真实姓名。

代码

代码页面针对该次记录左侧显示记录编号、题目名称、用户昵称、最终得分、评测结果、是否通过、代码语言、运行时间、内存使用、提交时间。用户自己和拥有相应权限的用户可以查看IP,进行重新评测。重新评测的结果会重写数据库覆盖原先结果。

右侧是代码,由 SyntaxHighlighter 插件显示出来。

是否通过提示图标

有些地方出现的对号、错号、减号图标表示当前登录用户是否通过了该题,对号表示通过,错号表示未通过,点击可以进入提交记录,减号表示没有提交过,点击也没有反应。

比赛

比赛列表

左上边的绿色按钮最近在线竞赛可以进入最近在线竞赛列表。有编辑比赛权限的用户显示添加新比赛按钮。右边显示加载此页面时服务器时间。

列表按开始时间顺序排列,显示每个场次比赛的比赛名称、场次介绍、状态(准备、进行、结束)、成绩(点击进入该场次比赛成绩列表)、开始时间、结束时间、开放分组。有权限的用户会显示评测(进入该场比赛评测界面,用于比赛结束时评测)、组织者、阅读权限、比赛编号(进入该比赛后台以编辑名称和题目)、场次编号(编辑该次比赛场次信息)。

最近在线竞赛

注意这个不是COGS的东西!我们直接调用了 doraemonok 编写的 各大OJ近期比赛汇总 ,显示各大OJ近期举办的比赛,如 Topcoder、Codeforces、UVA、各高校OJ什么的。点击链接进入比赛。

比赛题目

成绩列表

页面

为了现实一些重要信息而又不至于修改代码,我新添加了页面功能。

页面列表

列表显示页面编号AID、页面标题、创建时间、修改时间、开放分组,管理员显示添加用户、权限、编辑。排序为页面标题。

页面

页面显示页面内容。有修改页面权限的用户会显示修改按钮。

用户

用户列表

分组列表

用户详细信息

控制面板

上传头像

COGS采用了便捷易用的Gravatar头像系统,用户需要在该网站注册一个账号才能在COGS上显示头像。

首先进入Gravatar - 全球公认的头像网站,点击上方下滑菜单中的注册,输入你的电子邮件地址(对,就是你在 COGS 使用的邮箱),点击注册后会想你邮箱中发送一封验证邮件,以此连接验证身份后可在网站注册用户。上传头像并裁剪后会有评级系统,你只需要选择G(普通级)即可。

此网站在中国大陆访问可能会出现问题,这只能自行想办法解决咯。

社交

信件

讨论

讨论功能将会适时重新开发,所以文档留空。