TinyEngine2.6版本焕新发布:实现页面树折叠!设计器 UI 及多项功能点升级!
前言
TinyEngine低代码引擎使开发者能够定制低代码平台。它是低代码平台的底座,提供可视化搭建页面等基础能力,既可以通过线上搭配组合,也可以通过cli创建个人工程进行二次开发,实时定制出自己的低代码平台。适用于多场景的低代码平台开发,如:资源编排、服务端渲染、模型驱动、移动端、大屏端、页面编排等。
近期,我们正式推出TinyEngine v2.6版本,希望能够给大家带来更好的使用体验,满足大家日益增长的各种需求。
这次版本特性开发和问题修复已经有更多的开发者朋友参与进来,我们在此诚挚感谢 @zzerX 、 @1degrees 、@JasonWellGao 积极参加 TinyEngine 的开源共建,同时也邀请大家一起加入开源社区的建设,让 TinyEngine 成长的更加优秀和茁壮。
v2.6.0 变更特性概览
- 【增强】页面树增强支持折叠
- 【UI】UI刷新:数据源功能UI调整、替换图标等
- 【优化】预览支持热更新,移除URL依赖
- 【优化】属性出码支持JSFunction
- 【优化】支持配置页面title
- 【优化】页面操作菜单支持配置
- 【优化】Tabs组件支持配置名称,支持绑定
- 【优化】文档更新
- 【其他】大量功能细节优化与bug修复
TinyEngine v2.6.0 新特性解读
1. 【增强】页面树增强支持折叠
1.1 页面树支持折叠子节点
点击节点的图标,则可以收起或者展开它的子孙节点
1.2 搜索时自动展开被收起的节点
如果节点一开始被收起,此时通过搜索框搜索,如果匹配到被收起的节点,则会自动展开,显示在搜索结果中
1.3 页面树支持横向滚动
页面树深度很深度或者节点名称非常长时,页面树宽度不够宽,此时页面树容器底部出现横向滚动条。往右滚动可查看超宽的内容
2. 【UI】UI刷新:数据源功能UI调整、替换图标等
2.1数据源功能UI调整
v2.6之前版本中,创建数据源时,获取远程字段信息在三级面板,使用起来不方便,且远程获取字段信息应该优先于数据源字段,用户应该先获取远程字段之后,再对字段进行修改。
2.1.1 原版本数据源
数据源字段及远程字段信息页面
添加数据源成功后,在数据源列表点击编辑静态数据图标,打开静态数据管理页面添加或者修改静态数据
2.1.2 现版本数据源
-
添加数据源
在添加数据源的时候,会有三个页签展示(远程配置,数据源字段,静态数据),将原本的设置数据源和静态数据管理放在了同一个面板,便于添加字段和数据,入口更明显。
a.远程配置页签(对应的原点击获取远程配置后的页面),配置请求地址,请求描述,请求设置后,点击查看远程字段,三级面板打开,展示请求结果,如请求结果中的数据进行改变,点击查看已获取的字段,查看字段下的数据会进行改变。
b.点击查看远程字段的保存按钮,二级面板的页签会自动切换选中数据源字段,会将展示的字段信息回填在数据源字段页签中
c.点击静态数据页签,可以看到数据源字段出现在静态数据的列名中,在当前页面可以添加静态数据
数据源字段改变,静态数据会增加列,保存时同时保存
-
在数据源列表设置当前某个数据源
操作同添加数据源,原有数据默认为远程数据源,按照对象数组处理
2.2 新手引导
之前版本的新手引导,都是大模块式加上大篇幅的文字介绍,重点不突出,用户看着也很费劲,本次优化删繁就简,将重点功能进行引导,突出重点。
以下为新手引导内容调整,共分为4步。
-
重点告知用户锁定功能
-
引导新用户拖拉拽组件到画布上
-
引导用户对画布中的组件进行属性设置
-
重点突出预览/出码功能
2.3物料面板图标调整
设计稿换新风格后,原物料图标跟页面风格不匹配,更换所有的物料图标
2.4 帮助问号内容提示和跳转形式调整
设计器中面板旁帮助提示文案调整,跳转由之前的直接点击帮助问号图标改为点击提示文案后查看详情跳转
3. 【优化】预览支持热更新,移除URL依赖
⚠️ Breaking Change (v2.6)
在 v2.6 版本中,我们对页面预览配置进行了破坏性调整,现在需要在物料入口 preview.js
中直接配置物料信息,不再通过 URL 参数传递物料相关的 script 和 css 资源。
基本配置
在 preview.js
文件中,需要在注册表的 engine.config
配置中添加 material
属性:
import { initPreview, META_SERVICE, HttpService } from '@opentiny/tiny-engine' const registry = { [META_SERVICE.Http]: HttpService, 'engine.config': { id: 'engine.config', theme: 'light', // 新增:物料配置 material: ['/mock/bundle.json'] } } initPreview({ registry })
迁移指南
如果您从 v2.5 或更早版本升级到 v2.6,请按以下步骤进行迁移:
- 在
preview.js
的engine.config
中添加material
配置 - 确保物料包 JSON 文件路径正确且可访问
4. 【优化】属性出码支持JSFunction
v2.5 或更早版本之前,组件属性值直接绑定 JSFunction 的时候,出码会错误。比如:
{ "props": { "render-content": { "type": "JSFunction", "value": "function render(h, { node, data }) {\n return <span style=\"color: red;font-size: 20px;\">{node.label}</span>\n}\n" } } }
会出码成为:
<template> <tiny-tree :render-content="function render(h, { node, data }) { return <span style=\"color: red;font-size: 20px;\">{node.label}</span> } "> </tiny-tree> </template>
v2.6 版本对该场景做了优化: 检测到属性为 JSFunction 的时候,将函数值生成到 setup 函数里面。然后属性绑定为该函数。
比如上述的属性会生成为(将 function 绑定到 script 中):
<template> <tiny-tree :render-content="render"></tiny-tree> </template> <script setup> const render = wrap(function render(h, { node, data }) { return <span style="color: red; font-size: 20px">{node.label}</span> }) </script>
5. 【优化】支持配置页面title
打开设计器之后,默认会修改页面的标题为 ${app.name}-TinyEngine设计器
。 在 v2.6 版本中,我们在 GlobalService 元服务中增加了 enableTitleUpdate
配置项,以满足二开用户自定义页面标题的需求。
- 配置项名称:
enableTitleUpdate
- 配置项作用:配置TinyEngine是否自动修改页面标题。默认为 true,即自动修改页面标题
- 配置示例:
import { GlobalService } from '@opentiny/tiny-engine' export default { root: { id: 'engine.root', metas: [ HttpService, GenerateCodeService, { ...GlobalService, options: { ...GlobalService.options, enableTitleUpdate: false } }, ThemeSwitchService ] }, //... }
6. 【优化】页面操作菜单支持配置
之前版本页面只有默认操作菜单项,2.6版本提供了页面操作菜单支持配置
默认操作菜单
通过配置项来定制
- 'customPageOperations':自定义操作配置项
- 'type':菜单项类型
- 'label':菜单项名称
- 'action':菜单项操作
// registry.js import { handleClickDelete } from './tests/utils' export default { // ... plugins: [ // ... [Page, { options: { ...Page.options, customPageOperations: [{type: 'delete', label: '删除', action: handleClickDelete}] } }] // ... ] // ... }
// 方法中传有两个参数 export const handleClickDelete = async (node, emit) => { // node 为所选择的页面的信息, 可以直接调接口处理数据 // emit 可以调用页面父组件的方法,例如 在选择的页面下新建子页面 emit('createPage', 'staticPages', node.id) }
7. 【优化】Tabs组件支持配置名称,支持绑定
标签页组件可以配置tab title 和 tab name
tab title --->页签标题
tab name --->页签值
8. 文档更新
- 文档图片已刷新为最新设计器UI图片
- 新增路由能力相关文档
- 大纲树相关文档更新
- 新增画布快捷操作文档
- 增加engine.config 配置项详解
- 物料API文档更新
9. 【其他】功能细节优化&bug修复
- TinyTabs 组件在不存在物料配置的情况下,走 renderSlots 逻辑导致 TinyTabs 无法渲染的 bug。TinyTooltip 组件插槽无法通过
inject
获取到 pageContext 时,报错的 bug。 @chilingling #1421 - 水平布局设置无效冗余 @chilingling #1329
- 更新输入输入框controls-position配置 @xuanlid #1401
- 更新popeditor组件grid-op配置 @xuanlid #1402
- 移除警告信息 @SonyLeo #1391
- 修复二级路由页面引用区块路径错误的问题 @zzerX #1415
- 父级节点是插槽的场景,无法使用画布中的向左箭头向上选中父节点问题 @chilingling #1419
- 删除当前正在编辑的页面,会得到请求报错弹窗。 @chilingling #1432
- 属性面板下拉框多选模式无法展示文本 @xuanlid #1439
- 进入设计器时,如果 url 上没有页面 id,编辑画布后保存,无法保存,保存接口会报错问题 @chilingling #1440
- 修复从物料列表拖拽取消后,点击选中画布的节点,会导致选中的节点被移动到画布最后的 bug。修复往表格列插槽拖动时,有可能拖动节点到插槽的顶层,导致节点被插入到 TinyGrid children,导致表格显示的 bug。 @chilingling #1449
- 修复小图标出码 BUG @1degrees #1447
- 删除废弃包 @chilingling #1410 #1412 #1434 #1438
- 升级Vite插件版本 @chilingling #1418
- 【优化】添加插件sourcemap @chilingling #1380
- 物料文件更新 @chilingling #1413 @xuanlid #1397
- 【代码优化】物料物块详情导入的panel API不存在,替换为可用的API名 @JasonWellGao #1319
- 【代码优化】增加容错性 @SonyLeo #1436
以上是此次更新问题修复的主要内容,更多细节请查看 v2.6.0 changelog
结语
TinyEngine 2.6 版本更新不仅限于页面树增强支持折叠,设计器UI刷新,还对预览支持热更新、出码、支持配置页面title等功能进行了完善。每一步前行都值得铭记,感谢有您陪伴我们一起迭代成长,同时也欢迎大家加入社区讨论,参与社区共建!
关于OpenTiny
欢迎加入 OpenTiny 开源社区。添加微信小助手:opentiny-official 一起参与交流前端技术~
OpenTiny 官网:https://opentiny.design
OpenTiny 代码仓库:https://github.com/opentiny
TinyVue 源码:https://github.com/opentiny/tiny-vue
TinyEngine 源码: https://github.com/opentiny/tiny-engine
欢迎进入代码仓库 Star🌟TinyEngine、TinyVue、TinyNG、TinyCLI、TinyEditor~
如果你也想要共建,可以进入代码仓库,找到 good first issue标签,一起参与开源贡献~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
小天才的云原生 DevOps 选型与落地:挑战、演进与经验分享
作者:小天才内部 IT 运维负责人 汤英杰 小天才,作为步步高教育电子旗下专注于儿童智能设备的科技品牌,自 2015 年推出首款产品以来,已成为 中国儿童智能手表市场的领军企业。核心产品涵盖儿童电话手表、学习平板等,主打“安全、教育、陪伴”三大核心功能。凭借精准定位、家长管控、健康监测等差异化技术,构建了完整的儿童智能生态系统。2024 年,小天才荣获中国移动“ 最受欢迎智能终端品牌”奖。2025 年一季度,线上市场销量占比达到 27.6%,稳居行业榜首。 随着内部 IT 生产制造、办公及外部营销数字化 业务不断增加,传统 IT 交付体系面临 海量设备数据管理、 全球化混合云架构支持及 日益严苛的安全合规挑战。为保障在各办公、营销场景中的产品体验,确保业务运营稳定,小天才内部 IT 决定转型,构建高效、稳定的云原生智能交付体系,以支撑业务的持续创新与拓展。 一、云原生转型背景与技术栈演进 时间线:早期业务部署在 Windows/Linux 服务器,采用手工 / 脚本构建部署;2020 年全面拥抱云原生。 技术栈转向:内部 IT 开发技术栈全面转向 Java、JavaScript/Ty...
- 下一篇
PAI-TurboX: 面向自动驾驶的训练推理加速框架
技术背景 自动驾驶领域对高效且实时的数据处理能力提出了极高要求。如何优化深度学习模型的训练与推理流程,提升计算资源利用率,缩短模型迭代周期,并在保证精度的同时,实现低延迟、高吞吐量的部署,始终是行业面临的核心挑战。针对这些难题,PAI-TurboX为自动驾驶场景中的复杂数据预处理、离线大规模模型训练和实时智能驾驶推理,提供了全方位的加速解决方案。这些方案不仅显著提升了感知、规划、控制等多模块系统的训练与推理效率,还有效加速端到端和世界模型的开发进程,助力自动驾驶技术不断迈向更高水平。 自动驾驶系统结构示例图(Autonomous Driving Small-Scale Cars: A Survey of Recent Development,https://arxiv.org/pdf/2404.06229) 自动驾驶面临的两大难题 训练期间,大规模训练样本数据加载和复杂的预处理,导致数据加载成为了训练系统的短板,使得GPU总是等待数据,无法满负荷运行,从而浪费GPU资源。 自动驾驶模型,需要融合图像、点云等多个模态数据,并且需要建模时序信息,导致无论是感知模型、规控模型或者是端到端模型...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS6,7,8上安装Nginx,支持https2.0的开启