在 vuex 仓库中设置state的token值:从本地中取值:

登录的时候调用唯一可以修改state数据的mutations方法设置token ;

export default new Vuex.Store({
state: {
// 分类
// allCate: [],
user: getItem("USERTOKEN"),
},
getters: {},
mutations: {
setUserToken(state, data) {
state.user = data;
// 如果是简单数据不需要序列化 因此封装一个函数
// localStorage.setItem("USERTOKEN", JSON.stringify(data));
setItem("USERTOKEN", data);
},
},
// 在action中发起 axios?
actions: {},
modules: {},
});

在请求拦截器中判断是否存在token 有的话就给所有的请求携带token,

ps:有的接口不需要tokne参数,也可以添加tokne,因为服务器只会去验证自己需要的参数,其余的参数不会管;

// 添加请求拦截器
request.interceptors.request.use(
function (config) {
// 在发送请求之前做些什么
// console.log(config, "======请求拦截器=========");
// config 就是接口相关配置 eg headers data等
// 如果有token就把tokne加入请求参数
const { user } = store.state;
// console.log(user);
if (user && user.token) {
// console.log(111);
config.headers.Authorization = `Bearer ${user.token}`;
}
return config;
},
function (error) {
// 对请求错误做些什么
return Promise.reject(error);
}
);

使用 vuex 和 本地存储实现永久性token存在 并且在请求拦截统一添加headers token 避免重复代码的更多相关文章

  1. http request 请求拦截器,有token值则配置上token值

    // http request 请求拦截器,有token值则配置上token值 axios.interceptors.request.use( config => { if (token) { ...

  2. H5本地存储详细使用教程(localStorage + JSON数据存储应用框架)

    一.Web Storage教程 1.概述: 对于Web Storage来说,实际上是Cookies存储的进化版.如果了解Cookie的人几乎一看Web Storage就会用,如果你从来没用过没了解过C ...

  3. H5新特性 本地存储---cookie localStorage sessionStorage

    本地存储的作用 :避免登录网站时,用户在页面浏览时重复登录,也可以实现快速登录,一段时间内保存用户的登录效果,提高页面访问速率 在html5中提供三种数据持久化操作的方法: 1.cookie 可看作是 ...

  4. 由前端登录验证,页面跳转,携带headers token引发的思考和尝试

    目录 1 前言 2 我的实现方式与存在的问题 3 我想到的解决方案 3.1 前端跳转时携带headers{'token': token} 不就行了(经验证不可行) 3.2 前端跳转封装请求,携带hea ...

  5. 交互-通过axios拦截器添加token认证

    通过axios拦截器添加token认证 一.通过axios请求拦截器添加token,保证拥有获取数据的权限 通常访问接口需要相关权限,通常是需要携带token如下所示 那如何在请求头中添加token? ...

  6. vuex存储和本地存储的区别

    1.实质的区别 vuex存的是状态,存储在内存,localstorage是浏览器提供的接口,让你存的是文件,以文件的形式存储在本地 2.应用场景 vuex用于组件之间的传值,localstorage则 ...

  7. 本地存储和vuex使用对比

    1. sessionStorage sessionStorage 方法针对一个 session 进行数据存储.当用户关闭浏览器窗口后,数据会被删除. 用法: 储存: 1. 点(.)运算符        ...

  8. 【转】本地存储-localStroage/sessionStorage存储

    原文地址:[js学习笔记-103]----本地存储-localStroage/sessionStorage存储 客户端存储 l  WEB存储 web存储最初作为html5的一部分被定义成API形式,但 ...

  9. Html5 学习系列(六)Html5本地存储和本地数据库

    一个网站如何能在客户的浏览器存储更多的数据呢? 在Html4的时代在浏览器端存储点网站个性化的数据,尤其是用户浏览器的痕迹,用户的相关数据等一般只能存储在Cookie中,但是大多是浏览器对于Cooki ...

  10. Chrome扩展开发之三——Chrome扩展中的数据本地存储和下载

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

随机推荐

  1. 【JavaWeb】封装一个MVC框架

    框架参考自: https://www.bilibili.com/video/BV1gV411r7ct 在老师的基础上添加了 1.POST参数处理 2.Tomcat8版本下中文乱码处理 3.可声明请求方 ...

  2. pygame游戏:python版本的贪吃蛇游戏 —— Python 贪吃蛇魔改大赛

    在网上找python版本的贪吃蛇游戏,看到一个Gitee Community / Python 贪吃蛇魔改大赛,感觉还不错,这里收藏下. 一等奖 1名 Snake Quest 蛇蛇闯关: jeffya ...

  3. MindSpore 建立神经网络

    代码原地址: https://www.mindspore.cn/tutorial/zh-CN/r1.2/model.html 建立神经网络: import mindspore.nn as nn cla ...

  4. 9组-Beta冲刺-3/5

    一.基本情况(15分) 队名:不行就摆了吧 组长博客:9组-Beta冲刺-3/5 GitHub链接:https://github.com/miaohengming/studynote/tree/mai ...

  5. C# 菜单项添加复选标记

    在网上查找都是说直接用菜单项的Checked属性, toolMenuItem.Checked=!toolMenuItem.Checked; 但是我用了也切换不过来. 有点晕菜了,我用的是vs2017. ...

  6. mariadbl数据库环境迁移

    前言: 数据库的主要作用就是对数据进行保存和维护,所以备份数据是数据库管理中最常用的操作.为了防止数据库意外崩溃或硬件损伤而导致的数据丢失,数据库系统提供了备份和恢复策略.保证数据安全的最重要的一个措 ...

  7. Visual studio 2019 无法推送代码到 GitHub

    博客转载:VS2022 无法推送到GitHub,也无法克隆项目_vs连不上github-CSDN博客 问题描述` 使用vs2019 git无法推送到github 解决办法` 按照大神的描述设置,非常好 ...

  8. layui的各模块的基本用途是什么?

    Layui 是一个流行的前端UI框架,提供了多个模块,每个模块有不同的功能和用途.以下是 Layui 的一些主要模块以及它们的基本用途: 核心模块(layui): Layui 的核心模块包含了一些核心 ...

  9. 【YashanDB知识库】手动停止统计信息自动收集任务导致的性能变差

    [问题分类]功能使用 [关键字]统计信息收集 [问题描述]UAT对外演示环境因统计信息收集任务引起数据库整理性能变慢无应急处理手段 [问题原因分析] ● DROP_JOB程序用于删除一个非执行状态下的 ...

  10. python 或者 pyspark 和 java 交互, pyspark 里怎么调用自定义的 jar 包

    1. python 直接访问 jar 里面的类 先定义java文件,然后要访问java class, 需要有gateway server 和 entrypoint, 到时候python就可以连接上ga ...