# dynamic-forms
**Repository Path**: zxy130359/dynamic-forms
## Basic Information
- **Project Name**: dynamic-forms
- **Description**: 动态表单服务端实现,可自动创建虚拟组件表,通过规则请求api自动完成增删查改,接口风格遵守resultfull风格
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2022-11-02
- **Last Updated**: 2022-11-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# dynamic-forms
## 一.介绍
动态表单服务端实现,可自动创建虚拟组件表,通过规则请求api自动完成增删查改,接口风格遵守resultfull风格
## 🤔 为什么要做 Forms ?
随着现在低代码的时代来临,越来越多功能可以通过较低的成本快速引入,大家可以花最小的代价完成一项较有意义的功能模块。
#### 软件架构
## 🛸 模块说明 | Module
软件架构说明
```lua
dynamic-forms
├── annotation -- 核心注解声明
├── config -- 核心配置中心
├── constant -- 常量类
├── controller -- 通用控制器入口,包含增删查改,表格查询
├── data -- 多数据源情况增删查改实现类
├── elasticSearch -- elasticSearch查询实现(暂未实现)
├── jpa -- jpa查询实现(默认实现)
└── mongodb -- mongodb查询实现(暂未实现)
├── enums -- 枚举模块
├── exception -- 异常捕获类,包含全局异常捕获统一实体返回
├── invoke -- 数据源管理控制器,动态选择数据查询源
├── model -- 数据实体类,对应数据表,自动生成
├── api -- 统一接口返回实体
├── base -- 数据表统一定义父类,包含自动创建主键
├── query -- 查询相关返回对象,参数对象
└── vo -- 视图对象,虚拟对象
├── prop -- 数据源相关参数设置
├── repository -- 数据服务层jpa实现
├── runner -- 服务启动后执行函数类
├── service -- 业务服务层
├── toolkit -- 时间工具模块
└── util -- 工具类
```
## 二. 安装教程
1.只需要引入以下依赖包即可
``` xml
com.houlangmark
dynamic-forms
1.2.2
```
## 三. 使用说明
1.只需要在启动类上加上@EnableDynamicForms注解即可轻松实现
``` java
@EnableDynamicForms
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
## 四. 调用示例
### 1.以下调用为举例,以组件库类FormsAssembly举例,其他组件类同理,替换相应的字段属性即可
### 2.[接口文档示例](https://www.showdoc.cc/2123913536001181)
### 3.主要接口展示
#### 3.1. 组件字段属性展示
``` shell
GET /forms-api/build/{assembly}
```
| 参数名 | 参数位置 | 参数值 | 参数含义 | 是否必填 |
|:-------------:|:--------:|:---------:|:-------:|:-----:|
| assembly | path | FormsAssembly | 组件类名 | Y |
2. 组件列表查询
``` shell
POST /forms-api/data/table/{assembly}
```
| 参数名 | 参数位置 | 参数值 | 参数含义 | 是否必填 |
|:-------------:|:----:|:--------------------------:|:----------:|:----:|
| pageIndex | body | 0 | 页码 | Y |
| pageSize | body | 10 | 页数 | Y |
| sort | body | name | 列名排序 | N |
| condition | body | {"key": "id","value": "1"} | 条件查询,k,v格式 | N |
3. 组件新增
``` shell
POST /forms-api/data/modify/{assembly}
```
| 参数名 | 参数位置 | 参数值 | 参数含义 | 是否必填 |
|:-------------:|:----:|:-------------:|:----:|:----:|
| assembly | path | FormsAssembly | 组件名 | Y |
| assemblyName | body | 地图 | 组件名称 | Y |
| required | body | true | 是否必填 | Y |
| editType | body | map | 组件类型 | Y |
4. 组件详情展示
``` shell
GET /forms-api/data/{assembly}/{id}
```
| 参数名 | 参数位置 | 参数值 | 参数含义 | 是否必填 |
|:--------:|:----:|:-------------:|:----:|:----:|
| assembly | path | FormsAssembly | 组件名 | Y |
| id | body | 1 | 组件id | Y |
5. 组件修改
``` shell
PUT /forms-api/data/modify/{assembly}
```
| 参数名 | 参数位置 | 参数值 | 参数含义 | 是否必填 |
|:------------:|:----:|:-------------:|:----:|:----:|
| assembly | path | FormsAssembly | 组件名 | Y |
| assemblyName | body | 地图 | 组件名称 | Y |
| id | body | 1 | id | Y |
| required | body | true | 组件类型 | Y |
| editType | body | map | 组件类型 | Y |
6. 组件删除
``` shell
DELETE /forms-api/data/modify/{assembly}/{id}
```
| 参数名 | 参数位置 | 参数值 | 参数含义 | 是否必填 |
|:------------:|:----:|:-------------:|:----:|:----:|
| assembly | path | FormsAssembly | 组件名 | Y |
| id | path | 1 | id | Y |
7. 组件批量删除
``` shell
DELETE /forms-api/data/modify/{assembly}
```
| 参数名 | 参数位置 | 参数值 | 参数含义 | 是否必填 |
|:--------:|:-----:|:-------------:|:-----------:|:----:|
| assembly | path | FormsAssembly | 组件名 | Y |
| ids | param | 1 | id数组,可写多个ID | Y |
| ids | param | 2 | id数组 | Y |
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
### ⭐️ Forms 使用 MulanPSL2 协议,源代码完全开源,无商业限制。 开源不易如果喜欢请给作者 Star 鼓励 👇
---
Github 仓库 |
码云仓库 |
---