技术特征:
1.一种基于html5的可视化展示页面自动发布方法,其特征在于,包括:
获取由可视化设计器编辑生成的可视化画面zip文件流;
按照预设的转换规则,将所述可视化画面zip文件流中转换为html5页面;
响应于浏览器请求所述html5页面的信号,对所述html5页面进行实例化,完成画面渲染展示和控件数据初始化;
基于设定的刷新间隔,对所述控件数据进行定时刷新,完成基于html5的可视化展示页面自动发布。
2.根据权利要求1所述的一种基于html5的可视化展示页面自动发布方法,其特征在于,所述html5页面的生成过程包括:
遍历所述可视化画面zip文件流中的各个子文件;
当子文件为页面描述xml文件时,则获取该子文件中的所有节点,根据预设的转换规范将节点及节点的配置属性转换为js脚本字符串;
创建html5文档对象的head、body节点,并将所述js字符串作为body部分的script属性值,最后把生成的html5文档对象写入到服务端画面目录,至此完成了html5页面的转换;
当子文件为自定义页面js文件或resource文件,则直接解压到服务端目录。
3.根据权利要求2所述的一种基于html5的可视化展示页面自动发布方法,其特征在于,所述预设的转换规范是指将页面描述xml文件解析转义成html5文档结构的规范定义,页面描述xml文件中每个组件配置属性部分通过json的xml工具类转换为jsonobject对象,组件元素标签部分则直接生成实例化js脚本。
4.根据权利要求1所述的一种基于html5的可视化展示页面自动发布方法,其特征在于:所述对所述html5页面进行实例化,完成画面渲染展示和控件数据初始化,包括:
基于所述html5页面,创建画面容器;
根据所述html5页面中相关内容的json配置属性信息分别创建展现数据集、画面参数实例、画面图层实例、控件动画实例;所述画面参数实例通过属性designervalue赋值,设置画面参数改变事件onpropertychanged;所述画面图层实例关联html5页面上的控件属性,添加图层显示和隐藏事件;所述控件动画实例在加载完成之后,调用动画事件;
根据控件json配置属性值,按照控件顺序依次创建页面控件对象,然后将对象添加到画面容器中,再调用控件的初始化方法,初始化控件内容;
页面和控件加载完成之后,开始请求画面数据,通过dataservice请求数据,过滤页面上已经绑定了控件的数据集,然后组装请求参数templatereq,发送到后台服务请求数据,后台通过解析templatereq,获取数据集的配置属性,完成数据查询,并将结果返回json格式的数据;
接收到的json格式的数据,需要根据展现数据集id匹配页面上控件绑定的展现数据集,然后给展现数据集的dataset赋值。同一个数据集可能绑定了多个控件,需要获取到数据集绑定的集合bindobjects,然后通过businessbinding的value值,分别将数据传递给控件,在businessbinding获取到值之后,需要对多条数据遍历并调用数据转换器,将json格式数据转换成控件需要的数据,最后调用控件的updatedata方法,更新控件数据,完成画面渲染展示和控件数据初始化。
5.根据权利要求4所述的一种基于html5的可视化展示页面自动发布方法,其特征在于:所述基于设定的刷新间隔,对所述控件数据进行定时刷新,包括:
对画面上的所有展现数据集进行遍历,过滤掉没有绑定控件的展现数据集,将已绑定控件的展现数据集的刷新频率对象intervalobject添加到全局intervalobjectlist列表中,intervalobject对象包含控件刷新频率timerinterval、计时变量countnum、数据集标识datasourceid属性;
启动全局页面刷新定时器,维护intervalobjectlist列表的数据;
所述全局页面刷新定时器触发时,将intervalobjectlist列表中各个intervalobject的计时器变量countnum值递减1,当countnum<0的时候,表示此数据集刷新时间到了,即将数据集添加到ajax请求队列请求数据集查询数据;
将countnum<0的展现数据集,组装templatereq请求数据,并通过ajax请求后台服务数据查询接口,数据查询结果datasources以json格式传输到客户端;
成功接收数据后,遍历所有接收的数据,根据展现数据集id,将数据分别赋值给展现数据集的data属性;
将数据集刷新频率对象的计时器变量countnum复位为控件刷新频率timerinterval的值,继续循环计时。
6.一种基于html5的可视化展示页面自动发布系统,其特征在于,包括:
可视化设计器,编辑生成的可视化画面zip文件流;
html5页面发布引擎,按照预设的转换规则,将所述可视化画面zip文件流中转换为html5页面;
html5页面渲染展示引擎,响应于浏览器请求所述html5页面的信号,对所述html5页面进行实例化,完成画面渲染展示和控件数据初始化;
数据刷新模块,基于设定的刷新间隔,对所述控件数据进行定时刷新,完成基于html5的可视化展示页面自动发布。
7.根据权利要求6所述的一种基于html5的可视化展示页面自动发布系统,其特征在于,所述html5页面的生成过程包括:
遍历所述可视化画面zip文件流中的各个子文件;
当子文件为页面描述xml文件时,则获取该子文件中的所有节点,根据预设的转换规范将节点及节点的配置属性转换为js脚本字符串;
创建html5文档对象的head、body节点,并将所述js字符串作为body部分的script属性值,最后把生成的html5文档对象写入到服务端画面目录,至此完成了html5页面的转换;
当子文件为自定义页面js文件或resource文件,则直接解压到服务端目录。
8.根据权利要求6所述的一种基于html5的可视化展示页面自动发布系统,其特征在于,所述对所述html5页面进行实例化,完成画面渲染展示和控件数据初始化,包括:
基于所述html5页面,创建画面容器;
根据所述html5页面中相关内容的json配置属性信息分别创建展现数据集、画面参数实例、画面图层实例、控件动画实例;所述画面参数实例通过属性designervalue赋值,设置画面参数改变事件onpropertychanged;所述画面图层实例关联html5页面上的控件属性,添加图层显示和隐藏事件;所述控件动画实例在加载完成之后,调用动画事件;
根据控件json配置属性值,按照控件顺序依次创建页面控件对象,然后将对象添加到画面容器中,再调用控件的初始化方法,初始化控件内容;
页面和控件加载完成之后,开始请求画面数据,通过dataservice请求数据,过滤页面上已经绑定了控件的数据集,然后组装请求参数templatereq,发送到后台服务请求数据,后台通过解析templatereq,获取数据集的配置属性,完成数据查询,并将结果返回json格式的数据;
接收到的json格式的数据,需要根据展现数据集id匹配页面上控件绑定的展现数据集,然后给展现数据集的dataset赋值。同一个数据集可能绑定了多个控件,需要获取到数据集绑定的集合bindobjects,然后通过businessbinding的value值,分别将数据传递给控件,在businessbinding获取到值之后,需要对多条数据遍历并调用数据转换器,将json格式数据转换成控件需要的数据,最后调用控件的updatedata方法,更新控件数据,完成画面渲染展示和控件数据初始化。
9.根据权利要求8所述的一种基于html5的可视化展示页面自动发布系统,其特征在于,所述基于设定的刷新间隔,对所述控件数据进行定时刷新,包括:
对画面上的所有展现数据集进行遍历,过滤掉没有绑定控件的展现数据集,将已绑定控件的展现数据集的刷新频率对象intervalobject添加到全局intervalobjectlist列表中,intervalobject对象包含控件刷新频率timerinterval、计时变量countnum、数据集标识datasourceid属性;
启动全局页面刷新定时器,维护intervalobjectlist列表的数据;
所述全局页面刷新定时器触发时,将intervalobjectlist列表中各个intervalobject的计时器变量countnum值递减1,当countnum<0的时候,表示此数据集刷新时间到了,即将数据集添加到ajax请求队列请求数据集查询数据;
将countnum<0的展现数据集,组装templatereq请求数据,并通过ajax请求后台服务数据查询接口,数据查询结果datasources以json格式传输到客户端;
成功接收数据后,遍历所有接收的数据,根据展现数据集id,将数据分别赋值给展现数据集的data属性;
将数据集刷新频率对象的计时器变量countnum复位为控件刷新频率timerinterval的值,继续循环计时。