【架构实战】ChaosBlade 与 Chaos Mesh:开源混沌工程工具落地
本文是「架构实战·第二季」第 48 篇。上一篇讲了混沌工程的起源和原则,这一篇讲落地——用 ChaosBlade 和 Chaos Mesh 这两个 CNCF 主流工具,搭建一个能跑在生产环境的混沌工程平台。
FcDesigner 是基于 Vue 的低代码可视化 AI 表单设计器。用自然语言描述业务即可生成表单结构,也可以拖拽组件并导出 JSON,再由渲染器还原成可交互表单,适合政务、OA、ERP、电商和流程审批。
源码地址: Github | Gitee | 文档 | 在线演示
内置表单多语言体系,轻松打破语言隔阂。
提供 30+ 常用组件,涵盖表单组件、布局组件、辅助类组件等各类实用模块。
支持灵活扩展自定义组件,个性化开发轻松拿捏。支持二次扩展开发,深度定制不在话下。
支持组件样式配置,动态调整组件尺寸、颜色、间距等样式属性。
支持事件交互配置,灵活配置组件事件响应逻辑,实现复杂交互场景。
内置 AI 表单助理,让表单开发更快、更稳、更智能。
表单大纲、操作记录、数据录入、组件生成、事件配置、表单验证、栅格布局、表格布局等。
1. 预览支持导出 SQL
预览弹窗新增「生成 SQL」面板,可根据当前表单生成建表语句,并对比历史表结构,输出新增表、删除表、新增字段、删除字段、修改字段和重命名字段的变更语句。设计器同时提供 getSQL、getSQLDiff 方法,方便在业务侧直接取用。只有字段设置了必填时,才会生成 NOT NULL。
2. 提示信息支持 HTML 编辑
组件的提示信息现在可以直接用 HTML 编写。内容里包含换行时,输入框会变为只读,点击后打开编辑弹窗,避免长文本在输入框里难以维护。 (需要 formCreate 版本>= 3.3.6或2.7.32)
3. 新增按钮组组件
Element Plus 与 Ant Design Vue 新增按钮组组件,可在一组按钮中统一配置尺寸和类型,并直接编辑每个按钮的文字。Element Plus 的按钮还支持文字按钮样式,以及文字按钮背景色。
4. 预览弹窗可按需显示
预览弹窗中的表单、生成组件、生成 HTML、生成 SQL 四个面板,现在都可以单独控制是否显示,方便按使用场景收起不需要的内容。
5. 表格表单列标题支持多语言
表格表单的列标题已接入多语言配置,不同语言下可以分别维护列名,预览和渲染时会按当前语言显示。
6. 校验与事件编辑更容易上手
验证规则的下拉选项补充了说明文字,选规则时就能看到适用场景。事件函数和自定义校验的代码编辑器也增加了占位示例,打开编辑器就能看到参数说明和写法参考。
7. 功能优化及 BUG 修复
✅ 新增 Ant Design Vue 选择器支持搜索,并可指定按选项标签或选项值匹配
✅ 新增 Element Plus 树形控件支持禁用配置
✅ 新增 Vant 选择器支持清除图标
✅ 优化 多语言选择列表的表头样式
✅ 优化 设计器图标字体

@form-create/designer 支持 Vue 3 环境,以下是如何在 Vue 3 项目中安装和使用该库的指南。
首先,安装 @form-create/designer 的 Vue 3 版本
npm install @form-create/designer@^3
npm install @form-create/element-ui@^3
npm install element-plus
如已安装旧版本渲染器,请执行以下命令更新至最新版:
npm update @form-create/element-ui@^3
Node.js 引入
对于使用 Node.js 的项目,按照以下步骤在您的 Vue 3 项目中引入并配置:
import { createApp } from 'vue';
import FcDesigner from '@form-create/designer';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';
// 创建 Vue 应用
const app = createApp(App);
// 使用 Element Plus 和 FcDesigner
app.use(ElementPlus);
app.use(FcDesigner);
app.use(FcDesigner.formCreate);
// 挂载应用
app.mount('#app');
CDN 引入
如果您选择使用 CDN,可以按照以下步骤在 HTML 文件中引入相关依赖:
<!-- 引入 Element Plus 样式 --><link href="https://unpkg.com/element-plus/dist/index.css" rel="stylesheet" /><!-- 引入 Vue 3 --><script src="https://unpkg.com/vue"></script><!-- 引入 Element Plus --><script src="https://unpkg.com/element-plus/dist/index.full.js"></script><!-- 引入 form-create 和 designer --><script src="https://unpkg.com/@form-create/element-ui@next/dist/form-create.min.js"></script><script src="https://unpkg.com/@form-create/designer@next/dist/index.umd.js"></script><div id="app">
<fc-designer height="100vh"></fc-designer></div><script>
const { createApp } = Vue;
const app = createApp({});
app.use(ElementPlus);
app.use(FcDesigner);
app.use(FcDesigner.formCreate);
app.mount('#app');
</script>
在 Vue 3 组件中,您可以通过以下方式使用 fc-designer 组件:
<template>
<fc-designer ref="designer" height="100vh" /></template><script setup>
import { ref } from 'vue';
// 可以在此处获取设计器实例或进行其他操作
const designer = ref(null);
</script>
本项目采用 Vue3.0 和 Ant Design Vue 进行页面构建,内置多语言解决方案,支持二次扩展开发,支持自定义组件扩展。

首先,安装 @form-create/antd-designer
npm install @form-create/antd-designer@^3
npm install @form-create/ant-design-vue@^3
npm install ant-design-vue
如已安装旧版本渲染器,请执行以下命令更新至最新版:
npm update @form-create/ant-design-vue@^3
Node.js 引入
对于使用 Node.js 的项目,按照以下步骤在您的 Vue 3 项目中引入并配置:
import FcDesigner from '@form-create/antd-designer'import antd from 'ant-design-vue';
import 'ant-design-vue/dist/reset.css';
// 创建 Vue 应用
const app = createApp(App);
app.use(antd)
app.use(FcDesigner)
app.use(FcDesigner.formCreate)
// 挂载应用
app.mount('#app');
CDN 引入
如果您选择使用 CDN,可以按照以下步骤在 HTML 文件中引入相关依赖:
<link rel="stylesheet" href="https://unpkg.com/ant-design-vue@4/dist/reset.css"></link><link rel="stylesheet" href="https://fastly.jsdelivr.net/npm/vant@4/lib/index.css"></link><!-- 引入 Vue 及所需组件 --><script src="https://unpkg.com/dayjs/dayjs.min.js"></script><script src="https://unpkg.com/dayjs/plugin/customParseFormat.js"></script><script src="https://unpkg.com/dayjs/plugin/weekday.js"></script><script src="https://unpkg.com/dayjs/plugin/localeData.js"></script><script src="https://unpkg.com/dayjs/plugin/weekOfYear.js"></script><script src="https://unpkg.com/dayjs/plugin/weekYear.js"></script><script src="https://unpkg.com/dayjs/plugin/advancedFormat.js"></script><script src="https://unpkg.com/dayjs/plugin/quarterOfYear.js"></script><script src="https://unpkg.com/vue"></script><script src="https://unpkg.com/ant-design-vue@4/dist/antd.min.js"></script><script src="https://fastly.jsdelivr.net/npm/vant@4/lib/vant.min.js"></script><!-- 引入 form-create 及 fcDesigner --><script src="https://unpkg.com/@form-create/ant-design-vue@^3/dist/form-create.min.js"></script><script src="https://unpkg.com/@form-create/vant@^3/dist/form-create.min.js"></script><script src="https://unpkg.com/@form-create/antd-designer@^3/dist/index.umd.js"></script><div id="app">
<fc-designer height="100vh"></fc-designer></div><!-- 挂载组件 --><script>
// 创建 Vue 应用实例
const app = Vue.createApp({});
// 挂载 AntDesignVue
app.use(antd);
// 挂载 fcDesignerPro 组件
app.use(FcDesigner);
// 挂载 formCreate
app.use(FcDesigner.formCreate);
// 挂载 Vue 应用
app.mount('#app');
</script>
在 Vue 3 组件中,您可以通过以下方式使用 fc-designer 组件:
<template>
<fc-designer ref="designer" height="100vh" /></template><script setup>
import { ref } from 'vue';
// 可以在此处获取设计器实例或进行其他操作
const designer = ref(null);
</script>

本项目采用 Vue3.0 和 ElementPlus 进行移动端页面构建,移动端使用的是vant4.0版本,内置多语言解决方案,支持二次扩展开发,支持自定义组件扩展。
首先,安装 @form-create/vant-designer
npm install @form-create/vant-designer@^3
npm install @form-create/element-ui@^3
npm install @form-create/vant@^3
npm install element-plus
npm install vant
如已安装旧版本渲染器,请执行以下命令更新至最新版:
npm update @form-create/element-ui@^3
npm update @form-create/vant@^3
Node.js 引入
对于使用 Node.js 的项目,按照以下步骤在您的 Vue 3 项目中引入并配置:
import FcDesignerMobile from '@form-create/vant-designer'import ELEMENT from 'element-plus';
import vant from 'vant';
import 'vant/lib/index.css';
import 'element-plus/dist/index.css';
// 创建 Vue 应用const app = createApp(App);
app.use(ELEMENT)
app.use(vant)
app.use(FcDesignerMobile)
app.use(FcDesignerMobile.formCreate)
// 挂载应用
app.mount('#app');
CDN 引入
如果您选择使用 CDN,可以按照以下步骤在 HTML 文件中引入相关依赖:
<link rel="stylesheet" href="https://unpkg.com/element-plus/dist/index.css"></link><link rel="stylesheet" href="https://unpkg.com/vant@4/lib/index.css"/><script src="https://unpkg.com/vue"></script><script src="https://unpkg.com/element-plus/dist/index.full.js"></script><script src="https://unpkg.com/vant@4/lib/vant.min.js"></script><script src="https://unpkg.com/@form-create/element-ui@next/dist/form-create.min.js"></script><script src="https://unpkg.com/@form-create/vant@next/dist/form-create.min.js"></script><script src="https://unpkg.com/@form-create/vant-designer@next/dist/index.umd.js"></script><div id="app">
<fc-designer-mobile height="100vh"></fc-designer-mobile></div><script>
const { createApp } = Vue;
const app = createApp({});
app.use(ElementPlus);
app.use(vant);
app.use(FcDesignerMobile);
app.use(FcDesignerMobile.formCreate);
app.mount('#app');
</script>
在 Vue 3 组件中,您可以通过以下方式使用 fc-designer 组件:
<template>
<fc-designer-mobile ref="designer" height="100vh" /></template><script setup>
import { ref } from 'vue';
// 可以在此处获取设计器实例或进行其他操作
const designer = ref(null);
</script>
在表单设计器中,可以通过以下方法获取表单的生成规则和配置,这些数据通常会被保存到数据库中,以便后续加载和回显。
//获取表单的生成规则
const ruleJson = this.$refs.designer.getJson();
//获取表单的配置
const optionsJson = this.$refs.designer.getOptionsJson();
//todo 保存JSON数据到数据库中
这些数据可以用来保存到数据库中,确保表单的状态和配置可以在页面刷新或重新加载时恢复。
当需要回显设计好的表单时,您需要加载之前保存的 JSON 规则和配置,并将其应用到设计器中。
//todo 加载表单JSON规则
//回显表单
this.$refs.designer.setOptions(optionsJson);
this.$refs.designer.setRule(ruleJson);
通过这些方法,可以将之前保存的表单规则和配置应用到设计器中,从而恢复表单的状态。
要渲染表单,您需要挂载 form-create 到 Vue 应用中,并加载表单规则和配置。
//从设计器中导入 formCreate
import {formCreate} from '@form-create/designer';
//挂载 formCreate
app.use(formCreate);
表单渲染示例
<template>
<div id="app">
<form-create v-model="formData" v-model:api="fApi" :rule="rule" :option="option"></form-create>
</div></template><script>
import {formCreate} from '@form-create/designer';
export default {
data() {
return {
//实例对象
fApi: {},
//表单数据
formData: {},
//表单生成规则
rule: [],
//组件参数配置
option: {}
}
},
beforeCreate(){
const rule,option;
// todo 加载表单JSON规则
this.rule = formCreate.parseJson(rule);
this.option = formCreate.parseJson(option);
}
}
</script>
可以通过 API 请求动态加载表单规则和配置,并将表单数据保存到服务器。
import axios from 'axios';
// 加载表单配置
async function loadFormConfig() {
try {
const response = await axios.get('/api/form-config');
return response.data;
} catch (error) {
console.error('加载表单配置失败', error);
return { rule: [], option: {} };
}
}
// 保存表单配置
async function saveFormConfig(ruleJson, optionsJson) {
try {
await axios.post('/api/form-config', { rule: ruleJson, options: optionsJson });
} catch (error) {
console.error('保存表单配置失败', error);
}
}
相关链接
FcDesigner 的详细介绍: 点击查看
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。