IMUDGESOJ V2.0开发记录

发布于 2019-07-19  64 次阅读


耽搁了这么久,终于下定决心开发新OJ,打算在开学前上线。时间紧迫,而且暑假每天只有早晨和晚上有空,所以直接基于hustoj开发,主要重写web端和新增功能。(暑假有事耽搁了,开学前上不了线了...)

11-2

  • 修复竞赛的进度条和cookie,更改竞赛的布局
  • 完成竞赛的状态(将原来的状态改成了一个组件,与状态页面共用)
  • 完成竞赛的排行榜
  • 完成竞赛的提交(该自问题的提交)

11-1

  • 问题列表加入所有分类
  • 排行榜加入搜索用户
  • 加入用户信息界面

10-31

  • 完善权限控制
  • 开始制作个人信息界面
  • 提交页面加入CE和RE的反馈信息
  • 添加会员中心,开通会员可查看答案错误详情
  • 完成竞赛列表

10-30

  • 更改导航栏结构
  • 完成排行
  • 问题列表搜索加入分页
  • 加入分类的过滤功能
  • 完成积分记录和领取积分

10-29

  • 状态页面增加筛选功能
  • 优化问题列表&提交界面

7-23

要考试,停几天= =

7-22

  • 提交页面以后再优化,先弄状态页面
  • 没想到状态页面会这么复杂,对每一条数据都得判断是否是竞赛的提交,对于竞赛是现在在进行和以前进行的还需要区分,还要看是否有权限,是否是自己的,能否查看源码,是否是测试运行,不同的运行结果行为还不太一样等等。。。
  • 后端已完成,状态页面大体已完成,查看源码已完成,查看运行错误和编译错误以及编辑功能明天做
由于登的是管理员账号,还能看到ip,每条源码都能查看

7-21

  • 完成测试运行功能,优化提交
  • 后端实现权限控制。权限并不多,直接放入jwt中,验证身份时提取到数组中,可直接利用原系统的权限控制

7-20

  • 获取运行状态已完成,优化了下提交,开始做测试运行
  • 优化了分页逻辑
  • 增加了问题是否AC的提示
  • 修正了cookie的过期时间
接收到错误信息后显示出来并可关闭模态框
提交后先获取运行编号,接着获取运行结果。未获取到结果前,不能关闭模态框
获得结果后能关闭模态框
成功提交后按钮会有变化
优化分页逻辑
优化分页逻辑

7-19

  • 给问题列表的分页增加了记录功能,每次打开时显示上一次查看的页面
  • 开始制作提交页面,代码插件采用codemirror,实现代码自动补齐,高亮提示
  • 之前忘记实现退出了,增加了下
  • 提交代码功能已实现,获取运行状态明天再写
提交页面

7-18

  • 昨天过生日,休息了一天= =
  • 折腾了一下午的keep-alive,发现名字得保持一致,巨坑
  • 完成了问题列表,并在切出后再切回保持状态不变。带分页,有搜索,搜索范围为题目,来源,描述,支持多关键字。分类的显示后期需要优化。
问题列表

7-16

  • 根据实际情况改造了vue-element-admin,把交互的数据格式弄清楚了
  • 完成登录功能,权限控制暂时放着
  • 开始实现问题列表
登录界面

7-15

  • 确定不全新开发,直接基于hustoj开发。前后端分离,前端采用vue,后端采用php(可以直接利用现成的部分),然后前端采用vue-element-admin开发

7-13

  • 夏令营结束回家,先把线上系统的判题机修复了,顺便踩个坑,以后可以直接在centos上搭建判题机
  • 计划开发新系统