xinglie / report-designer

⚡打印设计、可视化、标签打印、编辑器、设计器、数据分析、报表设计、组件化、表单设计、h5页面、调查问卷、pdf生成、流程图、试卷、SVG、图形元素、物联网、标签纸
https://xinglie.github.io/report-designer/
902 stars 232 forks source link

设计器与预览器 #64

Open xinglie opened 1 year ago

xinglie commented 1 year ago

分离

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

设计器

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

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

预览器

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

页面预览器

页面预览是最简单的对设计数据的还原,因开发没有任何难度且需求非常小众,该预览器未集成到设计器中,如果需要使用可参考:https://github.com/xinglie/report-designer/issues/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时的一个备选方案