mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2024-11-16 13:01:14 +00:00
87 lines
3.0 KiB
HTML
87 lines
3.0 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>WebUi - Index</title>
|
|
</head>
|
|
|
|
<body>
|
|
<script>
|
|
async function CheckQQLoginStatus(retCredential) {
|
|
let QQLoginResponse = await fetch('../api/QQLogin/CheckLoginStatus', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Authorization': "Bearer " + retCredential,
|
|
'Content-Type': 'application/json'
|
|
}
|
|
});
|
|
if (QQLoginResponse.status == 200) {
|
|
let QQLoginResponseJson = await QQLoginResponse.json();
|
|
if (QQLoginResponseJson.code == 0) {
|
|
if (QQLoginResponseJson.data.isLogin) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
async function CheckWebUiLogined(retCredential) {
|
|
let LoginResponse = await fetch('../api/auth/check', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Authorization': "Bearer " + retCredential,
|
|
'Content-Type': 'application/json'
|
|
}
|
|
});
|
|
if (LoginResponse.status == 200) {
|
|
let LoginResponseJson = await LoginResponse.json();
|
|
if (LoginResponseJson.code == 0) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
async function InitPage() {
|
|
//查找URL参数是否有token
|
|
let url = new URL(window.location.href);
|
|
let token = url.searchParams.get("token");
|
|
if (token) {
|
|
let loginResponse = await fetch('../api/auth/login', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify({ token: token })
|
|
});
|
|
const loginResponseJson = await loginResponse.json();
|
|
let retCode = loginResponseJson.code;
|
|
if (retCode === 0) {
|
|
//登录成功
|
|
let retCredential = loginResponseJson.data.Credential;
|
|
localStorage.setItem('auth', retCredential);
|
|
}
|
|
}
|
|
|
|
let authData = localStorage.getItem('auth');
|
|
let isLogined = await CheckWebUiLogined(authData);
|
|
if (authData && isLogined) {
|
|
let isQQLoined = await CheckQQLoginStatus(authData);
|
|
if (!isQQLoined) {
|
|
window.location.href = './QQLogin.html';
|
|
return;
|
|
}
|
|
window.location.href = './config.html';
|
|
return;
|
|
}
|
|
window.location.href = './login.html';
|
|
return;
|
|
}
|
|
InitPage();
|
|
</script>
|
|
</body>
|
|
|
|
</html> |