クリックして、プロセスを繰り返し、誤ってブロックされました
輸入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(サービス) }