Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
front-backend
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
framework
front-backend
Commits
c9a8b708
Commit
c9a8b708
authored
Nov 15, 2020
by
ZhengJie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[代码优化](v2.6):修复 responseType 为 blob 时无法解析后台返回的错误信息
close
https://github.com/elunez/eladmin/issues/524
parent
e310229f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
37 deletions
+41
-37
src/utils/request.js
+41
-37
No files found.
src/utils/request.js
View file @
c9a8b708
...
@@ -22,8 +22,6 @@ service.interceptors.request.use(
...
@@ -22,8 +22,6 @@ service.interceptors.request.use(
return
config
return
config
},
},
error
=>
{
error
=>
{
// Do something with request error
console
.
log
(
error
)
// for debug
Promise
.
reject
(
error
)
Promise
.
reject
(
error
)
}
}
)
)
...
@@ -31,52 +29,58 @@ service.interceptors.request.use(
...
@@ -31,52 +29,58 @@ service.interceptors.request.use(
// response 拦截器
// response 拦截器
service
.
interceptors
.
response
.
use
(
service
.
interceptors
.
response
.
use
(
response
=>
{
response
=>
{
const
code
=
response
.
status
return
response
.
data
if
(
code
<
200
||
code
>
300
)
{
Notification
.
error
({
title
:
response
.
message
})
return
Promise
.
reject
(
'error'
)
}
else
{
return
response
.
data
}
},
},
error
=>
{
error
=>
{
let
code
=
0
// 兼容blob下载出错json提示
try
{
if
(
error
.
response
.
data
instanceof
Blob
&&
error
.
response
.
data
.
type
.
toLowerCase
().
indexOf
(
'json'
)
!==
-
1
)
{
code
=
error
.
response
.
data
.
status
const
reader
=
new
FileReader
()
}
catch
(
e
)
{
reader
.
readAsText
(
error
.
response
.
data
,
'utf-8'
)
if
(
error
.
toString
().
indexOf
(
'Error: timeout'
)
!==
-
1
)
{
reader
.
onload
=
function
(
e
)
{
const
errorMsg
=
JSON
.
parse
(
reader
.
result
).
message
Notification
.
error
({
Notification
.
error
({
title
:
'网络请求超时'
,
title
:
errorMsg
,
duration
:
5000
duration
:
5000
})
})
return
Promise
.
reject
(
error
)
}
}
}
}
else
{
if
(
code
)
{
let
code
=
0
if
(
code
===
401
)
{
try
{
store
.
dispatch
(
'LogOut'
).
then
(()
=>
{
code
=
error
.
response
.
data
.
status
// 用户登录界面提示
}
catch
(
e
)
{
Cookies
.
set
(
'point'
,
401
)
if
(
error
.
toString
().
indexOf
(
'Error: timeout'
)
!==
-
1
)
{
location
.
reload
()
})
}
else
if
(
code
===
403
)
{
router
.
push
({
path
:
'/401'
})
}
else
{
const
errorMsg
=
error
.
response
.
data
.
message
if
(
errorMsg
!==
undefined
)
{
Notification
.
error
({
Notification
.
error
({
title
:
errorMsg
,
title
:
'网络请求超时'
,
duration
:
5000
duration
:
5000
})
})
return
Promise
.
reject
(
error
)
}
}
}
}
}
else
{
console
.
log
(
code
)
Notification
.
error
({
if
(
code
)
{
title
:
'接口请求失败'
,
if
(
code
===
401
)
{
duration
:
5000
store
.
dispatch
(
'LogOut'
).
then
(()
=>
{
})
// 用户登录界面提示
Cookies
.
set
(
'point'
,
401
)
location
.
reload
()
})
}
else
if
(
code
===
403
)
{
router
.
push
({
path
:
'/401'
})
}
else
{
const
errorMsg
=
error
.
response
.
data
.
message
if
(
errorMsg
!==
undefined
)
{
Notification
.
error
({
title
:
errorMsg
,
duration
:
5000
})
}
}
}
else
{
Notification
.
error
({
title
:
'接口请求失败'
,
duration
:
5000
})
}
}
}
return
Promise
.
reject
(
error
)
return
Promise
.
reject
(
error
)
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment