From b8de14893492a5be806d885a91fd1769e3f8423d Mon Sep 17 00:00:00 2001 From: qlin Date: Thu, 13 Jan 2022 16:25:16 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=E9=92=88=E5=AF=B9=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E6=96=87=E4=BB=B6=E7=9A=84=E6=83=85=E5=86=B5=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=BC=98=E5=8C=96=20(#91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/template/resDataAdaptor.js | 9 +++++++++ packages/fes-template-h5/src/pages/index.vue | 13 ++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/packages/fes-plugin-request/src/template/resDataAdaptor.js b/packages/fes-plugin-request/src/template/resDataAdaptor.js index 03ffdb68..a045f62a 100644 --- a/packages/fes-plugin-request/src/template/resDataAdaptor.js +++ b/packages/fes-plugin-request/src/template/resDataAdaptor.js @@ -1,6 +1,15 @@ import { isFunction, isObject, isString } from './helpers'; export default async ({ response, responseDataAdaptor }, next) => { + // 如果 data 是 blob 并且 content-type 是 application/json,自动进行数据处理 + if (response.data instanceof Blob && response.headers['content-type'].startsWith('application/json') && response.data.type === 'application/json') { + const rawData = response.data; + try { + response.data = JSON.parse(await response.data.text()); + } catch { + response.data = rawData; + } + } if (isFunction(responseDataAdaptor) && response && (isObject(response.data) || isString(response.data))) { response.data = responseDataAdaptor(response.data); } diff --git a/packages/fes-template-h5/src/pages/index.vue b/packages/fes-template-h5/src/pages/index.vue index 85d16f8d..88138fc6 100644 --- a/packages/fes-template-h5/src/pages/index.vue +++ b/packages/fes-template-h5/src/pages/index.vue @@ -65,16 +65,19 @@ export default { }; const post = (id) => { - request('/get/api', { id }, { + request('/api', { id }, { + responseType: 'blob' + }).then((data) => { + console.log(data); }); }; get(1); - get(2); - get(3); + // get(2); + // get(3); - post(1); - post(2); + // post(1); + // post(2); post(3); From f857af479af896e742e89b69bdd9a05335e971af Mon Sep 17 00:00:00 2001 From: winixt Date: Thu, 13 Jan 2022 17:09:28 +0800 Subject: [PATCH 2/4] chore(release): publish - @fesjs/plugin-request@2.0.9 --- packages/fes-plugin-request/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fes-plugin-request/package.json b/packages/fes-plugin-request/package.json index b624eac5..2b1d1749 100644 --- a/packages/fes-plugin-request/package.json +++ b/packages/fes-plugin-request/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/plugin-request", - "version": "2.0.8", + "version": "2.0.9", "description": "@fesjs/plugin-request", "main": "lib/index.js", "files": [ From 31b2ca5b118ef4dc9d1bbf20871e2ae022a2b1b6 Mon Sep 17 00:00:00 2001 From: winixt Date: Thu, 13 Jan 2022 19:18:53 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20request=20response=20=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/fes-plugin-request/src/template/resDataAdaptor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fes-plugin-request/src/template/resDataAdaptor.js b/packages/fes-plugin-request/src/template/resDataAdaptor.js index a045f62a..91d3a0f8 100644 --- a/packages/fes-plugin-request/src/template/resDataAdaptor.js +++ b/packages/fes-plugin-request/src/template/resDataAdaptor.js @@ -2,7 +2,7 @@ import { isFunction, isObject, isString } from './helpers'; export default async ({ response, responseDataAdaptor }, next) => { // 如果 data 是 blob 并且 content-type 是 application/json,自动进行数据处理 - if (response.data instanceof Blob && response.headers['content-type'].startsWith('application/json') && response.data.type === 'application/json') { + if (response && response.data instanceof Blob && response.headers['content-type'].startsWith('application/json') && response.data.type === 'application/json') { const rawData = response.data; try { response.data = JSON.parse(await response.data.text()); From 130eed0fd6bcd2b949ceb9a2a2486c742cffa375 Mon Sep 17 00:00:00 2001 From: winixt Date: Thu, 13 Jan 2022 19:19:15 +0800 Subject: [PATCH 4/4] chore(release): publish - @fesjs/plugin-request@2.0.10 --- packages/fes-plugin-request/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fes-plugin-request/package.json b/packages/fes-plugin-request/package.json index 2b1d1749..68ac2a7e 100644 --- a/packages/fes-plugin-request/package.json +++ b/packages/fes-plugin-request/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/plugin-request", - "version": "2.0.9", + "version": "2.0.10", "description": "@fesjs/plugin-request", "main": "lib/index.js", "files": [