Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

设计器与预览器 #64

Open
xinglie opened this issue Apr 7, 2023 · 0 comments
Open

设计器与预览器 #64

xinglie opened this issue Apr 7, 2023 · 0 comments
Labels
技术方案 介绍项目中好的技术点

Comments

@xinglie
Copy link
Owner

xinglie commented Apr 7, 2023

分离

目前设计器与预览器分别打包发布,虽然可以直接在设计器中把预览器集成进去,但这样不利于单独使用预览页面及后续的预览器扩展

设计器

设计器支持绝对布局和流式布局,因二者布局相差较大,故分仓库开发维护。
当前仓库是绝对布局的设计器,流式布局的可参考这个仓库:https://github.com/xinglie/page-designer
目前精力主要在绝对布局的设计器上,即该仓库的项目

设计器的目标是尽可能支持同质化的所有需求,包括不限于报表、海报、打印、物联网等所有2d场景下的可视化设计
未来会支持3d的场景设计

预览器

同样的设计数据,不同的预览器,最终展示会有差异。在不同的业务场景下需要做不同的加工,为了使用方便,对预览器进行了分类处理

页面预览器

页面预览是最简单的对设计数据的还原,因开发没有任何难度且需求非常小众,该预览器未集成到设计器中,如果需要使用可参考:#38

固定分页预览器 (viewer.html使用参数 use=default)

设计器中默认使用是固定分页预览器,根据页面大小,自动对需要分页展示的设计元素进行分页处理。
该固定分页预览器会对特定元素如数据表格进行分页展示,分页后其它不分页元素会固定重复。

该预览器常用于多列分栏且分页后部分元素固定重复展示,这也是设计器默认的预览器

该预览器下所有数据使用http接口

流式分页预览器 (viewer.html使用参数 use=stack)

对填充数据后的元素进行流式分页,比如数据表格填充数据后,其它元素会相对填充数据后的元素进行位置偏移分页。

该预览器常用于报表或订单类型的打印,上下排列且内容会随数据变化的情况下使用。

该预览器下所有数据使用http接口

标签分页预览器(viewer.html使用参数 use=label)

该预览器针对标签纸所做,通常设计阶段只针对一个标签设计,在打印时,需要根据配置,一行打印多个标签。

该预览器下所有数据使用http接口

试卷预览器(viewer.html使用参数 use=exam)

对常用试卷(A3横版)做的预览器,移除不必要的按钮,让预览器更专注

IoT预览器(viewer.html使用参数 use=iot)

设计器中也提供了IoT预览器,默认使用WebSocket进行数据交换,同时在该预览器里对数据交换层做了抽象处理,支持包括不限于ws、http、mqtt等协议,无论您使用哪种协议,均可以直接对接

大屏看板(viewer.html使用参数 use=board)

如果没办法像Iot预览器那样使用WebSocket进行数据交换,可以选择该模式使用客户端轮询的方式进行数据更新。

该大屏模式下仍然使用传统的http接口,但加入了自动轮询请求的功能,同样可以更新元素绑定的数据,是对无法使用WebSocket时的一个备选方案

@xinglie xinglie added the 技术方案 介绍项目中好的技术点 label Apr 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
技术方案 介绍项目中好的技术点
Projects
None yet
Development

No branches or pull requests

1 participant