完善不返回 code 的情况

Former-commit-id: 872d13d03b5e13a8e438ed20ed6cb83abe8c4c3f [formerly aca9e06a67948e7c8792bbda92dcc21e87110ef4] [formerly 872d13d03b5e13a8e438ed20ed6cb83abe8c4c3f [formerly aca9e06a67948e7c8792bbda92dcc21e87110ef4] [formerly 872d13d03b5e13a8e438ed20ed6cb83abe8c4c3f [formerly aca9e06a67948e7c8792bbda92dcc21e87110ef4] [formerly aca9e06a67948e7c8792bbda92dcc21e87110ef4 [formerly 7420261bea715d752f50756c92fe4a4adf59a2da [formerly 288a72c9e033755159a06174fee92b3c81700ccb]]]]]
Former-commit-id: bbf82797ddd7d5b2ac8887f038b9c91ce76ea0ab
Former-commit-id: 33f5cc5aac9fdc46f8932845f6c48aa3343c9d91
Former-commit-id: c3e92e229a2562f19fc37fb99b135745d28f8731 [formerly e9b0f9f1f45491b21ef1ad2cce5d50d964562144]
Former-commit-id: 27d3c0fb61f3f53c6a4f3964d4df5bea3447d07a
Former-commit-id: 76f5e2b8496d8b40aa74331318ee6b6ba8dbfad0
Former-commit-id: b512030c96c9cda686b02df5b199cc00619f8436
Former-commit-id: 8dcdf3eb14f0f17c36f13cea12d6fb693370b5b0
Former-commit-id: be7b74360f0391ea64cd3fa5375a7671b0bc272b
This commit is contained in:
liyang 2018-08-27 13:46:16 +08:00
parent 04470e69ab
commit 217c238cd3
1 changed files with 41 additions and 5 deletions

View File

@ -36,7 +36,7 @@ Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ |
axios 默认的使用方式在这里不做介绍D2Admin 推荐在您的项目中使用下面的方式获取数据:
### 修改 baseURL
### 设置接口地址
默认的请求地址在 `d2-admin/.env`
@ -46,6 +46,8 @@ VUE_APP_API=/api/
上述设置将在您访问 `/demo/a` 时实际去访问 `/api/demo/a`
### 区分不同环境设置接口地址
如果您希望不同的环境使用不同的请求地址,可以在 `d2-admin/.env.development` 中添加设置(示例):
```
@ -75,7 +77,19 @@ VUE_APP_API=/api-dev/
}
```
当发生错误(注:这里指的错误不是 http 错误,而是和后台约定好的错误类型)时返回的数据示例:
在响应拦截器中处理完数据后将会返回:
``` js
{
list: [
...
]
}
```
### 业务错误
当发生错误时返回的数据示例:
``` js
{
@ -86,7 +100,7 @@ VUE_APP_API=/api-dev/
}
```
如果针对某个错误(注:这里指的错误不是 http 错误,而是和后台约定好的错误类型)指定处理方法,应该在响应拦截器中加入对应的代码:
如果针对某个错误指定处理方法,应该在响应拦截器中加入对应的代码:
``` js
service.interceptors.response.use(
@ -99,11 +113,33 @@ service.interceptors.response.use(
)
```
### http 错误
如果需要针对某个 http 错误指定处理方法,应该在响应拦截器中第二个参数中添加对应的代码。
::: tip
### 不返回 code
在默认的设置中,如果您的接口没有返回 code 字段,将不会进行状态(非 http 状态,而是和后台约定好的状态类型)判断,直接返回 axios 请求返回的数据。
:::
例如接口返回如下数据:
``` js
{
list: [
...
]
}
```
在响应拦截器中判断该接口没有返回 code 字段,将会直接将返回:
``` js
{
list: [
...
]
}
```
### 设计 API