问题:用户登陆之后,接口返回一个token,需要前端在之后的每个请求中都添加一个accessToken
解决:封装一个request.ts的文件
import axios from 'axios';
import { message } from 'antd'
import { Cache } from 'utils/cache' //上一篇文章有封装教程
message.config({
maxCount: 1,
})
const service = axios.create({
timeout: 120000, //请求过期时间
baseURL: ''
})
service.interceptors.request.use(config => {
config.headers['accessToken'] = Cache.localGet('token') //config里就是可以统一配置request请求的参数,headers就可以在这设置
return config
},
error => Promise.reject(error)
)
service.interceptors.response.use((res) => { //如果要根据请求返回的结果进行一些操作就在response中设置
if (res.status === 200) {
if (res.data.code === '0') {
return res.data;
}
message.error(res.data.msg);
return Promise.reject(res.data)
}
}, error => {
if (error.response.status === 403) { //token过期了直接