更新记录

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 的设计模式:

  1. 页面组件eos-form-pageeos-list-page)通过 MODULEID / PAGEID 从后端 API 获取配置 JSON
  2. 配置定义了字段分组、字段控件类型(CONTROLS)、字段名(FIELD)、校验规则、动态显隐/禁用表达式、计算公式、字典引用等
  3. eos-form 作为核心分发器,根据每个字段的 CONTROLS 类型渲染对应的原子组件
  4. eos-list 渲染列表详情卡片,eos-list-btn 提供行操作按钮
  5. libs/form.hook.js 提供响应式逻辑层(动态显隐、启用禁用、字段同步、公式计算、清理联动)
  6. libs/btn.hook.js 处理列表按钮的导航和操作分发

依赖

  • uni-app (Vue 3)
  • HBuilderX >= 3.1.0

更新日志

详见 changelog.md

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。