ForForm API WIKI 文档
ForForm API WIKI
自定义表单接口文档
接口调用的参数格式
目前接口部分使用 HTTP 的 Body 来进行参数传递,接口支持 application/json 的 Body 格式
同时也支持 application/x-www-form-urlencoded 的 Body 格式
两种方式均需要在 Header 中注明内容类型的属性。
请勿使用from-data传递Payload
鉴权
获取APP_ID
和APP_SECRET
后,通过/api/auth/token
接口获取token,将token通过 authorization Bearer token
的形式传递,接口详情查看具体接口文档。
接口返回说明
第一层 http code返回码,目前常见返回码如下
Http code | 说明 |
---|---|
200 | 调用成功 |
304 | 本地资源为最新资源,无需从服务器获取 |
400 | 调用失败,返回自定义错误 |
401 | 鉴权失败 |
403 | 权限不足,没有调用权限 |
412 | 本地资源版本和服务器资源版本不一致,请刷新 |
500 | 服务器本身出错 |
第二层 接口返回内容中的status和error字段
对于status,我们有如下规定
- status 是一个自然数
- status = 0表示接口调用成功
- status => 0 表示接口调用失败,这一部分错误号是每个接口独立的,同一个错误码在不用接口中会表示不一样的错误,具体错误说明在接口中会说明
错误说明
- 请求体错误,如请求体格式不对此错误一般伴随http 400 返回码
- 请求体错误,如缺少必要的请求参数、参数不合法,此错误一般伴随http 400 返回码
- 所请求的接口对于所携带的token其所属用户来说权限不足,此错误一般伴随http 403 返回码
- 所请求的接口使用了权限控制,但未在系统中登记权限路由名称,此错误一般伴随http 403 返回码
- 所请求的接口使用了权限控制,但未在系统中登记权限路由所属角色关联,此错误一般伴随http 403 返回码
error(针对于APP端)
为字符串,会给出status的具体错误原因描述,可信赖字段,可直接展示至前端页面
errors (针对于PC端 用于表单验证)
为一个对象,会给出status的具体错误原因描述,这个字段适用于程序开发中的错误调试,不应该把他的返回内容作为代码逻辑判断的条件。也不应直接在前端页面显示。
示例
{
"status": 1,
"errors": {
"account": " account 不能为空",
"code": " code 不能为空"
}
}
Etag介绍
接口地址说明
http | https | |
---|---|---|
线下 | http://47.112.148.159:8981 | |
预发布 | ||
正式 | 待定 |
表单
获取表单配置
GET_FROM
获取表单配置
可以设置逻辑表单的组件:单项选择, 多项选择, 下拉单选, 下拉多选
可以设置动态数据的组件:下拉单选、下拉多选、级联选择, 联想输入
组件被关联后默认是隐藏,如果组件本身又设置了隐藏, 本身隐藏权重最大,永远不能显示
单选、多选、下拉选择的默认值必须从设置的选项里面选择,如果设置的默认值是选项之外的,客户端默认擦除默认值。
组件的配置项,如果用户没有配置的选项默认为空字符串
想要了解更多?请查看Etag介绍
HTTP Method
GET
HTTP Request
/api/form/{id}
Request Parameters Query
Request Parameters Body
Response Data
Response
Schema
Title | Description | Type | Tips |
---|---|---|---|
status | 状态:0成功 非0失败 |
integer | |
errors | status非0时,返回错误信息,键值对 | object | 参数验证错误 |
error | 错误信息 | message | 逻辑错误 |
data | 表单具体数据 | Data object |
Data
Schema
Title | Description | Type | Tips |
---|---|---|---|
id | 表单ID | integer | |
title | 表单标题 | integer | |
description | 表单描述 | string | |
modules | 表单组件列表 | []Module |
Module
Schema
Title | Description | Type | Tips |
---|---|---|---|
id | 组件ID | integer | |
label | 组件名称 | string | |
field | 字段值(用于表单提交) | string | |
value | 组件默认值 | string | |
required | 是否必填 | bool | |
logic_id | 组件逻辑ID 用来处理逻辑关系 | integer | |
placeholder | 占位符 | bool | |
display | 是否展示,组件初始状态 | bool | 是 |
editable | 是否可编辑 | bool | |
tips | 组件提示 | string | |
engine | 组件引擎配置 | Engine object |
|
regx_list | 组件校验规则列表 | []Regx |
|
resource | 组件资源 | []Resource |
|
style | 组件样式(现在没有数据,待定...) | []Style |
Engine
Schema
Title | Description | Type | Tips |
---|---|---|---|
name | 引擎名称 | string | |
config | 引擎配置(键值对,服务端不关心具体内容) | Config object |
⚠️ 默认值为空对象{} ,不是null |
Config
Schema
参考可用Engine和对应配置目录:引擎配置项
Regx
Schema
Title | Description | Type | Tips |
---|---|---|---|
id | 校验ID | integer | |
name | 校验规则名称 | integer | |
expression | 校验规则 | string | |
error_message | 错误提示 | string |
Resource
Schema
Title | Description | Type | Tips |
---|---|---|---|
id | 资源ID | integer | |
type | 资源类型1本地资源 2远程资源 | integer | |
title | 资源名称 | string | |
options | 本地资源列表 | []Option |
⚠️ 远程资源(type=2)时,返回应空数组即可 |
api_setting | 远程资源 | ApiSetting object |
⚠️ 本地资源(type=1)时,该值为null |
Option
Schema
Title | Description | Type | Tips |
---|---|---|---|
label | 资源名称 | string | |
value | 资源值1本地资源 2远程资源 | string | |
event | 事件 | Event object |
⚠️默认为null |
logic_id | 逻辑ID | integer | |
p_logic_id | 父逻辑ID | integer | ⚠️ 一级逻辑ID无父节点,默认是0 |
child_logic_ids | 子逻辑节点 | []integer |
|
children | 子逻辑节点 | []Option |
⚠️ 这里时递归引用 |
Event
Schema
Title | Description | Type | Tips |
---|---|---|---|
event_type | 事件类型 show展示、disabled禁用 | string | |
link_module | 组件ID列表 | []integer |
⚠️ 应该是Module.logic_id |
ApiSetting
Schema
Title | Description | Type | Tips |
---|---|---|---|
uri | 资源地址 | string | |
list_key | 数据的下标 | string | |
label_key | 资源名称的下标 | string | |
value_key | 资源值的下标 | string | |
children_key | 子级数据下标 | string | |
request_method | 筛选时的请求方式 | string | |
search_key | 可收缩的字段 | string |
Response Data Json
{
"status": 0,
"data": {
"id": 422,
"name": "测试表单标题1",
"description": "这是一条测试数据",
"bg_img": "",
"status": 0,
"modules": [
{
"id": 1600,
"form_id": 422,
"required": false,
"label": "oms测试组件1",
"field": "1",
"logic_id": 1,
"tips": "oms测试组件1",
"value": "1",
"placeholder": "xxxx",
"display": true,
"editable": true,
"resource": [
{
"type": 1,
"api_settings": null,
"options": [
{
"id": 758,
"label": "a",
"value": "a",
"logic_id": 1,
"p_logic_id": 0,
"child_logic_ids": [
2
],
"event": {
"event_type": "display_on",
"link_module": [
4,
5
]
},
"children": [
{
"id": 759,
"label": "b",
"value": "b",
"logic_id": 2,
"p_logic_id": 1,
"child_logic_ids": [
3
],
"event": {
"event_type": "display_off",
"link_module": [
4,
5
]
},
"children": [
{
"id": 760,
"label": "c",
"value": "c",
"logic_id": 3,
"p_logic_id": 2,
"child_logic_ids": [],
"event": {
"event_type": "display_off",
"link_module": [
4,
5
]
},
"children": []
}
]
}
]
}
]
}
],
"regx_list": [
{
"id": 790,
"name": "test",
"expression": "/[一-龥豈-鶴]/",
"error_message": "包含无效字符1"
},
{
"id": 791,
"name": "1111",
"expression": "测试叔叔说",
"error_message": "包含无效字符1"
}
],
"engine": {
"name": "SimpleText",
"config": {
"minInputlength": "8",
"maxInputlength": "10"
}
}
},
{
"id": 1601,
"form_id": 422,
"required": false,
"label": "oms测试组件1",
"field": "2",
"logic_id": 1,
"tips": "oms测试组件1",
"value": "1",
"placeholder": "xxxx",
"display": true,
"editable": true,
"resource": [
{
"type": 2,
"api_settings": {
"id": 154,
"uri": "https://www.fastmock.site/mock/532e60f1fc8ce344d5709c8f022f5cc7/api/school/attendee",
"list_key": "data",
"label_key": "label",
"value_key": "value",
"children_key": "",
"request_method": "POST",
"search_key": "search"
},
"options": []
}
],
"regx_list": [
{
"id": 792,
"name": "test",
"expression": "/[一-龥豈-鶴]/",
"error_message": "包含无效字符2"
},
{
"id": 793,
"name": "1111",
"expression": "测试叔叔说",
"error_message": "包含无效字符2"
}
],
"engine": {
"name": "SimpleText",
"config": {
"minInputlength": "8",
"maxInputlength": "10"
}
}
},
{
"id": 1602,
"form_id": 422,
"required": true,
"label": "oms测试组件2",
"field": "3",
"logic_id": 2,
"tips": "oms测试组件2",
"value": "2",
"placeholder": "xxxx",
"display": true,
"editable": true,
"resource": [],
"regx_list": [
{
"id": 794,
"name": "test",
"expression": "/[一-龥豈-鶴]/",
"error_message": "包含无效字符3"
}
],
"engine": {
"name": "SimpleText",
"config": {
"minInputlength": "8",
"maxInputlength": "10"
}
}
},
{
"id": 1603,
"form_id": 422,
"required": false,
"label": "oms测试组件1",
"field": "4",
"logic_id": 1,
"tips": "oms测试组件1",
"value": "1",
"placeholder": "xxxx",
"display": true,
"editable": true,
"resource": [
{
"type": 1,
"api_settings": null,
"options": [
{
"id": 761,
"label": "是",
"value": "是",
"logic_id": 0,
"p_logic_id": 0,
"child_logic_ids": [],
"event": null,
"children": []
},
{
"id": 762,
"label": "否",
"value": "否",
"logic_id": 0,
"p_logic_id": 0,
"child_logic_ids": [],
"event": null,
"children": []
}
]
}
],
"regx_list": [
{
"id": 795,
"name": "test",
"expression": "/[一-龥豈-鶴]/",
"error_message": "包含无效字符2"
},
{
"id": 796,
"name": "1111",
"expression": "测试叔叔说",
"error_message": "包含无效字符2"
}
],
"engine": {
"name": "SimpleText",
"config": {
"minInputlength": "8",
"maxInputlength": "10"
}
}
}
]
}
}
创建表单
HTTP Method
POST
HTTP Request
/api/form
Request Parameters Query
无
Request Parameters Body
Title | Description | Type | Required | Tips |
---|---|---|---|---|
title | 表单标题 | string | 是 | |
description | 表单描述 | string | 是 | |
modules | 表单组件列表 | []Module |
是 |
Module
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
label | 组件名称 | string | 是 | |
field | 字段值(用于提交) | string | 是 | |
value | 组件默认值 | string | 是 | |
logic_id | 组件逻辑ID,用来处理逻辑组件关系 | int | 是 | |
placeholder | 占位符 | string | 是 | |
弃用,通过label 是否有值判断 |
||||
display | 是否展示,组件初始状态 | bool | 是 | |
editable | 是否可编辑 | bool | 是 | |
tips | 组件提示 | string | 是 | |
engine | 组件引擎配置 | Engine |
是 | |
regx_list | 组件校验规则列表 | []Regx |
是 | |
resource | 组件资源 | []Resource |
是 | |
style | 组件样式(现在没有数据,待定...) | array | 是 |
Engine
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
name | 引擎名称 | string | 是 | |
config | 引擎配置 | object | 是 | ⚠️没有时为空对象 |
Regx
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
name | 规则名称 | string | 是 | |
expression | 校验规则 | string | 是 | |
error_message | 错误提示 | string | 是 |
Resource
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
options | 本地资源列表 | []Option |
是 | ⚠️ 远程资源(type=2)时,返回应空数组即可 |
api_setting | 远程资源 type为1时,该值为null | ApiSetting object |
是 | ⚠️ 本地资源(type=1)时,该值为null |
Option
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
label | 资源名称 | string | 是 | |
value | 资源值 | string | 是 | |
event | 事件 | Event |
否 | |
children | 子级 | []Option |
否 | 用来处理多级联动关系 |
Event
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
event_type | 事件类型 show展示、disable禁用 | string | 是 | |
link_module | 组件ID列表 | []integer | 是 | ⚠️ 应该是Module.logic_id |
ApiSetting
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
uri | 资源地址 | string | 是 | |
list_key | 数据的下标 | string | 是 | |
label_key | 资源名称的下标 | string | 是 | |
value_key | 资源值的下标 | string | 是 | |
children_key | 子级数据下标 | string | 是 | |
request_method | 筛选时的请求方式 | string | 是 | |
search_key | 可筛选的字段 | string | 是 |
Request Parameters Body Json
{
"name": "测试表单标题1",
"description": "这是一条测试数据",
"modules": [
{
"required": false,
"order": 0,
"label": "oms测试组件1",
"field": "1",
"value": "1",
"logic_id": 1,
"placeholder": "xxxx",
"full_module": true,
"display": true,
"editable": true,
"tips": "oms测试组件1",
"engine": {
"name": "SimpleText",
"config": {
"minInputlength": 8,
"maxInputlength": 10,
"type": "text"
}
},
"regx_list": [
{
"name": "test",
"expression": "/[一-龥豈-鶴]/",
"error_message": "包含无效字符1"
},
{
"name": "1111",
"expression": "测试叔叔说",
"error_message": "包含无效字符1"
}
],
"resource": [
{
"api_setting": [],
"options": [
{
"label": "a",
"value": "a",
"event": {
"event_type": "display_on",
"link_module": [
4,
5
]
},
"children": [
{
"label": "b",
"value": "b",
"event": {
"event_type": "display_off",
"link_module": [
4,
5
]
}
},
{
"label": "c",
"value": "c",
"event": {
"event_type": "display_off",
"link_module": [
4,
5
]
},
"children": [
{
"label": "d",
"value": "d",
"event": {
"event_type": "display_off",
"link_module": [
4,
5
]
},
"children": [
{
"label": "f",
"value": "f",
"event": {
"event_type": "display_off",
"link_module": [
4,
5
]
}
}
]
}
]
},
{
"label": "h",
"value": "h",
"event": {
"event_type": "display_off",
"link_module": [
4,
5
]
}
}
]
},
{
"label": "e",
"value": "e",
"event": {
"event_type": "display_off",
"link_module": [
4,
5
]
}
},
{
"label": "g",
"value": "g",
"event": {
"event_type": "display_off",
"link_module": [
4,
5
]
}
}
]
}
],
"style": []
},
{
"required": false,
"order": 0,
"label": "oms测试组件1",
"field": "2",
"value": "1",
"logic_id": 1,
"placeholder": "xxxx",
"full_module": true,
"display": true,
"editable": true,
"tips": "oms测试组件1",
"engine": {
"name": "SimpleText",
"config": {
"minInputlength": 8,
"maxInputlength": 10
}
},
"regx_list": [
{
"name": "test",
"expression": "/[一-龥豈-鶴]/",
"error_message": "包含无效字符2"
},
{
"name": "1111",
"expression": "测试叔叔说",
"error_message": "包含无效字符2"
}
],
"resource": [
{
"api_setting": {
"uri": "https://www.fastmock.site/mock/532e60f1fc8ce344d5709c8f022f5cc7/api/school/attendee",
"list_key": "data",
"label_key": "label",
"value_key": "value",
"children_key": "",
"request_method": "POST",
"search_key": "search"
},
"options": []
}
],
"style": []
},
{
"required": true,
"order": 0,
"label": "oms测试组件2",
"field": "3",
"value": "2",
"logic_id": 2,
"placeholder": "xxxx",
"full_module": true,
"display": true,
"editable": true,
"tips": "oms测试组件2",
"engine": {
"name": "SimpleText",
"config": {
"minInputlength": 8,
"maxInputlength": 10
}
},
"regx_list": [
{
"name": "test",
"expression": "/[一-龥豈-鶴]/",
"error_message": "包含无效字符3"
}
],
"resource": [],
"style": []
},
{
"required": false,
"order": 0,
"label": "oms测试组件1",
"field": "4",
"value": "1",
"logic_id": 1,
"placeholder": "xxxx",
"full_module": true,
"display": true,
"editable": true,
"tips": "oms测试组件1",
"engine": {
"name": "SimpleText",
"config": {
"minInputlength": 8,
"maxInputlength": 10
}
},
"regx_list": [
{
"name": "test",
"expression": "/[一-龥豈-鶴]/",
"error_message": "包含无效字符2"
},
{
"name": "1111",
"expression": "测试叔叔说",
"error_message": "包含无效字符2"
}
],
"resource": [
{
"api_setting": [],
"options": [
{
"label": "是",
"value": "是"
},
{
"label": "否",
"value": "否"
}
]
}
],
"style": []
}
]
}
Response Parameters Body
Title | Description | Type | Required | Tips |
---|---|---|---|---|
status | 状态码 | int | 0成功 非0失败 | |
data | 表单数据 | object | 是 |
data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
id | 表单ID | string | 是 | |
app_id | 应用ID | string | 是 | |
name | 表单名称 | string | 是 | |
description | 表单描述 | string | 是 | |
bg_img | 表单背景图 | string | 是 | |
status | 表单状态 | int | 0禁用 1启用 |
Response Parameters Body Json
{
"status": 0,
"data": {
"id": 186,
"app_id": 1,
"name": "参会信息报名数据表单",
"description": "会展报名的表单的介绍哦",
"source": null,
"bg_img": null,
"status": null
}
}
更新表单
想要了解更多?请查看Etag介绍
HTTP Method
PUT
HTTP Request
/api/form/{id}
Request Parameters Query
无
Request Parameters Body
Title | Description | Type | Required | Tips |
---|---|---|---|---|
title | 表单标题 | integer | 是 | |
description | 表单描述 | string | 是 | |
modules | 表单组件列表 | array | 是 | 参数详情见创建表单 接口 |
Response Data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
status | 状态0成功 非0失败 | int | 是 | |
data | 表单组件数据 | string | 是 |
data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
id | 表单ID | string | 是 | |
app_id | 应用ID | string | 是 | |
name | 表单名称 | string | 是 | |
description | 表单描述 | string | 是 | |
bg_img | 表单背景图 | string | 是 | |
status | 表单状态 | int | 0禁用 1启用 |
Response Parameters Body Json
{
"status": 0,
"data": {
"id": 186,
"app_id": 1,
"name": "参会信息报名数据表单",
"description": "会展报名的表单的介绍哦",
"source": null,
"bg_img": null,
"status": null
}
}
Log
日期 | 作者 | 内容 |
---|---|---|
2022/11/18 | xlq | 创建 |
授权
获取token
HTTP Method
POST
HTTP Request
/api/auth/token
Request Parameters Query
无
Request Parameters Body
Title | Description | Type | Required | Tips |
---|---|---|---|---|
app_key | app Key | string | 是 | |
app_secret | 密钥 | string | 是 |
Response Data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
status | 状态:0成功 非0失败 | integer | 是 | |
token | status非0时,返回错误信息,键值对 | string | 否 | |
token_method | 加密算法 | string | 是 | |
token_type | token类型 | string | 是 | |
expire_time | 过期时间 | int | 是 |
Response Data Json
{
"status": 0,
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6ImZvcmZvcm0ifQ.eyJpc3MiOiJmb3Jmb3JtIiwic3ViIjoibmV3X21lZXRpbmdfc3lzIiwiaWRlbnQiOiIxZjY2ODQ3OGMyNDM0NGM5YjA0ZjE4MzhlYjc2MDFkNSIsImlhdCI6MTY2OTM0ODU0NywiZXhwIjoxNjY5MzUyMTQ3LCJhcHBfaWQiOjEsInJlYWQiOjEsIndyaXRlIjowfQ.1L4Lz1-Xg09VcyUw6M375jo2X5vAfnCKdkNPmgT_q8c",
"token_method": "HS256",
"token_type": "Bearer",
"expire_time": 1669352147
}
组件
创建常用项组件
HTTP Method
POST
HTTP Request
/api/form/module/normal
Request Parameters Query
无
Request Parameters Body
Title | Description | Type | Required | Tips |
---|---|---|---|---|
label | 组件名称 | string | 是 | |
field | 字段值(用于提交) | string | 是 | |
value | 组件默认值 | string | 是 | |
placeholder | 占位符 | string | 是 | |
弃用,通过label 是否有值判断 |
||||
display | 是否展示,组件初始状态 | bool | 是 | |
editable | 是否可编辑 | bool | 是 | |
tips | 组件提示 | string | 是 | |
engine | 组件引擎配置(详细参数:参考更新接口) | Engine |
是 | |
regx_list | 组件校验规则列表(详细参数:参考更新接口) | []Regx |
是 | |
resource | 组件资源(详细参数:参考更新接口) | []Resource |
是 |
Response Data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
status | 状态0成功 非0失败 | int | 是 |
Response Data Json
{
"status": 0,
"data": "success"
}
更新组件
HTTP Method
POST
HTTP Request
/api/form/module/{module_id}
Request Parameters Query
无
Request Parameters Body
Title | Description | Type | Required | Tips |
---|---|---|---|---|
label | 组件名称 | string | 是 | |
field | 字段值(用于提交) | string | 是 | |
value | 组件默认值 | string | 是 | |
logic_id | 组件逻辑ID,用来处理逻辑组件关系 | int | 是 | |
placeholder | 占位符 | bool | 是 | |
弃用,通过label 是否有值判断 |
||||
display | 是否展示,组件初始状态 | bool | 是 | |
editable | 是否可编辑 | bool | 是 | |
tips | 组件提示 | string | 是 | |
engine | 组件引擎配置(详细参数:参考更新接口) | Engine |
是 | |
regx_list | 组件校验规则列表(详细参数:参考更新接口) | []Regx |
是 | |
resource | 组件资源(详细参数:参考更新接口) | []Resource |
是 |
Response Data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
status | 状态0成功 非0失败 | int | 是 | |
data | 表单组件数据 | string | 是 |
data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
id | 组件ID | int | 是 | |
form_id | 表单ID | int | 是 | |
label | 组件名称 | string | 是 | |
field | 组件字段 | string | 是 | |
description | 描述 | string | 是 | |
tips | 提示 | string | 是 | |
value | 默认值 | string | 是 | |
placeholder | 占位符 | string | 是 | |
display | 是否展示 | bool | 是 | |
editable | 是否禁用 | bool | 是 |
Response Data Json
{
"status": 0,
"data": {
"id": 318,
"form_id": 138,
"label": "Test",
"field": "api_test",
"description": null,
"tips": "这是测试",
"value": "",
"placeholder": "这是测试",
"display": true,
"editable": true
}
}
常用项组件列表
HTTP Method
GET
HTTP Request
/api/form/module/normal
Request Parameters Query
无
Request Parameters Body
无
Response Data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
status | 状态0成功 非0失败 | int | 是 | |
data | 组件详情 | []Info | 是 | 具体数据查看表单详情组件内容 |
Response Data Json
{
"status": 0,
"data": [
{
"id": 3656,
"label": "级联选择"
},
{
"id": 3657,
"label": "性别"
},
{
"id": 3658,
"label": "手机号"
}
]
}
组件详情
HTTP Method
GET
HTTP Request
/api/form/module/{id}
Request Parameters Query
无
Request Parameters Body
无
Response Data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
status | 状态0成功 非0失败 | int | 是 | |
data | 组件详情 | []Info | 是 | 具体数据查看表单详情组件内容 |
Response Data Json
{
"status": 0,
"data": {
"id": 3658,
"form_id": 0,
"required": false,
"label": "手机号",
"field": "phone",
"logic_id": 113,
"tips": "",
"full_module": true,
"value": "",
"placeholder": "请输入手机号",
"display": true,
"editable": true,
"resource": [],
"regx_list": [
{
"id": 1069,
"name": "手机号",
"expression": "/1\\d{10}/",
"error_message": "手机号格式错误"
}
],
"engine": {
"name": "SimpleText",
"config": {
"minInputlength": "",
"maxInputlength": "",
"type": "number"
}
}
}
}
删除组件
HTTP Method
DELETE
HTTP Request
/api/form/module/{module_id}
Request Parameters Query
无
Request Parameters Body
无
Response Data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
status | 状态0成功 非0失败 | int | 是 |
Response Data Json
{
"status": 0
}
资源
搜索资源
HTTP Method
GET
HTTP Request
/api/resource/search
Request Parameters Query
Title | Description | Type | Required | Tips |
---|---|---|---|---|
type | 搜索的资源类型 | int | 否 | 默认搜索全部资源 1搜索本地资源 2搜索远程资源 |
Request Parameters Body
无
Response Data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
status | 状态0成功 非0失败 | int | 是 | |
data | 资源列表 | []Resource |
是 |
Resource
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
id | 资源ID | int | 是 | |
app_id | 应用ID | int | 是 | |
type | 资源类型 | int | 是 | 1本地资源 2远程资源 |
title | 资源名称 | string | 是 | |
api_settings | 远程资源详情 | []ApiSetting |
否 | ⚠️当type为1时,值为null |
options | 本地资源详情 | []Option |
否 | ⚠️当type为2时,值为null |
Option
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
label | 资源名称 | string | 是 | |
value | 资源值 | string | 是 | |
logic_id | 逻辑ID | int | 是 | 用来处理多级关系 |
p_logic_id | 上级逻辑ID | int | 是 | 用来处理多级关系 |
child_logic_ids | 子级逻辑ID列表 | []integer |
是 | ⚠️为Option 的logic_id |
children | 子级列表 | []Option |
是 | ⚠️值为Option 本身 |
ApiSetting
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
uri | 资源地址 | string | 是 | |
list_key | 数据的下标 | string | 是 | |
label_key | 资源名称的下标 | string | 是 | |
value_key | 资源值的下标 | string | 是 | |
children_key | 子级数据下标 | string | 是 | |
request_method | 筛选时的请求方式 | string | 是 | |
search_key | 可筛选的字段 | string | 是 |
Response Data Json -> type = 1
{
"status": 0,
"data": [
{
"id": 23,
"app_id": 1,
"type": 1,
"title": "选项是否",
"api_settings": [],
"options": [
{
"id": 142,
"resource_id": 23,
"label": "是",
"value": "是"
},
{
"id": 143,
"resource_id": 23,
"label": "否",
"value": "否"
}
]
},
{
"id": 307,
"app_id": 1,
"type": 1,
"title": "多级测试",
"api_settings": [],
"options": [
{
"id": 284,
"resource_id": 307,
"label": "1级1",
"value": "0",
"logic_id": 1,
"p_logic_id": 0,
"child_logic_ids": [
2,
3
],
"children": [
{
"id": 285,
"resource_id": 307,
"label": "2级1",
"value": "0",
"logic_id": 2,
"p_logic_id": 1,
"child_logic_ids": [
4
],
"children": [
{
"id": 287,
"resource_id": 307,
"label": "3级1",
"value": "0",
"logic_id": 4,
"p_logic_id": 2,
"child_logic_ids": [
5
],
"children": [
{
"id": 288,
"resource_id": 307,
"label": "4级1",
"value": "0",
"logic_id": 5,
"p_logic_id": 4,
"child_logic_ids": [],
"children": []
}
]
}
]
},
{
"id": 286,
"resource_id": 307,
"label": "2级2",
"value": "0",
"logic_id": 3,
"p_logic_id": 1,
"child_logic_ids": [],
"children": []
}
]
},
{
"id": 289,
"resource_id": 307,
"label": "1级2",
"value": "1",
"logic_id": 4,
"p_logic_id": 0,
"child_logic_ids": [
5
],
"children": [
{
"id": 288,
"resource_id": 307,
"label": "4级1",
"value": "0",
"logic_id": 5,
"p_logic_id": 4,
"child_logic_ids": [],
"children": []
}
]
},
{
"id": 290,
"resource_id": 307,
"label": "1级3",
"value": "2",
"logic_id": 5,
"p_logic_id": 0,
"child_logic_ids": [],
"children": []
}
]
}
]
}
Response Data Json -> type = 2
{
"status": 0,
"data": [
{
"id": 23,
"app_id": 1,
"type": 1,
"title": "测试远程资源",
"options": [],
"api_settings": [
{
"id": 139,
"resource_id": 121,
"uri": "https://www.fastmock.site/mock/532e60f1fc8ce344d5709c8f022f5cc7/api/school",
"list_key": "data",
"label_key": "label",
"value_key": "value",
"children_key": "",
"request_method": "GET",
"search_key": "search"
}
]
}
]
}
校验
搜索校验规则
HTTP Method
GET
HTTP Request
/api/rule/search
Request Parameters Query
无
Request Parameters Body
无
Response Data
Title | Description | Type | Required | Tips |
---|---|---|---|---|
status | 状态0成功 非0失败 | int | 是 | |
data | 规则列表 | []Rule |
是 |
Rule
Schema
Title | Description | Type | Required | Tips |
---|---|---|---|---|
id | 规则ID | int | 是 | |
app_id | 应用ID | int | 是 | |
name | 规则名称 | string | 是 | |
expression | 校验逻辑 | string | 是 | |
error_message | 错误提示 | string | 是 |
Response Data Json
{
"status": 0,
"data": [
{
"id": 37,
"app_id": 1,
"name": "必须是中文",
"expression": "/[\u9e00-\u9fa5]/",
"error_message": "包含无效字符"
}
]
}
引擎配置项
SimpleText 单行文本输入
Title | Description | Type | Required | Tips |
---|---|---|---|---|
minInputlength | 最小长度 | string | 是 | |
maxInputlength | 最大长度 | string | 是 | |
min | 数字最大值 | string | 是 | |
max | 数字最小值 | string | 是 | |
type | 输入框类型 text、email、number | string | 是 |
Textarea 多行文本输入
Title | Description | Type | Required | Tips |
---|---|---|---|---|
areaMinLength | 最小长度 | string | 是 | |
areaMaxLength | 最大长度 | string | 是 |
EnumText 联想输入
Title | Description | Type | Required | Tips |
---|---|---|---|---|
minlength | 最小长度 | string | 是 | |
maxlength | 最大长度 | string | 是 | |
enumLimit | 匹配数量 | string | 是 | |
enumType | 是否可以自定义输入 | string | 是 | 0可以自定义输入 1强制使用联想输入 |
enumInit | 初始触发 | string | 是 | |
matchKeywordsLimit | 最小搜索关键词个数限制 | string | 是 | |
enumLimitKey | 类似pageSize ,可以自定义 |
string | 是 |
Radio 单选
Title | Description | Type | Required | Tips |
---|---|---|---|---|
optDirection | 排列方式 | string | 是 |
Checkbox 单选
Title | Description | Type | Required | Tips |
---|---|---|---|---|
optDirection | 排列方式 | string | 是 | |
minCheckCount | 最小选择数量 | string | 是 | |
maxCheckCount | 最发选择数量 | string | 是 |
Select 下拉选择
Title | Description | Type | Required | Tips |
---|---|---|---|---|
multiple | 是否可以多选 | string | 是 | |
minCount | 最小选择数量 | string | 是 | |
maxCount | 最大选择数量 | string | 是 |
Cascader 级联选择
无配置,resource
中有children
节点
Address 地址选择
Title | Description | Type | Required | Tips |
---|---|---|---|---|
precision | 精度 | string | 是 | 1省 2市 3区 |
File 文件上传
Title | Description | Type | Required | Tips |
---|---|---|---|---|
fileType | 文件格式 | string | 是 | |
fileSize | 文件大小 | string | 是 | |
buttonText | 按钮文字 | string | 是 |
Image 图片上传
图片选择可以多选
Title | Description | Type | Required | Tips |
---|---|---|---|---|
fileType | 最小长度 | string | 是 | |
fileSize | 最小长度 | string | 是 | |
buttonText | 最小长度 | string | 是 | |
multipleUpload | 最小长度 | string | 是 | |
display | 最小长度 | string | 是 |
Date 时间选择
Title | Description | Type | Required | Tips |
---|---|---|---|---|
format | 日期格式 | string | 是 | 年YYYY 年月YYYY-MM 年月日YYYY-MM-DD 年月日时分YYYY-MM-DD HH:mm 年月日时分秒YYYY-MM-DD HH:mm:ss |
minDate | 最小值 | string | 是 | |
maxDate | 最大值 | string | 是 | |
now | 默认当前时间 | string | 是 |
文档使用帮助
在index.html.md
文件中进行编辑目录和文档总体结构,然后在includes目录中添加对应的模块。
文档使用Markdown语言排版。
Markdown格式示例
# 标题
## 二级标题
### .......
```json
代码块
```
表格
表头 | 表头
---------- | -------
内容 | 内容
内容 | 内容
`Something`
表格
表头 | 表头 |
---|---|
内容 | 内容 |
内容 | 内容 |
无序列表
无序列表
Json
是没有注释的 避免在json中写注释
Something
高亮
加粗 粗体
横线
下划线
斜体