刷新token

128 阅读1分钟

import axios from 'axios'

// 创建axios实例

const httpService = axios.create({ timeout: 30000 })

// response拦截器

`httpService.interceptors.response.use(

response => {

const res = response.data
if (res.code===401) {
    const { refresh_token } = getToken()
    if (!refresh_token) {      
       // 没有登陆过 无token 
       return router.push("/login");
    } 
    // 有token 但是 token过期
    try { 
        // 根据 refresh_token 获取新的token 
        const { token } =await getRefreshToken()
        //存储token 
        localStorage.setItem('token', JSON.stringify(token))
        // 重新发送请求
        return request(error.response.config);
        }
     catch (e) {
        return router.push("/login");
    }

)`