login.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. function checkLogin() {
  2. const loginId = getCookie('loginId');
  3. if (loginId) {
  4. // 如果 cookie 中有 loginId,说明用户已经登录,直接放行
  5. return true;
  6. } else {
  7. // 如果没有 loginId,弹出登录框
  8. const username = prompt('请输入用户名');
  9. const password = prompt('请输入密码');
  10. // 发送登录请求
  11. const xhr = new XMLHttpRequest();
  12. xhr.open('POST', 'https://php.tianyunperfect.cn/controller/user.php?action=login', false);
  13. xhr.setRequestHeader('Content-Type', 'application/json');
  14. xhr.send(JSON.stringify({
  15. username,
  16. password
  17. }));
  18. const response = JSON.parse(xhr.responseText);
  19. if (response.code === 200) {
  20. // 登录成功,设置 loginId 的 cookie,并放行
  21. setCookie('loginId', response.data.token, 30);
  22. return true;
  23. } else {
  24. // 登录失败,弹出错误提示
  25. alert(response.message);
  26. return false;
  27. }
  28. }
  29. }
  30. function getCookie(name) {
  31. const cookies = document.cookie.split(';');
  32. for (let i = 0; i < cookies.length; i++) {
  33. const cookie = cookies[i].trim();
  34. if (cookie.startsWith(name + '=')) {
  35. return cookie.substring(name.length + 1);
  36. }
  37. }
  38. return null;
  39. }
  40. function setCookie(name, value, days) {
  41. const expires = new Date();
  42. expires.setTime(expires.getTime() + days * 24 * 60 * 60 * 1000);
  43. document.cookie = name + '=' + value + ';expires=' + expires.toUTCString();
  44. }
  45. checkLogin();