置信大家平时的有的业务逻辑
就是登录之后要把token存下来
之前的我的项目大多数用的都是cookie
在这次的我的项目我用了vue-cookies保留token
保留没有问题 然而我须要再main.js中写一个全局的办法须要获取cookie中的token 这时候就发现了 无论是我用vue-cookies的办法 还是js原生的获取cookie都获取不到 百度了很多办法都没有实现
于是还是决定应用localStorage localStorage是没有时效设置的 所以须要本人写一个办法来设置时效
代码参考https://blog.csdn.net/yunchon...

首先新建一个js文件用来放封装的办法
storage.js

let myStorage=(function() {    function setItem(params) {//存入localStorage办法        // 存入的参数        const obj = {            name: "",   // 存入的名字            value: "",   // 存入的值            expires: "",   // 过期工夫            startTime: new Date().getTime()  //存入的工夫        }        const options = {};// 将obj 和传进来的params 合并  放到options外面 实现js中浅拷贝        Object.assign(options, obj, params);        // 判断用户是否设置了过期工夫        if (options.expires) {            //  以options.name为key,    options为值放进去            localStorage.setItem(options.name, JSON.stringify(options));        } else {            // 如果 options.expires 没有设置的话, 就判断一下value的类型            // 留神 咱们 的 localStorage 只能存储字符串 像是数组和对象要转换下            let type = Object.prototype.toString.call(options.value);            if (type == '[object Object]' || type == '[object Array]') {                options.value = JSON.stringify(options.value);            }            localStorage.setItem(options.name, options.value);        }    }    // 获取数值    function getItem(name) {        let item = localStorage.getItem(name);        // 判断 item 是否存在         if (item) {            // 先将取到的对象 看能转换成object 对象格局,不能就阐明不是json字符串模式            try {                item = JSON.parse(item);            } catch (error) {                item = item;            }            // 如果有expires的值,阐明设置了生效工夫            if (item.expires) {                    // 获取以后工夫                let now = new Date().getTime();                // 以后的工夫和存入时候的工夫 进行相减 和过期工夫进行比拟                // 大于就阐明过期了 革除存储  小于或者等于 就没有过期                 if (now - item.startTime > item.expires) {                    localStorage.removeItem(name);                    return false;  // 返回一个状态值                } else {                    //缓存未过期,返回值                    return item.value;                }            } else {                // 没有设置过期工夫,间接返回值                return item;            }        }else{            return false; // 如果item 值为undefined 则阐明没有存储 返回false        }    }    // 移除指定的缓存    function removeItem(name) {        localStorage.removeItem(name);    }    // 移除所有的存储数据    function clear() {        localStorage.clear();    }    return {    // 返回 执行接口        setItem,        getItem,        removeItem,        clear    }})();export default myStorage; //裸露办法

外围的代码就是这些
而后引入这个js

import setStorage from 'yourpath/storage.js'

接下来就能够应用了

setStorage.setItem({value:yourtoken,name:'token',expires:604800000})//存储token  过期工夫是毫秒   我这里是一周setStorage.getItem('token')//获取token