<!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>