パッケージ3 VUE AXIOS

クリックして、プロセスを繰り返し、誤ってブロックされました

輸入axios から ' axios ' 
インポート{API} から ' コモン/定数@ ' 
インポートのisEmpty から ' lodash /のisEmpty ' 

constのサービス= { 
  API:API 

  REQUEST_CACHE:{}、// API请求池

  方法:{ 
    GET:" GET ' 
    POST:' ポスト' 
    DELETE:' 削除' 
    PATCH:' パッチ' 
    PUT:'プット" 
  }、

  generateDefaultConfig(){ 
    リターン{ 
      isRequest:
    } 
  }、
  持っています。function(キー){ 
    リターンをこの.REQUEST_CACHE [キー] 
  }、 
設定){集まる
    せキー = 
      config.url + 
      (。のisEmpty(設定のparamsを)?'':JSON.stringify(設定。のparams ))
     であれば(!この.has(キー)) { 
      ajaxConfigはせ = )(.generateDefaultConfigを 
      Object.assign(ajaxConfig、設定、{キー})
      この.REQUEST_CACHE [キー] = ajaxConfig 
    } 
    リターンキー
  } 

  得る(URL、paramsは、本方法は){ 
    キーせ = この .gather({URL、paramsは:方法||、方法この.METHODS.GET})が
     戻り 、この(.requestをキー)
  }、

  ポスト(URL、paramsは){
     戻り 、これを取得(URL、paramsはこの.METHODS.POST)
  }、

  プット(URL、のparams ){
     返す これを取得する(URL、paramsはこの.METHODS.PUT)
  }、

  削除(URL){ 
    戻り 、これを取得し(URLは、{}、この.METHODS.DELETEは)
  }、

  パッチ(URL、paramsは){
     戻り 、これを取得(URL、のparamsをこの.METHODS.PATCH)
  }、

  要求(キー){ 
    設定をしましょう = この.REQUEST_CACHE [キー]
     を返す 新しい約束((解決、拒否を)=> {
       場合(!config.isRequest){ 
        config.isRequest = 
        // 处理两个系统不同的请求 
        PARAM =せヌルもし(config.key.indexOf(' / RBAC ' - )> 1 ){ 
          PARAM =コンフィグ。params ; 
        } { 
          PARAM = {...設定。paramsは}。
        } 
        axios [config.method.toLowerCase()](この .APIは+ config.url、PARAM)
          .then(RES => {
             この.RESET(キー)
            解決(RES)
          }) キャッチ(ERR => {
             この.RESET(キー)
             リターンリジェクト(ERR)
          })
      } 
    })
  }、

  リセット(キー){ 
    この .REQUEST_CACHE [キー] = NULL 
  } 
} 

/ * * 
 *对外暴露的API 
 * / 

エクスポートデフォルト{
   取得:サービス。GET .bind(サービス)、
  ポスト:Service.post.bind(サービス)、
  削除:Service.delete.bind(サービス)、
  パッチ:Service.patch.bind(サービス)、
  置く:Service.put.bind(サービス)
}

 

おすすめ

転載: www.cnblogs.com/tylz/p/11858463.html