You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Menci
bd5112fc4f
|
6 years ago | |
---|---|---|
bin | 7 years ago | |
libs | 6 years ago | |
models | 6 years ago | |
modules | 6 years ago | |
static | 6 years ago | |
uploads | ||
views | 6 years ago | |
.babelrc | ||
.editorconfig | ||
.gitignore | 6 years ago | |
LICENSE | ||
README.en.md | 6 years ago | |
README.md | 6 years ago | |
app.js | 6 years ago | |
config-example.json | 6 years ago | |
package.json | 6 years ago | |
utility.js | 6 years ago |
README.md
SYZOJ 2
中文 | English
一个用于算法竞赛的在线评测系统。
此项目为重写过的、原 Python/Flask 版 SYZOJ 的官方后继版本,由原作者 @Chenyao2333 授权。
目前由 LibreOJ 维护。
升级须知
因为一些数据库结构的更新,从该 commit d5bcbe8fb79e80f9d603b764ac787295cceffa34(2018 年 4 月 21 日)前更新的用户必须在其数据库上执行以下 SQL 语句。
ALTER TABLE `judge_state` ADD `is_public` TINYINT(1) NOT NULL AFTER `compilation`;
UPDATE `judge_state` JOIN `problem` ON `problem`.`id` = `judge_state`.`problem_id` SET `judge_state`.`is_public` = `problem`.`is_public`;
ALTER TABLE `syzoj`.`judge_state` ADD INDEX `judge_state_is_public` (`id`, `is_public`, `type_info`, `type`);
从该 commit 26d66ceef24fbb35481317453bcb89ead6c69076(2018 年 11 月 5 日)前更新且使用除 SQLite 外数据库软件的用户必须在其数据库上执行以下 SQL 语句。
ALTER TABLE contest_player CHANGE score_details score_details JSON NOT NULL;
ALTER TABLE contest_ranklist CHANGE ranking_params ranking_params JSON NOT NULL;
ALTER TABLE contest_ranklist CHANGE ranklist ranklist JSON NOT NULL;
ALTER TABLE custom_test CHANGE result result JSON NOT NULL;
ALTER TABLE judge_state CHANGE compilation compilation JSON NOT NULL;
ALTER TABLE judge_state CHANGE result result JSON NOT NULL;
部署
之前的部署指南已经过期并已被删除。最新的部署指南将在不久后可用。
加入 QQ 群 565280992 或 Telegram 群 @lojdev 以取得帮助。
邮箱配置
register_mail
是否启用注册邮件验证。
email_jwt_secret
用于邮件令牌签名的密钥,为了安全起见,请使用随机字符串填写。
Sendmail(成功率低,不推荐)
"email": {
"method": "sendmail",
"options": {
"address": "sender@address.domain",
}
},
阿里云邮件推送服务(成功率高,推荐)
"email": {
"method": "aliyundm",
"options": {
"AccessKeyId": "xxxx",
"AccessKeySecret": "xxxx",
"AccountName": "sender@address.domain"
}
},
SMTP
"email": {
"method": "smtp",
"options": {
"host": "smtp.163.com",
"port": 465,
"username": "xxx@163.com",
"password": "xxx",
"allowUnauthorizedTls": false
}
},