vue3前端开发-小兔鲜项目-路由拦截器增加token的携带!实际开发中,很多业务接口的请求,都要求必须是登录状态!为此,这个token信息就会频繁的被加入到了请求头部信息中。request请求头内既然需要频繁的携带这个token.我们就可以把它配置一下。添加到路由拦截器内。
1:修改一下,路由拦截器的代码内容。
//axios基础的封装
import axios from "axios";
import { ElMessage } from 'element-plus'
import 'element-plus/theme-chalk/el-message.css'
import { useUserStore } from '@/stores/user';const httpInstance = axios.create({baseURL:'http://pcapi-xiaotuxian-front-devtest.itheima.net',timeout:5000
})
//axios请求拦截器
httpInstance.interceptors.request.use(config =>{// 1. 从pinia获取token数据const userStore = useUserStore()// 2. 按照后端的要求拼接token数据const token = userStore.userInfo.tokenif (token) {config.headers.Authorization = `Bearer ${token}`}return config},e => Promise.reject(e)
)
//axios响应拦截器
httpInstance.interceptors.response.use(res => res.data,e =>{ElMessage({type:'warning',message:e.response.data.message})return Promise.reject(e)}
)
export default httpInstance
2:主要是做了一个简短的配置。
如图,从pinia中获取这个token。然后安装后端工程师的要求去拼接token。
题外话:每个公司,都有自己公司特殊定义的要求格式。所以,到时候询问后端开发人员,就知道,该如何拼接token字符串了。
3:测试一下效果如何。
如图,所示,无论是哪个接口调用,都自动拼接带着这个拼接完成后的token信息了。