mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-11-08 13:38:41 +00:00
feat(problem/remote/uoj): validate remote account status
This commit is contained in:
parent
091301d0c8
commit
b78c4d9cb5
@ -77,6 +77,29 @@ if ($type == 'luogu') {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}, 3);
|
||||
} else if ($type == 'uoj') {
|
||||
$curl->setFollowLocation();
|
||||
$curl->setCookie('UOJSESSID', UOJRequest::post('UOJSESSID', 'is_string', ''));
|
||||
|
||||
retry_loop(function () use (&$curl, &$res) {
|
||||
$curl->get(UOJRemoteProblem::$providers['uoj']['url'] . '/login');
|
||||
|
||||
if ($curl->error) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (str_starts_with($curl->responseHeaders['Content-Type'], 'text/html')) {
|
||||
if (str_contains($curl->response, '<title>登录')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$res = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}, 3);
|
||||
} else {
|
||||
|
@ -1181,16 +1181,31 @@ $.fn.remote_submit_type_group = function(oj, pid, url, submit_type) {
|
||||
uoj_account_data.UOJSESSID = $(this).val();
|
||||
input_my_account_data.val(JSON.stringify(uoj_account_data));
|
||||
save_uoj_account_data();
|
||||
my_account_validation_status.html('<span class="text-secondary">待验证</span>');
|
||||
});
|
||||
|
||||
my_account_validation_btn.click(function() {
|
||||
validate_my_account({
|
||||
type: 'uoj',
|
||||
UOJSESSID: input_uoj_uojsessid.val(),
|
||||
});
|
||||
});
|
||||
|
||||
input_my_account_data.val(JSON.stringify(uoj_account_data));
|
||||
input_uoj_uojsessid.val(uoj_account_data.UOJSESSID);
|
||||
|
||||
if (uoj_account_data.UOJSESSID) {
|
||||
validate_my_account({
|
||||
type: 'uoj',
|
||||
UOJSESSID: uoj_account_data.UOJSESSID,
|
||||
});
|
||||
}
|
||||
|
||||
div_submit_type_my.append(
|
||||
$('<div class="row mt-3" />')
|
||||
$('<div class="row mt-3 align-items-center" />')
|
||||
.append($('<div class="col-sm-2" />').append('<label for="input-uoj_uojsessid" class="col-form-label">UOJSESSID</label>'))
|
||||
.append($('<div class="col-sm-4" />').append(input_uoj_uojsessid))
|
||||
.append($('<div class="col-sm-6" />').append($('<div class="form-text" />').append('请填入 Cookie 中的 <code>UOJSESSID</code>。')))
|
||||
.append($('<div class="col-sm-6" />').append($('<div class="form-text mt-0" />').append('请填入 Cookie 中的 <code>UOJSESSID</code>。')))
|
||||
).append(input_my_account_data);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user