我现在已经基本摸清了洛谷的前后端套路。我们可以直接在 WyOJ 交洛谷的题目了。
具体做法是:
新增一个
/rp/{pid}的路由,专门给远程题目(Remote Problem,非常好的缩写)使用/rp/{pid}是有缓存的。缓存过的题目(题面)直接渲染,没有缓存的放入队列中等待缓存,前端自动定时刷新。/rp/{pid}模拟传统的/problem/{pid},可以提交题目,但是需要先绑定洛谷账号(uid 与 clientid)。我觉得远程提交列表还是和本地提交列表分开比较好。那就用一个
/rs/{rid},并放入队列中,等待定期爬取。除了爬取
/record/{rid},我们还可以直接爬/record/list?uid={uid},主动观察用户完成了什么题目。博客现在已经爬了,但是没有做定期更新。之后干脆直接把动态也爬过来,和 WyOJ 未来可能做的动态系统一融合。
这样一搞机房甚至可以直接白名单 WyOJ 了。机房的学弟学妹可不要怪我封了你们颓的路。

鲁ICP备2025150228号