最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3中的Token失效攔截處理方式

 更新時間:2024年08月30日 14:45:01   作者:velpro_!  
這篇文章主要介紹了Vue3中的Token失效攔截處理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Vue3 Token失效攔截處理

Token的有效性可以保持一段時間,如果用戶一段時間不做任何操作,Token就會失效,使用失效的Token再去請求一些接口,接口就會報錯,所以需要我們做一些處理

1. 在響應攔截器里面攔截這個錯誤

2. 攔截到后需要做的事:  

  • 1)應清除掉過期的用戶信息  
  • 2) 跳轉(zhuǎn)到登錄頁
// utils/http.js
import axios from "axios";
import {useUserStore} from "@/stores/user";
import router from '@/router'
const httpInstance = axios.create({
    baseURL: 'url',  // 基地址
    timeout: 5000    // 超時器
})
 
//攔截器
httpInstance.interceptors.request.use(config => {
    return config
}, e => Promise.reject(e))
 
//響應器
httpInstance.interceptors.response.use(res => res.data, e => {
    const userStore = useUserStore()  //pinia管理的用戶數(shù)據(jù)
    // 401 token失效處理
    // 1. 清除本地用戶數(shù)據(jù)
    // 2.跳轉(zhuǎn)到登錄頁
    if (e.response.status === 401) {
        userStore.clearUserInfo() 
        // userStore.userInfo = {}
        router.push('/login')
    }
    return Promise.reject(e)
})
export default httpInstance

Vue axios 響應攔截 token失效導致出現(xiàn)多個提示框的

// 響應攔截器 
let isToken=false
request.interceptors.response.use((res)=>{  
    // 沒錯誤返回200  錯誤·攔截  
    if (res.data.code ===200) {
        return res;
    }else if (res.data.code === 404){
        router.push('/login')
    }else if(res.data.code === 10020){
        // 防止失效導致出現(xiàn)多個提示框的解決辦法
        if(!isToken){
            isToken=true
            window.localStorage.removeItem('user')
            router.push('/login')   
            setTimeout(()=>{
                isToken=false
            },2000)
            return Message.warning(res.data.message)&&Promise.reject(res.data.message); 
        } 
    } 
},)

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

新蔡县| 东平县| 奉化市| 灵宝市| 韶山市| 承德县| 古丈县| 绿春县| 施秉县| 苍南县| 济宁市| 泽库县| 临漳县| 白山市| 巴彦县| 云霄县| 交城县| 靖江市| 大化| 界首市| 承德市| 福泉市| 张掖市| 贡觉县| 光山县| 丹巴县| 凤凰县| 庆安县| 文昌市| 西贡区| 常德市| 庄浪县| 巫溪县| 沙田区| 舒兰市| 象山县| 湄潭县| 徐水县| 五华县| 贵南县| 福贡县|