<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      注意目錄和修改相同的字符編碼

      vue項(xiàng)目中如何解決出現(xiàn)兩次重新登錄彈框的問題?

      舉例描述一下業(yè)務(wù)場(chǎng)景:當(dāng)token過期,需要用戶重新登錄時(shí),需要在頁面彈框提示重新登錄。

      顯然這個(gè)重新登錄的提示彈框的邏輯是在響應(yīng)攔截器中加的,我的代碼如下:(只提供部分代碼)

       1 // 返回?cái)r截器
       2 service.interceptors.response.use(
       3     response => {
       4         if (response.data.status === -1) {
       5             Message({
       6                 message: response.data.message,
       7                 type: 'error',
       8                 duration: 3 * 1000
       9             })
      10         }
      11         if (response.headers['content-disposition']) {
      12             return response
      13         }
      14         return response.data
      15     },
      16     error => {
      17         if (error && error.response) {   
      19             switch (error.response.status) {
      20                 case 401:
      21                     if (error.response.data.code) {
      23                         MessageBox.confirm(error.response.data.errors || 'Error', '確定重新登錄', {
      24                             confirmButtonText: '確定',
      25                             type: 'warning'
      26                         }).then(() => {
      27                             store.dispatch('user/resetToken').then(() => {
      29                                 router.push('/login')
      30                             })
      31                         })
      33                     }
      34                     break;48             }
      49         } else {
      50             // error.message = '連接失敗...'
      51         }
      52         return Promise.reject(error)
      53     }
      54 )

      問題詳細(xì)描述:當(dāng)在token過期的頁面如果同時(shí)發(fā)出多個(gè)請(qǐng)求時(shí),就會(huì)對(duì)應(yīng)出現(xiàn)多個(gè)彈框(注意:我這里用的是elementui提供的messageBox,故彈框是在觸發(fā)確認(rèn)或取消按鈕按照順序彈出的。)

      這樣的展示顯示用戶體驗(yàn)效果不好,當(dāng)401時(shí)應(yīng)該出現(xiàn)一次彈框,點(diǎn)擊確認(rèn)直接進(jìn)入登錄頁,不需要再出現(xiàn)多余的彈框。那這個(gè)問題如何修改呢?

      解決方法:

      加一個(gè)全局變量flag,用來標(biāo)識(shí)記錄是否觸發(fā)過messageBox中的按鈕。false是未出現(xiàn)過彈框,true代表出現(xiàn)過一次。在做switch匹配前判斷flag是否為true,是則中斷執(zhí)行,否則繼續(xù)執(zhí)行,執(zhí)行完messageBox代碼后,需要將flag設(shè)為true,且需要注意此時(shí)還要加個(gè)定時(shí)器還原flag的初始值為false。因?yàn)槿∠笕绻话裦lag還原,則不會(huì)再出現(xiàn)提示彈框。以下是代碼:

       1 let flag = false
       3 // 返回?cái)r截器
       4 service.interceptors.response.use(
       5    ...
       6     error => {
       7         if (error && error.response) {
       8             if (flag) return
       9             switch (error.response.status) {
      10                 case 401:
      11                     if (error.response.data.code) {
      13                         MessageBox.confirm(error.response.data.errors || 'Error', '確定重新登錄', {
      14                             confirmButtonText: '確定',
      15                             type: 'warning'
      16                         }).then(() => {
      17                             store.dispatch('user/resetToken').then(() => {
      18                                 // location.reload()
      19                                 router.push('/login')
      20                             })
      21                         })
                      flag = true        
      22 setTimeout(() => { 23 flag = false 24 }, 2000); 25 } 26 break; 27 ... 28 } 29 } else { 30 // error.message = '連接失敗...' 31 } 32 return Promise.reject(error) 33 } 34 )

       

      posted @ 2023-11-19 20:06  黑使  閱讀(768)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产黑色丝袜在线播放| 内射老阿姨1区2区3区4区| 精品国产一区av天美传媒| 蜜臀精品国产高清在线观看| 国产无遮挡免费真人视频在线观看| 天堂av最新版中文在线| 思思久99久女女精品| 国产成人av一区二区三区不卡| 成人午夜看黄在线尤物成人| 久久青青草原国产精品最新片| 亚洲黄色性视频| 国产精品美女一区二区三| 国产真人性做爰久久网站| 国产精品小一区二区三区| 丁香五月亚洲综合在线国内自拍| 人妻精品动漫H无码中字| 久久av中文字幕资源网| 三上悠亚精品一区二区久久| 亚洲爆乳成av人在线视菜奈实 | 韩国无码AV片午夜福利| 激情伊人五月天久久综合| 亚洲激情一区二区三区在线| 韩国三级+mp4| 久久亚洲中文字幕不卡一二区| 一区二区三区在线色视频| 国产尤物精品自在拍视频首页| 欧美嫩交一区二区三区| 国产成人亚洲精品在线看| 中文国产日韩欧美二视频| 日韩一区二区黄色一级片| 国产一区在线播放av| 深夜精品免费在线观看| 久热色视频精品在线观看| 亚洲乱码精品中文字幕| 中国女人熟毛茸茸A毛片| 国产精品伦人一久二久三久| 欧美xxxxhd高清| 人妻无码中文专区久久app| 亚洲高潮喷水无码AV电影| 日本不卡一区二区三区在线| 激情综合网激情综合|