关于token的存放 | 青训营

169 阅读1分钟

token的作用

token是用来做访问权限控制的(没有token,不能去那些需要token才能访问的页面),调用哪些需要授权的api接口,多个地方都要使用,所以要找个地方统一存放。

token存放在本地

用户登录后,访问其他页面需要携带token,vuex是储存在内存里面的,而内存的特点就是快,将token存在vuex中可以提高获取token速度。因为localStorage的读取是一次磁盘读取,读取速度远低于vuex的内存读取,为了避免重复读取localStorage影响性能,需要将localStorage的数据放到vuex里维护

由于vuex是储存在内存里面的,所以刷新页面就会消失,所以要存本地一份,刷新后token从本地获取。

每次更新token也是修改vuex中的token,然后再覆盖到localstorage中。

token存放在vuex/pinia中

token直接存放在本地存储,拿出来不太方便,要先从本地存储取出,再放到vue实例的data函数中,还有它不是响应式的,也就是本地存储里面的内容发生改变,页面不会发生改变

解决方法:放在vuex中,可以实现数据的共享,相当于把它存放在一个公共的地方(就像公园这类的公共场所),想要读取也很方便,不过有个缺点,这里的数据一刷新,就看不见了,不会持久。

在这里面我们结合本地存储来使vuex里面的数据持久化。

总结

所以在vuex和本地中分别存储token是有必要的,为了更好的维护和更新token。