vue登录页面cookie的使用及页面跳转

1、大概流程

 a、登录:前端使用validate对输入信息进行验证 验证成功则成功跳转到用户信息页并存储cookie值

 b、首页跳转用户信息页:判断cookie值cookie存在并不为空则跳转用户信息页,若为空则跳转登录页

 c、退出页:点击退出跳转首页并删除cookie值

2、目录介绍

cookie.js为公共方法,用于cookie的存储、获取及删除

login.vue :登录页

index.vue:首页

user.vue:用户信息页

myinfo.vue:退出页


3、文件内容

a、cookie.js

/*用export把方法暴露出来*/
/*设置cookie*/
export function setCookie(c_name,value,expire) {
    var date=new Date()
    date.setSeconds(date.getSeconds()+expire)
    document.cookie=c_name+ "="+escape(value)+"; expires="+date.toGMTString()
    //console.log(document.cookie)
}


/*获取cookie*/
export function getCookie(c_name){
    if (document.cookie.length>0){
        let c_start=document.cookie.indexOf(c_name + "=")
        if (c_start!=-1){ 
            c_start=c_start + c_name.length+1 
            let c_end=document.cookie.indexOf(";",c_start)
            if (c_end==-1) c_end=document.cookie.length
                return unescape(document.cookie.substring(c_start,c_end))
            } 
        }
    return ""
}


/*删除cookie*/
export function delCookie(c_name){
    setCookie(c_name, "", -1)
}

b、login.vue

methods:{

  submit(){

              setCookie('username',username,1000*60)
      axios.get('http://172.16.2.43:8080/static/data/mt_index.json').then((res)=>{
this.$router.push({
                  path: '/user', query:{userid: $("input[name='username']").val()}
                 });  
                 //this.setuserid($("input[name='username']").val());               
}) 

  }

}

c、index.vue

<div class="topheader">
    <span class="location fl">北京</span>
    <div class="search-box">
         <a href=""><input type="text"></a>            
    </div>
    <span class="mine" @click="jampmin">我的</span>
</div>
jampmin(){
    //获取cookie值
    var username=getCookie('username');
    if(username==''||username=='undefind'){
      this.$router.push({
               path: '/login'
           });
    }else{
      this.$router.push({
               path: '/user'
           });
    }         

d、myinfo.vue

 <p @click="signout()" class="signout">退出</p>

signout(){
   /*删除cookie*/
   delCookie('username');
   this.$router.push({
       path: '/index'
    });

}


写项目时参考的文档https://segmentfault.com/a/1190000009329619 写的很清楚

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue2中使用`vue-cookie`库可以很方便地处理Cookie。你可以使用该库来实现一个登录失效的页面。下面是一个示例: 首先,安装`vue-cookie`库: ```bash npm install vue-cookie ``` 然后,在你的Vue项目中,创建一个名为`ExpiredPage.vue`的组件,用于显示登录失效的页面内容。在该组件的`created`钩子函数中,你可以使用`vue-cookie`库来检查是否存在登录相关的Cookie,如果不存在则表示登录已失效。 ```html <template> <div> <h1>登录已失效</h1> <p>请重新登录</p> </div> </template> <script> import VueCookie from "vue-cookie"; export default { created() { const isLoggedIn = VueCookie.get("isLoggedIn"); if (!isLoggedIn) { // 登录已失效,执行相关操作,例如跳转登录页面 this.redirectToLogin(); } }, methods: { redirectToLogin() { // 执行跳转登录页面的操作 // 例如使用Vue Router进行跳转 this.$router.push("/login"); } } }; </script> ``` 在上面的代码中,我们首先导入了`vue-cookie`库并将其命名为`VueCookie`。然后,在`created`钩子函数中,我们使用`VueCookie.get()`方法检查是否存在名为"isLoggedIn"的Cookie。如果不存在,则表示登录已失效,我们可以执行一些操作来处理失效情况,例如跳转登录页面。 请注意,上述示例代码仅为参考,实际应用中你可能需要根据你的具体需求进行适当的修改。 最后,将`ExpiredPage.vue`组件添加到你的路由配置中,以便在登录失效时显示该页面。 希望对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值