后端,我已经写好了,

如果需要后端返回token,传送门

后端短信验证,传送门

后端防止,程序员恶意登录,进行ip封禁,传送门

后端拦截器,对无token的进行拦截,传送门

后端自定义异常,传送门


目录

前面干了啥?

1.创建请求拦截器

在vue的main.js中引入axios(基于vue-cli2脚手架创建的项目)

 请求拦截器代码

2.创建响应拦截器

响应拦截器代码

3.测试


思路:

使用vue【创建请求拦截器】,给所有的请求的请求头加token

【创建响应拦截器】,对所有后端返回,状态为500的错误(后端,我使用了自定义异常),进行拦截,并且显示问题,跳转重新登录。

前面干了啥?

我通过登录接口

 获取到了token,并且将token的数据存储在了localStore中

(在谷歌浏览器里,F12,Application菜单的Store中的localStore能够看到,后端传你的token,然后你通过localStore的set方法存储的token)

1.创建请求拦截器

在vue的main.js中引入axios(基于vue-cli2脚手架创建的项目)

 请求拦截器代码

// 添加请求拦截器axios.interceptors.request.use(function (config) {// 在发送请求之前做些什么// 判断是否存在token,如果存在将每个页面header添加tokenalert("请求拦截器成功")if (localStorage.getItem("token")) {config.headers.common['token'] = localStorage.getItem("token");alert("存在token加入请求头,请求头为"+JSON.stringify(config.headers))}return config}, function (error) {//当前端有错误的时候,几乎不存在router.push('/login')return Promise.reject(error)})

2.创建响应拦截器

响应拦截器代码

// 添加响应拦截器axios.interceptors.response.use(function (response) {// alert("响应拦截器成功拦截"+JSON.stringify(response))console.log(JSON.stringify(response))if(response.data["status"]==200){// 对响应数据做点什么return response}else{alert("响应拦截器【错误】"+response.data["msg"])return false}})

3.测试

请求拦截器测试:当我有token

 

 

 响应拦截器测试: token正确时

无法验证,我还没有写其他接口和路由,不过拦截器已经没有问题了,token也加在请求头里了

响应拦截器测试:验证码错误时

 

 

参考文章:

Vue:全局拦截所有请求,并在请求头中添加token_道祖且长的博客-CSDN博客_vue怎么将token添加到请求头