FHMinyi个人作品集
← 返回作品目录
作品札记 / 06 · 开源二次开发 · 前端

JYUOJ

开源 OJ 上的 AI 辅助与实时对战前端

JYUOJ 基于开源 HOJ 扩展。我在原有题目和提交流程中接入 AI 学习辅助与代码分析报告,并开发实时对战相关页面,让刷题、分析和对战的状态能在界面上衔接起来。

技术栈

  • Vue 2 / Vuex
  • Element UI
  • 流式响应
  • WebSocket
题目页面 · 本地演示题目
01 / MY WORK

我做了什么

我负责 AI 学习辅助、代码分析报告和实时对战的前端开发与接口集成,也完成了复习模式和团队申请审核页面。

  • 在题目页接入思路提示、复杂度分析和自由对话,处理流式内容显示、请求中止、复制、清空和公式展示。
  • 实现结构化代码报告,呈现复杂度、优化建议、诊断用例与代码风格,并接入请求、加载、取消和更新状态。
  • 开发模式选择、匹配、对战和结算页面,维护双方进度、题目切换、WebSocket 心跳、超时和退出清理;另补充复习模式与团队申请审核前端。
02 / USE

怎么使用

  1. 01

    进入题目,编写代码并使用 AI 辅助或代码报告。

  2. 02

    选择对战模式,进入匹配与确认流程。

  3. 03

    在对战中查看双方状态,结束后进入结算。

03 / ONE DETAIL

页面离开了,对战的旧状态也要结束

对战页面同时有连接、心跳、计时器、题目和双方进度。只切换路由,旧状态仍可能留在后台,影响下一次匹配。我在状态模块和页面生命周期中处理计时器清理、对战状态重置和退出流程。

同样的状态管理也用在 AI 报告里:请求时显示加载状态,允许中途取消,代码或评测状态变化后提示更新报告,让用户清楚当前看到的内容对应哪一次操作。

04 / RESULTS

项目成果

已完成 AI 学习辅助、结构化代码报告、实时对战、复习模式与团队申请审核等前端功能。代码报告将评测状态、复杂度、优化建议和边界用例放在同一界面,方便在提交后继续分析代码。

继续看作品易养鸽↗