Vue项目使用Cookie,以Json格式存入与读取Cookie,设置过期时间以及删除操作

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。Vue项目使用Cookie,以Json格式存入与读取Cookie,设置过期时间以及删除操作,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

前端项目开发时,常常需要很多小技巧,比如使用Cookie巧妙实现某个效果。此次就以Vue项目记录一下如何使用Cookie。

cookie.js

/**
 * 写入cookie
 * @param {*} name 
 * @param {*} value 
 * @param {*} time 
 */
function setCookie(name, value, time) {
    var strsec = getsec(time);
    var exp = new Date();
    exp.setTime(exp.getTime() + strsec * 1);
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}

/**
 * 设置过期时间
 * @param {*} str 
 * @returns 
 */
function getsec(str) {
    var str1 = str.substring(1, str.length) * 1;
    var str2 = str.substring(0, 1);
    if (str2 == "s") {
        return str1 * 1000;
    } else if (str2 == "h") {
        return str1 * 60 * 60 * 1000;
    } else if (str2 == "d") {
        return str1 * 24 * 60 * 60 * 1000;
    }
}
/**
 * 读取cookie
 * @param {*} name 
 * @returns 
 */
function getCookie(name) {
    var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    if (arr = document.cookie.match(reg)) return unescape(arr[2]);
    else return null;
}


/**
 * 删除cookie
 * @param {*} name 
 */
function delCookie(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = getCookie(name);
    if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

export {
    setCookie,
    getCookie,
    delCookie  
}

引用Cookie的文件,如index.vue

import {
  setCookie,
  getCookie,
  delCookie
} from '../utils/cookie';

methods: {
    setValToCookie() {
        let target_json = {};
        target_json['username'] = "Vegeta";
        setCookie("target_json", JSON.stringify(target_json), "s10");// 设置该cookie的键值以及10秒的过期时间
    },

    getValToCookie() {
        let target_str = getCookie("target_json")
        console.log("target_str =>", target_str)
        if(target_str != null) {
            let target_json = JSON.parse(target_str)
                if(target_json.username == 'Vegeta') {
                    // Todo
                    delCookie("target_json")// 删除该Cookie
              }
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/151157.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!