let tokenKeyStr = "token"; function getCookie(name) { const cookies = document.cookie.split(";"); for (let i = 0; i < cookies.length; i++) { const cookie = cookies[i].trim(); if (cookie.startsWith(name + "=")) { return cookie.substring(name.length + 1); } } return null; } function setCookie(name, value, days) { const expires = new Date(); expires.setTime(expires.getTime() + days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + value + ";expires=" + expires.toUTCString(); } function checkLogin() { const loginId = getCookie(tokenKeyStr); if (loginId) { // 如果 cookie 中有 loginId,说明用户已经登录,直接放行 return true; } else { // 如果没有 loginId,弹出登录框 const username = prompt("请输入用户名"); const password = prompt("请输入密码"); // 发送登录请求 const xhr = new XMLHttpRequest(); xhr.open( "POST", "https://php.tianyunperfect.cn/controller/user.php?action=login", false ); xhr.setRequestHeader("Content-Type", "application/json"); xhr.send( JSON.stringify({ username, password, }) ); const response = JSON.parse(xhr.responseText); if (response.code === 200) { setCookie(tokenKeyStr, response.data.token, 30); return true; } else { // 登录失败,弹出错误提示 alert(response.message); // 删除token setCookie(tokenKeyStr, "", -1); return false; } } } checkLogin();