VUEプロジェクトパッケージaxiosとアクセスインタフェース

1. UTILのSRCに新しいフォルダを作成し、utilのの新request.jsファイル:

パッケージaxios:

Axiosのインポートから Axios 
インポートQS から QS ;
 // ストアからインポート「@ /店舗/ index.js」; 
インポートメッセージ{} から 要素-UI  ;   // 要素ライブラリプロンプトメッセージ、できません

/ / 環境の切り替え
 // IF(process.env.NODE_ENV == '開発'){ // 開発
 //      axios.defaults.baseURL = '/ API';}
 // 他(IF process.env.NODE_ENV == 'デバッグ'){ // テスト
 //      axios.defaults.baseURL =' https://www.ceshi.com 「。
//}
 // 他のIF(process.env.NODE_ENV == '生産'){ // オンライン
 //      axios.defaults.baseURL = ' https://www.production.com ';
 // } 

// 要求時間 
= axios.defaults.timeout 15000 ; 

// POSTのリクエストヘッダ 
axios.defaults.headers.post [ ' のContent-Type ' ] = ' ファイルアプリケーション/ x-www-form-urlencodedで;のcharset = UTF-8 ' ; 

// 要求インターセプタある
axios.interceptors.request.use(
    設定 => {
         // 各トークンは、送信要求があるかどうかを決定する前に、存在する場合、統一されたヘッダのHTTPリクエストではないすべての要求を手動で追加、トークン結合されています
        CONSTトークン= ' 45f8f587-7b46-462f-a8c4-1ca4dc64a336 ' ;
         IF(トークン){   //が存在する場合、トークンが存在するか否かを判定する、各HTTPヘッダーを加えたトークンである 
            config.headers.Token = トークン; 
        } 
        リターンコンフィグ; 
    }、
    エラーが => {
         戻りPromise.error(誤差); 
    }); 
// 応答ブロッカー
axios.interceptors.response.use(
    応答 => {
         IF(のResponse.Statusの=== 200である){
             リターン約束を。 (レスポンス)を解決。
        } {
             戻りPromise.reject(応答)。
        } 
    } 
    // 服务器状态码不是200的情况 
    エラー=> {
         場合(error.response.status){ 
            にconsole.log(エラー)
        } 
        戻りPromise.reject(error.response)を、
    } 
); 

エクスポート関数のget(URL、のparams ){
     返す 新しい約束((解決、拒否)=> { 
        axiosは。取得(URL、
            { 
                のparamsのparams 
            })
            .then(RES =>  {
                解決(res.data); 
            }) キャッチ(ERR => {
                 場合(!err.response){ 
                    メッセージ({ 
                        showClose:
                        メッセージ:' 请求取得错误' 
                        種類:' エラー' 
                    }); 
                } { 
                    )(err.dataを拒否; 
                    にconsole.log (err.response、" 异常2' ); 
                }
            })
    })。
} 

エクスポート機能ポスト(URL、のparams ){
     返す 新しい約束((解決、拒否)=> { 
        axios.post(URL、のparams 
            .then(RES => { 
                ;決意(res.data)
            }) キャッチ(ERR => {
                 場合(!err.response){ 
                    メッセージ({ 
                        showClose:
                        メッセージ:' ポスト请求错误' 
                        タイプ:エラー
                    })。
                } { 
                    (err.data)を拒絶します。
                    console.log(err.response、' 异常2 ' )。
                } 
            })
    })。
} 

輸出デフォルト axios

2:utilのファイルで、その後api.jsファイルを作成します。

インポート{ 取得し、ポスト} から ' ./request ' 
エクスポート機能getTest(paramsは){
     戻りポスト( `/ API / TBK / dg_optimus_material`、paramsは)。
} 

エクスポート機能getNvZhuang(paramsは){
     戻りポスト( `/ API / TBK / dg_material_optional`、paramsは)。
}

3:htmlページのインターフェイスをご覧ください:

インポート{getTest、getNvZhuang} から " @ / UTIL / api.js "// 导入API接口

  搭載:関数(){ 
    この.queryList()。
  }、
  メソッド:{ 
    // 精选
    queryList(){ のparams = {PAGENO:1、のpageSize:20 }。
      getTest(paramsは
        .then(RES => {
           この .jingxuanlist = 
            res.tbk_dg_optimus_material_response.result_list.map_data; 
          はconsole.log(この.jingxuanlist)  
        })キャッチ(エラー=> { 
          にconsole.log(エラー); 
        }); 
    } 
}

 

おすすめ

転載: www.cnblogs.com/xlfdqf/p/11128089.html
おすすめ