2022年5月9日第四十六篇

今天,学习了cookie的用法,将用户驻留cookie,从而实现短时间内不用再次登录。

const login = () => {
  // 在用户跳转到登录页面时,开始计时并存储 store.username 到 Cookie
  startTimerAndStoreUsername();
  router.push('/login');
};

function startTimerAndStoreUsername() {
  // 在此处开始计时,例如,每秒更新一次 Cookie
  const timer = setInterval(() => {
    // 存储 store.username 到 Cookie
    document.cookie = `username=${store.username}; expires=${getExpirationDate(5)}; path=/`;
  }, 1000);
}

// 页面加载时读取 Cookie 中的 username
function readUsernameFromCookie() {
  const cookies = document.cookie.split(';');
  for (let cookie of cookies) {
    const [name, value] = cookie.trim().split('=');
    if (name === 'username') {
      // 如果存在 username,将其设置到 store 中
      store.username = value;
      break;
    }
  }
}

// 在页面加载时执行读取 Cookie 操作
readUsernameFromCookie();

// 辅助函数:获取过期时间
function getExpirationDate(minutes) {
  const date = new Date();
  date.setTime(date.getTime() + (minutes * 60 * 1000));
  return date.toUTCString();
}

 

posted @ 2024-05-09 14:39  石铁生  阅读(3)  评论(0编辑  收藏  举报