axiosのVUE傍受

1つの 状態:{
 2      トークン:db.get( 'USER_TOKEN' 3    }

二、axiosセット

// 統一構成 
FT =せaxios.create({ 
  ベースURL: '' 
  responseType: 'JSON' 
  validateStatus(ステータス){ 
    // 200は、外部ステータスコードのある失敗として識別される
    リターンステータス200 ===ある
  } 
})

// 傍受要求 
FT.interceptors.request.use((設定)=> { 
  letのexpireTime = store.state.account.expireTime 
  LETは今(モーメント=)。フォーマット( 'YYYYMMDDHHMMSS' // 強化するために、早期のトークンが10秒に期限が切れる作りますポップ経験を"もう一度ログインしてください" 
  IF(今- expireTime> = -10 ){ 
    Modal.error({ 
      タイトル:「ログインの期限が切れています"
      内容: '申し訳ありませんが、ログインの有効期限が切れている、再度ログインしてください。' 
      okText: '再度ログイン' 
      マスク:
      OnOK呼び出し:() => {
         返す 新しい新しい約束((解決、拒否)=> { 
          db.clear()
          location.reload()
        })
      } 
    })
  } 
  // もたらすことトークン有する
  IF (store.state.account.token){ 
    config.headers.Authentication = store.state.account.token 
  } 
  戻り設定を
}、(エラー) => {
   リターンPromise.reject(誤差)
})

// 応答傍受 
FT.interceptors.response.use((設定)=> {
   戻り設定
}、(エラー) => {
   IF (error.response){ 
    にErrorMessageを聞かせ = error.responseを。 ===データはnullに? '内部システム異常、ウェブマスターに連絡してください' :error.response.data.messageの
     スイッチ(error.response.status){
       ケース 404 
        notification.error({ 
          メッセージ: 'プロンプトが表示され' 
          説明:「申し訳ありませんが、リソースが見つからない」
          DURATION: 4 
        })
        BREAK
      ケース 403 ケース 401 
        notification.warn({ 
          メッセージ:「プロンプトが表示され」
          説明:「申し訳ありませんが、あなたが適切な権限を持っていない可能性がありますか、ログが失敗した、リソースにアクセスすることができない」
          DURATION: 4 
        })
        BREAKの
      デフォルト
        notification.error({ 
          メッセージ: '促さ' 
          説明:にErrorMessage、
          DURATION: 4 
        })
        BREAKは
    } 
  } 
  戻りPromise.reject(エラー)
})

 

おすすめ

転載: www.cnblogs.com/yangshuzhong/p/11412113.html