更新记录
1.0.0(2026-07-01)
下载此版本
发布v1.0.0
平台兼容性
uni-app(5.14)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-vue插件版本 |
app-nvue |
Android |
iOS |
鸿蒙 |
| × |
√ |
√ |
√ |
√ |
1.0.0 |
- |
- |
- |
- |
| 微信小程序 |
微信小程序插件版本 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| √ |
1.0.0 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
uni-app x(5.14)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| - |
- |
- |
- |
- |
- |
eosine-app
基于 uni-app 的低代码动态表单与列表渲染引擎。通过后端 JSON 配置,即可动态渲染完整的表单页面和列表页面,无需编写页面级 Vue 代码。
特性
- 配置驱动:通过
MODULEID / PAGEID 从后端获取表单和列表配置,动态渲染 UI
- 丰富的控件类型:内置 20+ 种表单控件,覆盖文本、数字、选择器、日期、地区、上传、富文本等场景
- 动态表单逻辑:支持字段的显示/隐藏、启用/禁用、必填切换、字段联动同步、公式计算
- 列表页面:支持搜索筛选、数据卡片展示、行操作按钮、字典翻译
- 子表支持:表单内嵌子表(可增删行的重复编辑区域)
- 跨平台:Vue 3 + uni-app,支持微信小程序和 H5
平台支持
| 平台 |
支持情况 |
| Vue 3 (Web) |
支持 |
| 微信小程序 |
支持 |
| App (nvue) |
不支持 |
| uni-app-x |
不支持 |
组件列表
页面级组件
| 组件名 |
说明 |
eos-form-page |
完整的表单页面,自动拉取配置、渲染表单、提交保存 |
eos-form-sub |
子表(表单内嵌的重复行编辑表格) |
eos-list-page |
完整的列表页面,集成搜索筛选、数据卡片、操作按钮 |
表单相关组件
| 组件名 |
说明 |
eos-form |
核心动态表单渲染器,根据 CONTROLS 类型自动分发到对应控件 |
eos-form-group |
表单分组容器,带标题栏 |
eos-form-item |
表单行(label + 控件) |
eos-input |
文本输入框 / 文本域 |
eos-input-number |
数字输入框 |
eos-select |
多模式选择器(字典、搜索、弹窗表格、级联分组) |
eos-switch |
开关/复选框(0/1) |
eos-datetime |
日期时间选择器(日期、时间、范围) |
eos-area |
省市区级联选择器 |
eos-upload |
图片/文件上传 |
eos-editor |
富文本展示 |
eos-read |
只读字段展示(支持加密数据眼睛切换) |
eos-joint |
联合字段占位组件(待实现) |
eos-nodata |
空数据/无更多数据提示 |
eos-navbar |
自定义导航栏 |
eos-tree |
树形组件(支持复选/单选) |
列表相关组件
| 组件名 |
说明 |
eos-list |
单条数据详情卡片 |
eos-list-item |
列表行(label + value) |
eos-list-btn |
列表行操作按钮组 |
eos-list-dict |
字典标签翻译展示 |
eos-list-head |
列表头部(待实现) |
eos-list-sub |
列表子表展示(待实现) |
eos-query |
搜索筛选面板 |
支持的控件类型 (CONTROLS)
| 控件类型 |
对应组件 |
说明 |
ExTextBox |
eos-input |
单行文本 |
ExNumber |
eos-input-number |
数字输入 |
ExPassword |
eos-input |
密码输入 |
ExTextarea |
eos-input |
多行文本 |
ExSwitch |
eos-switch |
开关 |
ExSelect |
eos-select |
下拉选择 |
ExRadio |
eos-select |
单选 |
ExReadCardDict |
eos-list-dict |
字典只读 |
ExSelectMutiple |
eos-select |
多选 |
ExCheckbox |
eos-select |
复选框 |
ExSelectSearch |
eos-select |
搜索选择 |
ExSelectModal |
eos-select |
弹窗选择 |
ExSelectTable |
eos-select |
表格选择 |
ExSelectGroup |
eos-select |
分组选择 |
ExArea |
eos-area |
省市区 |
ExTime |
eos-datetime |
时间 |
ExDate |
eos-datetime |
日期 |
ExDateTime |
eos-datetime |
日期时间 |
ExDateRange |
eos-datetime |
日期范围 |
ExDateTimeRange |
eos-datetime |
日期时间范围 |
ExMap |
- |
地图 |
ExUpload |
eos-upload |
图片上传 |
ExShowImage |
eos-upload |
图片展示 |
ExUploadFile |
eos-upload |
文件上传 |
ExEditor |
eos-editor |
富文本 |
快速开始
安装
在 uni_modules 目录下引入 eosine-app 模块,或通过 uni-app 插件市场安装。
全局注册
// main.js
import EosineApp from '@/uni_modules/eosine-app'
app.use(EosineApp)
按需引入
import { EosFormPage, EosListPage } from '@/uni_modules/eosine-app'
使用表单页面
<template>
<eos-form-page
v-model="formData"
MODULEID="your-module-id"
PAGEID="your-page-id"
ACTION="ADD"
/>
</template>
<script setup>
import { ref } from 'vue'
const formData = ref({})
</script>
使用列表页面
<template>
<eos-list-page
MODULEID="your-module-id"
PAGEID="your-page-id"
selectKey="id"
/>
</template>
架构说明
该模块采用元数据驱动 UI 的设计模式:
- 页面组件(
eos-form-page、eos-list-page)通过 MODULEID / PAGEID 从后端 API 获取配置 JSON
- 配置定义了字段分组、字段控件类型(
CONTROLS)、字段名(FIELD)、校验规则、动态显隐/禁用表达式、计算公式、字典引用等
- eos-form 作为核心分发器,根据每个字段的
CONTROLS 类型渲染对应的原子组件
- eos-list 渲染列表详情卡片,eos-list-btn 提供行操作按钮
- libs/form.hook.js 提供响应式逻辑层(动态显隐、启用禁用、字段同步、公式计算、清理联动)
- libs/btn.hook.js 处理列表按钮的导航和操作分发
依赖
- uni-app (Vue 3)
- HBuilderX >= 3.1.0
更新日志
详见 changelog.md