axiosヘッダは、動的トークンを追加します

ソリューション:

非常に単純な、axiosインターセプタ、キャッシュからの読み出し要求を送信する前に、無ヌル(重要)。

公式サイト方法:

axios.interceptors.request.use(機能(設定){
     // リクエスト送信する前に何かを
    リターン設定を; 
  }、機能(エラー){
     // 何か間違っ行うための要求
    リターンPromise.reject(エラー); 
  }) ;

 

私の質問:

私は(追加してください)HTTPベースaxiosクラスのパッケージを持っています:

インポート「Axios」からAxios 
ストレージからのインポート「../utils/storage」
Vantからインポート「Vant」
 // QS」QS 『からのインポート 
』 ./config 『からインポート設定{} 

constのヒント = {
     1:』私は申し訳ありませんが、エラーは、 '発生
} 

VARのインスタンス= axios.create({ 
    ベースURL:config.base_url 
}); 

// 中国語歪み溶液
// instance.defaults.headers.post ['タイプのコンテンツ'] ='ファイルアプリケーション/ X-WWW -体を-urlencoded;のcharset = UTF-8「; 
// 文字列処理パラメータ送信要求シリアライズ使用適量前に開始要求インターセプタ


// 毛前にインターセプト要求を、ヘッダをトークン追加 
RES(instance.interceptors.request.useを=>{ 
    res.headers.common ['X-トークン'] = storage.get( 'トークン')|| 「」
     を返す解像度を。
}); 

クラスのHttp { 

    // GET请求
    GET(URL、paramsは){ 
        CONST結果 = instance.get(URL、{paramsは:paramsは})
        result.then(RES => {
             場合(res.data.message){ 
                Vant.Toast。フェイル(res.message)
            } 
        })
        戻り結果
    } 

    // ポスト请求
    ポスト(URL、paramsは){ 
        CONST結果 = instance.post(URL、paramsは)
        result.then(RES => {
             //要求印刷デバッグ
            にconsole.log(RES)
             IF (res.data.message){ 
                Vant.Toast.fail(res.data.message)
            } 
        })
        戻り結果
    } 

    // 送信文字列型
    postStr(URL、paramsは){ 
        ヘッダーCONST = {
             'コンテンツタイプ': 'ファイルアプリケーション/ x-www-form-urlencodedで' 
        } 
        戻りinstance.post(URL、パラメータ、ヘッダ)
    } 

    // 同時要求
    のすべて(アレイ、コールバック){ 
        instance.all(アレイ)
            .then(axios.spread(関数(ACCT、PERMS){
                コールバック({ACCTは、PERMS})
                // 2つの要求は、現在実行が完了している
            )}); 
    } 

    //が良いのエラーを示して
    show_error(ERROR_CODE){
         IF!(ERROR_CODE){ 
            ERROR_CODE。= 1 
        } 
        constのヒント = ヒント[ERROR_CODEを] 
        Vant.Toast.fail(TIP)
    } 

} 

}のHttpを{エクスポート

 

おすすめ

転載: www.cnblogs.com/likewpp/p/11098314.html