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(); }