cookie 在登录时的存储,获取,清除
在项目中用到cookie一般是用在注册时的记住账号密码或保存固定时间的数据
也有一些是嵌入app中以链接的形式访问时使用的,根据项目需求使用。
// 设置cookie const setCookie = (cName, value, expiredays) => { const exdate = new Date(); exdate.setDate(exdate.getDate() + expiredays); document.cookie = cName + "=" + escape(value) + ((expiredays == null) ? ";expires=1" : ";expires=" + exdate.toUTCString()); }; // 取回cookie const getCookie = (cName) => { if (document.cookie.length > 0) { let cStart = document.cookie.indexOf(cName + "="); if (cStart !== -1) { cStart = cStart + cName.length + 1; let cEnd = document.cookie.indexOf(";", cStart); if (cEnd === -1) { cEnd = document.cookie.length; } return unescape(document.cookie.substring(cStart, cEnd)); } } return ""; };
// 清除cookie const removeCookie = (name) => { setCookie(name, "", -1); }; export { setCookie, getCookie, removeCookie };
以上相关cookie的封装方法。
在项目中登录注册中使用到用户名和密码,记住密码选项:
// cookie 存储 setCookie(c_name, c_pwd, exdays) { // 设置存储用户名密码 var exdate = new Date(); exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * exdays); // cookie 有效期 window.document.cookie = "userName" + "=" + c_name + ";path=/;expires=" + exdate.toGMTString(); window.document.cookie = "userPwd" + "=" + c_pwd + ";path=/;expires=" + exdate.toGMTString(); }, // cookie 获取 getCookie: function() { // 从cookie 获取用户名密码 if (document.cookie.length > 0) { var arr = document.cookie.split("; "); // 获取cookie 后以 "; " 进行分割 for (var i = 0; i < arr.length; i++) { var arr2 = arr[i].split("="); // 以 "=" 来进行分割 if (arr2[0] == "userName") { // 判断用户名是否是第一个 this.phone = arr2[1]; } else if (arr2[0] == "userPwd") { this.password = arr2[1]; } } this.check = true; // 记住密码单选框 } }, // cookie 清除 clearCookie: function() { this.setCookie("", "", -1); // 清楚所有的cookie }