Open xinglie opened 1 year ago
目前设计器与预览器分别打包发布,虽然可以直接在设计器中把预览器集成进去,但这样不利于单独使用预览页面及后续的预览器扩展
设计器支持绝对布局和流式布局,因二者布局相差较大,故分仓库开发维护。 当前仓库是绝对布局的设计器,流式布局的可参考这个仓库:https://github.com/xinglie/page-designer 目前精力主要在绝对布局的设计器上,即该仓库的项目
设计器的目标是尽可能支持同质化的所有需求,包括不限于报表、海报、打印、物联网等所有2d场景下的可视化设计 未来会支持3d的场景设计
同样的设计数据,不同的预览器,最终展示会有差异。在不同的业务场景下需要做不同的加工,为了使用方便,对预览器进行了分类处理
页面预览是最简单的对设计数据的还原,因开发没有任何难度且需求非常小众,该预览器未集成到设计器中,如果需要使用可参考:https://github.com/xinglie/report-designer/issues/38
设计器中默认使用是固定分页预览器,根据页面大小,自动对需要分页展示的设计元素进行分页处理。 该固定分页预览器会对特定元素如数据表格进行分页展示,分页后其它不分页元素会固定重复。
数据表格
该预览器常用于多列分栏且分页后部分元素固定重复展示,这也是设计器默认的预览器
该预览器下所有数据使用http接口
对填充数据后的元素进行流式分页,比如数据表格填充数据后,其它元素会相对填充数据后的元素进行位置偏移分页。
该预览器常用于报表或订单类型的打印,上下排列且内容会随数据变化的情况下使用。
该预览器针对标签纸所做,通常设计阶段只针对一个标签设计,在打印时,需要根据配置,一行打印多个标签。
对常用试卷(A3横版)做的预览器,移除不必要的按钮,让预览器更专注
设计器中也提供了IoT预览器,默认使用WebSocket进行数据交换,同时在该预览器里对数据交换层做了抽象处理,支持包括不限于ws、http、mqtt等协议,无论您使用哪种协议,均可以直接对接
如果没办法像Iot预览器那样使用WebSocket进行数据交换,可以选择该模式使用客户端轮询的方式进行数据更新。
该大屏模式下仍然使用传统的http接口,但加入了自动轮询请求的功能,同样可以更新元素绑定的数据,是对无法使用WebSocket时的一个备选方案
分离
目前设计器与预览器分别打包发布,虽然可以直接在设计器中把预览器集成进去,但这样不利于单独使用预览页面及后续的预览器扩展
设计器
设计器支持绝对布局和流式布局,因二者布局相差较大,故分仓库开发维护。 当前仓库是绝对布局的设计器,流式布局的可参考这个仓库: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时的一个备选方案