补充api 文档

This commit is contained in:
liaoxuezhi 2019-08-13 10:43:59 +08:00 committed by catchonme
parent be272c5a0e
commit a5589343d8
3 changed files with 99 additions and 0 deletions

60
docs/api.md Normal file
View File

@ -0,0 +1,60 @@
---
title: API 说明
---
amis 渲染器的数据都来源于 api有一定的格式要求。
### 整体要求
要求每个接口都返回 `status` 字段用来表示成功还是失败,如果失败了,通过 `msg` 字段来说明失败原因。当然如果成功 `msg` 也可以用来设置提示信息。
```json
{
"status": 0, // 0 表示成功非0 表示失败
"msg": "", // 提示信息 包括失败和成功
"data": {
// ...
// 具体的数据
}
}
```
如果你的系统有自己的规范也没关系fetcher 整体入口那加个适配器就行了如:
```js
{
fetcher: function(api) {
// 适配这种格式 {"code": 0, "message": "", "result": {}}
return axios(config).then(response => {
let payload = {
status: response.data.code,
msg: response.data.message,
data: response.data.result
};
return {
...response,
data: payload
}
})
}
}
```
### 具体要求
每个渲染的接口返回都有自己的格式要求,主要体现在 data 字段内部,具体请参考每个渲染的接口说明。
* [Page](./renderers/Page.md#接口说明)
`TBD`
* [CRUD](./renderers/CRUD.md#接口说明)
* [Form](./renderers/Form.md#接口说明)
* [Select](./renderers/Form/Select.md#接口说明)
* [Checkboxes](./renderers/Form/Checkboxes.md#接口说明)
* [Radios](./renderers/Form/Radios.md#接口说明)
* [List](./renderers/Form/List.md#接口说明)
* [Wizard](./renderers/Wizard.md#接口说明)

View File

@ -39,3 +39,33 @@
| interval | `number` | `3000` | 刷新时间(最低 3000) |
| silentPolling | `boolean` | `false` | 配置刷新时是否显示加载动画 |
| stopAutoRefreshWhen | `string` | `""` | 通过[表达式](./Types.md#表达式)来配置停止刷新的条件 |
### 接口说明
开始之前请你先阅读[整体要求](../api.md)。
#### initApi
Page 渲染器可以配置 initApi 来拉取后端数据。格式要求data 返回是对象即可。
```json
{
"status": 0,
"msg": "",
"data": {
"a": 1
}
}
```
当配置了 initApi 且返回如上数据后,当前 page 渲染器,以及所有孩子渲染器都能取到这个这个变量了如:
```json
{
"type": "page",
"initApi": "/api/xxx",
"body": "${a}"
}
```

View File

@ -684,6 +684,15 @@ export default {
]
},
{
label: 'API 说明',
path: '/docs/api',
icon: 'fa fa-cloud',
getComponent: (location, cb) => require(['../../docs/api.md'], (doc) => {
cb(null, makeMarkdownRenderer(doc));
})
},
{
label: '如何定制',
path: '/docs/sdk',