mirror of
https://gitee.com/baidu/amis.git
synced 2024-12-02 20:09:08 +08:00
补充api 文档
This commit is contained in:
parent
7c72f6ab02
commit
b98375d2ad
60
docs/api.md
Normal file
60
docs/api.md
Normal 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#接口说明)
|
@ -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}"
|
||||
}
|
||||
```
|
@ -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',
|
||||
|
Loading…
Reference in New Issue
Block a user