写得都非常粗糙,很多错误,谨慎使用。目前适配 Hydro 版本 4.16.0
。
- 交流反馈 QQ 群:515497602
- 网络友好的 Gitee 镜像库:https://gitee.com/wood3_admin/hydro-plugins
frontend-33oj
:33OJ 的前端修改badge-33oj
:徽章管理插件realname-33oj
:简单实名插件checkin-33oj
:打卡及每日运势pastebin-33oj
:剪贴板插件,基于官方例子与 liyanqwq/hydrooj-pastebin-pluscoin-33oj
:简单硬币插件countdown
:倒计时插件,基于 liyanqwq/hydrooj-countdowngroup-plus-33oj
:更友好的小组管理(计划中)
33OJ 的一些前端修改
- 添加插件:
hydrooj addon add /path/to/frontend-33oj
- 重启程序:
pm2 restart hydrooj
public/
:33OJ 的一些 logo,注意替换templates/ranking.html
:去掉了个人简介的部分templates/layout/html5.html
:添加圆角样式templates/partials/footer.html
:按个人喜好去掉了一些内容,添加了修改声明templates/partials/problem_default.md
:将默认题目模板替换成了 题型测试:输出测试templates/partials/homepage/recent_problems.html
:去掉了最近题目的时间templates/user_detail.html
:依赖 coin 插件与 realname 插件。在个人页面展示硬币数量、实名信息、并隐藏掉个人简介。templates/partials/problem_sidebar_normal.html
:把重测按钮在统计页面临时隐藏
templates/partials/scoreboard.html
:成绩表中显示分组名templates/partials/homepage/sidebar_nav.html
:添加了一个可以在控制面板设置的边栏导航。- 使用:进入
控制面板
、系统设置
、hydrooj
、首页
,如下配置好需要展示的链接sidebar_nav: - title: 常用功能 urls: - name: "33 NAV" url: https://www.33dai.cn - name: 云剪贴板 url: /paste/manage - name: 查看徽章 url: /badge - title: 常用 OJ urls: - name: HydroOJ url: https://hydro.ac/ - name: 洛谷 url: https://www.luogu.com.cn/ - name: AtCoder url: https://atcoder.jp/ - name: CodeForces url: https://codeforces.com/
- 使用:进入
徽章管理插件
- 添加插件:
hydrooj addon add /path/to/badge-33oj
- 重启程序:
pm2 restart hydrooj
- 入口:
baseurl/badge
,找个地方把这个入口丢一下就好了。 - 权限配置:默认是所有用户可以查看,
PRIV.PRIV_CREATE_DOMAIN
用户可以管理。
简单实名插件,重载了 UserModel.getListForRender
来在榜单中展示用户名。默认有三个角色 0/1/2
分别对应 未分配/学生/老师
- 添加插件:
hydrooj addon add /path/to/realname-33oj
- 重启程序:
pm2 restart hydrooj
- 入口:
baseurl/realname/show
:查看所有实名用户。baseurl/realname/set
:设置实名。
- 权限配置:
- 所有人可以看到老师/学生的小 logo
perm.PERM_VIEW_DISPLAYNAME
(显示域中用户的显示名):可以查看到域中用户的实名PRIV.PRIV_CREATE_DOMAIN
(创建域):可以管理(设置实名、查看所有实名)。
打卡及每日运势
- 添加插件:
hydrooj addon add /path/to/checkin-33oj
- 重启程序:
pm2 restart hydrooj
进入 控制面板
、系统设置
、hydrooj
、首页
,如下配置好。
checkin:
luck_type:
- text: "大吉"
color: "#ED5A65"
- text: "吉"
color: "#ED5A65"
- text: "小吉"
color: "#ED5A65"
- text: "平"
color: "#161823"
- text: "小凶"
color: "#161823"
- text: "小凶"
color: "#161823"
- text: "大凶"
color: "#161823"
luck_vip:
- 2
- 3
默认打卡后得到 uid
在 luck_vip
中则显示 天天大吉
(颜色为 luck_type[0]
)。
基于官方例子与 liyanqwq/hydrooj-pastebin-plus 实现的剪贴板。
- 添加插件:
hydrooj addon add /path/to/pastebin-33oj
- 重启程序:
pm2 restart hydrooj
- 入口:
baseurl/paste/manage
,找个地方把这个入口丢一下就好了。 /paste/all
:拥有PRIV_CREATE_DOMAIN
权限的人可以管理所有剪贴板。
简单硬币插件,实际上就是一个账单和一个记录当前硬币数量的字段。
- 添加插件:
hydrooj addon add /path/to/coin-33oj
- 重启程序:
pm2 restart hydrooj
- 入口:
baseurl/coin/show
:查看所有人的硬币数量baseurl/coin/inc
:增加某位用户的硬币baseurl/coin/bill
:查看账单baseurl/coin/bill/0
:查看所有人baseurl/coin/bill/uid
:查看 uid 用户
- 权限配置:
PRIV.PRIV_CREATE_DOMAIN
:可以发硬币以及看所有硬币发放记录- 所有人可以看到硬币榜单和自己的账单
- 类似于导入用户的批量发硬币
- 更人性化的 UI
- 简单的商城系统
在 https://github.com/liyanqwq/hydrooj-countdown 的基础上进行了一些修改。
- 安装依赖:运行
cd /path/to/countdown
进入倒计时插件的文件夹,然后yarn
- 添加插件:
hydrooj addon add /path/to/countdown
在 控制面板
、系统设置
、hydrooj
、首页
中添加类似下面这样的配置项
countdown:
title: 倒计时-不计头尾
max_dates: 5
dates:
- name: NOI 2024 报到
date: 2024-07-16
- name: NOI 2024 Day1
date: 2024-07-18
- name: NOI 2024 Day2
date: 2024-07-20
- name: CSP-J/S 2024 第一轮
date: 2024-09-21
- name: CSP-J/S 2024 第二轮
date: 2024-10-26
然后重启程序:pm2 restart hydrooj