UIOTOS文档: 导出部署与集成 | 页面嵌套 零代码 低代码 0代码 无代码 iframe 数据大屏 web组态 前端框架 | 致敬amis codewave 乐吾乐 goview dataRoom等
注意:本文为自动抓取供AI学习!!格式未经调整,点击查看原文档!
导出部署与集成
说明
UIOTOS页面在编辑状态下可以预览与发布。如下所示:
点击预览后,浏览器直接可以看到运行界面。不过预览链接不能直接对外,非本机访问时,会提示页面未分享无权限查看。
如果要网络中其他人能查看,需要通过分享,设置分享码和分享过期时间,如下所示:
这两种情况,用的是工具自带的web服务,不论是本地安装后局域网内其他人访问,还是公网部署的生成分享链接给其他人。
如果不想依赖工具环境,只想生成目标的页面,导出后自行部署,或者跟自己其他产品集成,就涉及都到本节介绍的内容。
UIOTOS支持一键导出,自动将页面所依赖的其他页面和资源文件,不论多少层嵌套,均会按照目录结构一并打成压缩包,解压后部署即可。
加载时,支持浏览器全屏打开,也支持传入指定div区域,或者iframe网页方式嵌套,实现跟其他系统集成。
步骤
现在从三个方面分别展开介绍。
导出
生成压缩包
编辑状态下页面打开后,在左下角选中,右键选择导出
。
小贴士:双击编辑器页签,可以一键定位页面在左下角的位置
chrome浏览器导出截图如下:
自动生成与页面同名的zip压缩包名称。
小贴士:导出的压缩包可以拖入他人编辑器,实现一键导入。
目录结构
打开压缩包,查看目录结构如下。
- 一级目录仅一个文件夹,名称为
storage
:
- 二级目录下,有多个目录,以及有一个与导出页面同名的
html
文件:
html
文件为最简模板页面,可不做任何修改部署后作为静态入口页面即可。displays
下是所有当前页依赖的内嵌页,包括逐层嵌套间接关联的。symbols
下是所有当前页依赖的图标或者组件,包括逐层嵌套页面用到的。- 其他目录同样,涉及到依赖的资源、控件等。
部署
WEB服务器准备
略。
可参考window下安装tomcat
文档:Windows下配置Apache、Tomcat服务器.no...
目录拷贝
以window下tomcat
部署为例(linux、arm/x86均可):
将前面导出的压缩包,解压后放到tomcat的webapps目录,如下图所示:
其中custom目录,是运行环境依赖,将UIOTOS
安装目录(物理路径,并非容器内路径)下的uiotos_v1\uiotos\space\custom
目录完整拷贝过来即可!
注意,custom文件夹一定要放到storage平级位置,且名称不能随意修改。
如果有多个导出页面,建议将上层放到webapps
中的目录名称,改成统一名称,比如“uiotos项目”,里面的storage
改成各个页面的名称。
这样多个页面分别部署发布时,只需要解压后的storage
放到统一目录下,storage
名称修改下即可,无需再拷贝custom
,共享同一个运行依赖。
如果个别页面导出运行异常,通常是依赖文件因某些原因未被导出,可以采用备选方案,参见导出文件不全怎么办?
运行
放置好目录后,启动web服务,浏览器输入地址访问目录下的html文件即可打开:
测试界面、交互效果,以及功能,与编辑时运行预览效果一致!注意,此时不可编辑,也无需编辑环境。
集成
以上是到处的页面直接私有部署发布的情况。
那么,如何将UIOTOS搭建的前端,与其他web系统集成呢?有两种方式:
iframe
网页嵌套,不做过多介绍。
div
可以传入页面指定的div/dom,在指定区域打开UIOTOS页面。
首先,打开查看导出目录的html文件:
重点是标记的几处:
- 引入一个js文件:
iotosEngines.min.js
,在custom/libs
目录下 - 调用引擎初始化
_i.initRuntime()
- 在初始化回调中,调用
_i.loadDisplay()
加载指定路径的页面。 loadDisplay
的第一个参数默认为null
,此时浏览器全屏打开,当传入div的id或者dom
对象时,则是在指定区域打开!
现在以一个具体示例,介绍传入div指定区域集成的具体步骤。
html页面模板
提供一个html页面,有4个div区域,界面如下:
传入div加载页面
在对应html中加上uiotos运行时初始化和页面加载代码,传入div:
其中loadDisplay
第一个参数,可以传入div
的id
,也可以传入dom
对象,比如document.getElementById('3')
。这样,UIOTOS页面就在指定DIV区域加载:
测试时如果div区域太小看不清,可以缩放浏览器试下:
页面双向通信
UIOTOS前端的收发器(发送器和接收器),除了可以在页面中代替连线,实现无线、广播通信,也能够用于跟代码进行通信,实现无代码和代码无缝衔接。
不论是通过iframe集成(可代替iframe postMessage)还是通过div集成的均可用。
代码发送 → UIOTOS接收
如下所示,UIOTOS
示例页面中,某个页面用到接收器
,操作下级内嵌页的仪表,并设置了主题
、白名单
等。
接收器的配置如下:地址白名单(addrsWhiteList)
设置为*
,表示允许所有发送器
通过,主题白名单(topicsWhiteList)
设置了指定字符串,表名仅通过发送器
指定Topic
。
加载UIOTOS
页面的代码,通过_i.fireEvent()
来发送数据,起到UIOTOS中图形组件发送器
其中,代码调用的参数1到4,可以与UIOTOS的发送器可视化组件的属性逐一对应。
集成部署后的页面运行效果如下,代码调用每隔800ms,给UIOTOS页面中的曲线一个0~100的随机数值,显示到仪表上:
UIOTOS发送 → 代码接收
如下所示,为了方便对照,采用UIOTOS中与上面接收器同一个页面,添加上发送器,连线让内嵌的按钮的点击事件,操作发送器发送。
发送器设置了目标地址(addrsRemote)
,发送主题(topicSend)
以及发送内容(contentSend)
:
目标地址为*,标识广播发送,所有接收器,不论是代码调用的i.addEvent,还是图形化的接收器组件,都会收到。
载UIOTOS
页面的代码,通过_i.addEvent()
来接收数据,起到UIOTOS中图形组件接收器
部署后的页面运行效果如下,点击左下角按钮,弹出两个弹窗,依次是事件类型*
和UIOTOS中设置的发送内容:
附件
Q&A
导出文件不全怎么办?
如果个别示例存在导出时,发现依赖不全,显示不正常(版本更新可能导致),可以这样做:
导出后的目录下,storage下的内容,除了.html文件,用安装目录中storage下内容完整拷贝覆盖。
其中,storage目录再window、linux默认路径分别如下:
Linux:/data/iotos/uiotos-v1/uiotos/space/storage
Window:D:\uiotos-v1\uiotos\space\storage
以下示例,分别是导出后文件夹中的stroage目录,以及安装位置的storage目录,后者目录全部复制,拷贝过来覆盖即可!(可保持.html不变,displays、symbols等目录会被覆盖掉,确保文件绝对完整)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律