欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

VUE Token的失效處理詳解

 更新時間:2021年11月19日 15:34:08   作者:RxinY924  
這篇文章主要為大家介紹了VUE Token的失效處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

目標(biāo)

處理token失效的場景

token作為用戶的關(guān)鍵令牌信息不是長久有效的,一般都會有一個失效時間(由后端來決定什么時長后失效),如果超過失效時間,當(dāng)前token就不能再作為用戶標(biāo)識請求數(shù)據(jù)了,這時候我們需要做一些額外的失效處理

思路分析

在這里插入圖片描述

后端:收到用戶訪問某個接口時,檢查當(dāng)前token是否失效,如果token已經(jīng)失效,返給前端一個約定好的狀態(tài)碼 10002

前端:在響應(yīng)攔截器中,分析接口的返回值,如果狀態(tài)碼為10002, 則進(jìn)行token失效操作

代碼落地

**src/utils/request.js** 中,處理響應(yīng)攔截器的error時,補(bǔ)充自定義的邏輯

由于頁面跳轉(zhuǎn)要用到路由,這里先引入

// 引入路由
import router from '@/router'

代碼

// 響應(yīng)攔截器中
//  1. 根據(jù)后端返回數(shù)據(jù)判斷本次操作是否成功,不成功主動報錯
//  2. 如果成功,只返回有效數(shù)據(jù)
service.interceptors.response.use(
  response => {
    // 后端和前端的約定:success=true表示請求成功
    if (response.data.success) {
      return response.data
    } else {
      // 如果success為false 業(yè)務(wù)出錯,直接觸發(fā)reject
      // 被catch分支捕獲
      return Promise.reject(new Error(response.data.message))
    }
  },
  async error => {
    console.log('請求出錯啦', error)
    if (error.response.data.code === 10002) {
      console.log('token失效')
      await store.dispatch('user/logout')
      // .vue -- this.$route.fullPath
      //  .js -- router.currentRoute.fullPath

      router.push('/login?return_url=' + encodeURIComponent(router.currentRoute.fullPath))
    }
    console.dir(error)
    return Promise.reject(error)
  }
)

以上方案為后端主導(dǎo)的方案,前端只需要拿到錯誤碼做業(yè)務(wù)處理即可,此方案也是常用且安全的最優(yōu)方案

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Vue使用Echarts實現(xiàn)排行榜效果

    Vue使用Echarts實現(xiàn)排行榜效果

    這篇文章主要為大家詳細(xì)介紹了Vue使用Echarts實現(xiàn)排行榜效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue?文件切片上傳的項目實現(xiàn)

    vue?文件切片上傳的項目實現(xiàn)

    本文主要介紹了vue?文件切片上傳的項目實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 在vue中使用Base64轉(zhuǎn)碼的案例

    在vue中使用Base64轉(zhuǎn)碼的案例

    這篇文章主要介紹了在vue中使用Base64轉(zhuǎn)碼的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • uniapp+vue3路由跳轉(zhuǎn)傳參的實現(xiàn)

    uniapp+vue3路由跳轉(zhuǎn)傳參的實現(xiàn)

    本文主要介紹了uniapp+vue3路由跳轉(zhuǎn)傳參的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Vue項目安裝插件并保存

    Vue項目安裝插件并保存

    今天小編就為大家分享一篇關(guān)于Vue項目安裝插件并保存,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • vue圖片轉(zhuǎn)base64格式的方法示例

    vue圖片轉(zhuǎn)base64格式的方法示例

    對于前后端分離的項目,為了統(tǒng)一響應(yīng)參數(shù),需要將圖片轉(zhuǎn)換成base64的格式,下面這篇文章主要給大家介紹了關(guān)于vue圖片轉(zhuǎn)base64格式的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • vue-element-admin按鈕級權(quán)限管控的實現(xiàn)

    vue-element-admin按鈕級權(quán)限管控的實現(xiàn)

    開發(fā)離不開權(quán)限,不同的用戶登錄,根據(jù)不同的權(quán)限,可以訪問不同的管理目錄,本文主要介紹了vue-element-admin按鈕級權(quán)限管控的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2022-04-04
  • 使用Vue?CLI配置代碼壓縮、加密和混淆功能示例代碼

    使用Vue?CLI配置代碼壓縮、加密和混淆功能示例代碼

    這篇文章主要介紹了使用Vue?CLI配置代碼壓縮、加密和混淆功能,通過配置 vue.config.js 文件,我們可以使用 Vue CLI 輕松實現(xiàn)對 Vue 應(yīng)用程序代碼的壓縮、加密和混淆,需要的朋友可以參考下
    2023-06-06
  • vue2手機(jī)APP項目添加開屏廣告或者閃屏廣告

    vue2手機(jī)APP項目添加開屏廣告或者閃屏廣告

    這篇文章主要為大家詳細(xì)介紹了vue2手機(jī)APP項目添加開屏廣告或者閃屏廣告的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Vue用v-for給src屬性賦值的方法

    Vue用v-for給src屬性賦值的方法

    下面小編就為大家分享一篇Vue用v-for給src屬性賦值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評論