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

vue-resource請求實(shí)現(xiàn)http登錄攔截或者路由攔截的方法

 更新時間:2018年07月11日 16:42:05   作者:羅胖胖  
這篇文章主要介紹了vue-resource請求實(shí)現(xiàn)http登錄攔截或者路由攔截的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了vue-resource請求實(shí)現(xiàn)http登錄攔截或者路由攔截的方法,分享給大家,具體如下:

項(xiàng)目需求

  • 項(xiàng)目是前后臺分離,前端負(fù)責(zé)數(shù)據(jù)對接,以及業(yè)務(wù)邏輯的處理,后臺只需要給相應(yīng)的接口即可
  • 后臺會控制接口的授權(quán)情況(即,未登錄的接口,統(tǒng)一返回401未授權(quán)狀態(tài)碼,前端根據(jù)vue-resource的攔截器攔截符合條件的狀態(tài),并做出相應(yīng)的處理。)
  • 以下為兩個系統(tǒng)的登錄頁面,作為請求超時或者登錄攔截的跳轉(zhuǎn)頁面

以上是登錄超時,登錄彈窗框自動彈出來

代碼片段

路由文件

export default [
 {
  name: 'root',
  path: '',
  component: function (resolve) {
   require(['你的vue文件路徑地址'], resolve);
  },
  children: [
    {
      name: 'applicationLayout',
      path: '/app/applicationLayout/:appId',
      component: function (resolve) {
       require(['你的vue文件路徑地址'], resolve);
      },
      meta: {
       requireAuth: true,    // 需要登錄才能進(jìn)入的頁面可以增加一個meta屬性
      }
    }
  ] 
]

main.js 入口文件中加入以下代碼

const UNAUTHORIZED_CODE = 401;

router.beforeEach((to, from, next) => {
 if (to.meta.requireAuth) {
  if (storage.get('platformUser')) {
   store.dispatch('loginUser', JSON.parse(storage.get('platformUser')));    //將用戶信息存儲到vuex中,供全局使用
   next();
  } else {
   store.dispatch('initLoginModal', {state: true});     //顯示登錄彈窗
   next();
  }
 } else {
  next();
 }
});

//攔截http請求中返回401狀態(tài)碼,并針對其顯示登錄彈窗
Vue.http.interceptors.push((request, next) => {
 next((response) => {
  if (response.body.status === UNAUTHORIZED_CODE) { //與后臺約定登錄失效的返回碼
   store.dispatch('initLoginModal', {state: true});        //顯示登錄彈窗
   store.dispatch('removeUser');                      //移出瀏覽器中存儲的用戶信息
  }
  return response;
 });
});

以上便能實(shí)現(xiàn)登錄之前針對某些特定路由的攔截,和后臺接口授權(quán)失效時前端業(yè)務(wù)邏輯操作處理, 整篇文章僅作知識點(diǎn)積累,如有不妥之處,請多多包涵。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue組件通信方式(父傳子、子傳父、兄弟通信)

    Vue組件通信方式(父傳子、子傳父、兄弟通信)

    這篇文章主要介紹了Vue組件通信方式(父傳子、子傳父、兄弟通信),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • element ui el-date-picker組件默認(rèn)值方式

    element ui el-date-picker組件默認(rèn)值方式

    這篇文章主要介紹了element ui el-date-picker組件默認(rèn)值方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • vue3封裝側(cè)導(dǎo)航文字骨架效果組件

    vue3封裝側(cè)導(dǎo)航文字骨架效果組件

    這篇文章主要為大家詳細(xì)介紹了vue3封裝側(cè)導(dǎo)航文字骨架效果組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue移動端項(xiàng)目vant組件庫之tag詳解

    vue移動端項(xiàng)目vant組件庫之tag詳解

    這篇文章主要介紹了vue移動端項(xiàng)目vant組件庫之tag詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue-cli3.0如何修改端口號

    vue-cli3.0如何修改端口號

    這篇文章主要介紹了vue-cli3.0如何修改端口號,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue.set與this.$set的用法與使用場景介紹

    Vue.set與this.$set的用法與使用場景介紹

    Vue.set()和this.$set()這兩個api的實(shí)現(xiàn)原理基本一模一樣,都是使用了set函數(shù),下面這篇文章主要給大家介紹了關(guān)于Vue.set與this.$set的用法與使用場景,需要的朋友可以參考下
    2022-03-03
  • Vue中Table組件行內(nèi)右鍵菜單實(shí)現(xiàn)方法(基于 vue + AntDesign)

    Vue中Table組件行內(nèi)右鍵菜單實(shí)現(xiàn)方法(基于 vue + AntDesign)

    這篇文章主要介紹了Vue中Table組件行內(nèi)右鍵菜單實(shí)現(xiàn)方法,該項(xiàng)目是基于 vue + AntDesign的,具體實(shí)例代碼給大家介紹的非常詳細(xì) ,需要的朋友可以參考下
    2019-11-11
  • 淺談vue中使用圖片懶加載vue-lazyload插件詳細(xì)指南

    淺談vue中使用圖片懶加載vue-lazyload插件詳細(xì)指南

    本篇文章主要介紹了淺談vue中使用圖片懶加載vue-lazyload插件詳細(xì)指南,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-10-10
  • uniapp寬屏開發(fā)PC端方案及衍生問題解決辦法

    uniapp寬屏開發(fā)PC端方案及衍生問題解決辦法

    在uniapp中進(jìn)行寬屏開發(fā),主要是指在電腦端(PC端)使用寬屏顯示效果進(jìn)行應(yīng)用的開發(fā),這篇文章主要給大家介紹了關(guān)于uniapp寬屏開發(fā)PC端方案及衍生問題解決辦法,需要的朋友可以參考下
    2024-03-03
  • vue倉庫的使用方式

    vue倉庫的使用方式

    這篇文章主要介紹了vue倉庫的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09

最新評論

西林县| 巴塘县| 迁西县| 蕉岭县| 济阳县| 云阳县| 丽江市| 大竹县| 忻城县| 万宁市| 饶阳县| 玉龙| 庆阳市| 阜新市| 光山县| 泌阳县| 浑源县| 九龙坡区| 新建县| 阿克苏市| 长汀县| 东阿县| 顺平县| 谷城县| 巍山| 信丰县| 天柱县| 玛多县| 开封市| 晋中市| 宣城市| 扶沟县| 兴国县| 万安县| 永泰县| 上栗县| 龙游县| 阿拉善左旗| 当阳市| 鄂托克旗| 临夏市|