vue如何保存用户名?

一个后台管理系统,用户登录后页面右上角显示“欢迎您,admin”

admin为登录的账号

在登录成功时,我会保存token在cookie里,部分代码如下

setCookie('token',this.token,3600*12); //一天
this.$router.push('/home') //登录成功跳到首页

但是用户名我该保存在哪里呢?如果存在vuex里刷新了就没了

还有cookie可以同时存用户名和token吗?

一般大家这种情况是怎么解决的?

阅读 4.7k
5 个回答

刷新就重新获取

如果想刷新浏览器不丢失数据,可以用cookie、localStorage、sessionStorage、刷新就重新获取

cookie中可以保存用户名和token,因为每次请求浏览器都会将cookie中数据带给服务端,所以一般情况下cookie中只保存前后端交互的数据,建议放在sessionStorage或localStorage中保存。可以看下我的这篇文章 https://segmentfault.com/a/11...

const store = new Vuex.Store({
  // 定义状态
  state: {
    username: JSON.parse(sessionStorage.getItem('username')) || ""
  },
  mutations: {
    userName(state, msg){
      sessionStorage.setItem('username', JSON.stringify(msg))
      state.username= msg;
    }
  }
})

总之你得有后端接口支持

你这个应该是单页应用

首先呢,登录成功之后一般会请求后端登录接口,比如叫 login,成功之后返回一个 token 之类的,然后你存 cookie 里面,每一次接口都会带着的,后端接口要验证的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题