Cookie与VueRouter的history模式结合

一、前言

    cookie主要用于存储用户的身份信息等,但是在vue路由中使用history模式,如果不指定path,那么在不同path下是无法共享cookie的。较为实用的办法是在设置cookie时,指定path为根目录,即path=/;

    本文主要提供一些cookie的常用方法。

二、正文

    1、设置cookie

function setCookie(key,value,expires){
    expires = +new Date + expires;
    expires = new Date(expires);
    //指定path为项目根路径,这点至关重要!
    document.cookie = `${key}=${value};path=/;expires=${expires}`;
}

    2、获取指定的cookie信息    

function getCookie(key){
    let arr,reg = new RegExp("(^|)"+key+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg)){
        return unescape(arr[2]);
    }else{
        return "";
    }

}

    3、清除所有cookie    

clearAllCookies(){
    let cookies = document.cookie.match(/[^=;]+(?=\=)/g);
    if(cookies){
        for(let i=0;i<cookies.length;i++){
            document.cookie = cookies[i] + '=0;path=/;expires=' +new Date(0).toUTCString();
        }
    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Vue RouterVue.js框架中用来处理路由的插件。它允许我们在Vue.js应用程序中实现路由功能。实现登录时长的方式有很多种,以下是一种示例方法: 首先,在Vue Router的官方文档中,我们可以了解到Vue Router提供了一种名为导航守卫(navigation guard)的功能。导航守卫允许我们在路由切换时执行一些逻辑操作,例如:前置守卫(beforeEach)、后置守卫(afterEach)等。 对于设置登录时长,可以通过在路由切换时检查用户的登录状态来实现。例如,我们可以在beforeEach导航守卫中进行登录状态的检查。具体的实现步骤如下: 1. 在Vue Router的配置文件中,引入登录状态管理的模块,例如Vuex或其他自定义的状态管理机制。 2. 在beforeEach导航守卫函数中,获取用户的登录状态。如果用户已登录,则继续路由切换;如果用户未登录,则跳转到登录页面。 3. 在登录页面中,用户输入登录信息后,可以通过调用登录接口来获取登录凭证,例如token,并将登录状态存储到状态管理中。 4. 在登录接口的处理逻辑中,设置登录时长。可以将登录时长保存在浏览器的LocalStorage或Cookie中,用于在浏览器关闭后仍能保持登录状态。 5. 在应用程序初始化时,检查LocalStorage或Cookie中的登录时长是否过期,如果过期则需要重新登录。 通过以上步骤,我们可以设置并控制用户的登录时长。当登录时长过期后,用户需要重新进行登录操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值