CN108279932A - 一种移动终端动态配置用户界面方法和装置 - Google Patents
一种移动终端动态配置用户界面方法和装置 Download PDFInfo
- Publication number
- CN108279932A CN108279932A CN201810060847.7A CN201810060847A CN108279932A CN 108279932 A CN108279932 A CN 108279932A CN 201810060847 A CN201810060847 A CN 201810060847A CN 108279932 A CN108279932 A CN 108279932A
- Authority
- CN
- China
- Prior art keywords
- interface
- updated
- page
- service logic
- user interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Abstract
本申请实施例提供了一种移动终端动态配置用户界面方法和装置。所述方法包括:根据移动终端应用的用户界面,获取更新的Lua脚本和XML文件;通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版;运行所述Lua脚本,获取待更新界面业务逻辑属性;根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。解决了现有技术中针对移动终端应用更新频繁时,仍然存在性能和速度相互制约,降低用户体验的问题。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种移动终端动态配置用户界面方法和一种移动终端动态配置用户界面装置。
背景技术
随着网络技术的普及以及移动互联网终端的普及,信息移动化的需求与日俱增,而信息移动化需要进行不同平台的移动终端应用的开发、发布、安装和更新等过程。并且,移动应用往往会出现版本迭代追不上需求变更的问题,这时应用动态化显得尤为重要,但动态化更新的内容已不仅仅局限在基本信息显示上,也涉及主体框架,页面整体排版布局等。
现有技术中针对上述问题,采用很多动态化方案,然而都出现不可避免的缺陷和限制,例如Hybrid的H5部分体验较差,ReactNative的JS引擎过重,性能瓶颈等,仍然存在性能和速度相互制约,降低了用户的使用体验。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种移动终端动态配置用户界面方法和相应的一种移动终端动态配置用户界面装置。
为了解决上述问题,本申请公开了一种移动终端动态配置用户界面方法,包括:根据移动终端应用的用户界面,获取更新的Lua脚本和XML文件;通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版;运行所述Lua脚本,获取待更新界面业务逻辑属性;根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。
可选地,所述运行所述Lua脚本,获取待更新界面业务逻辑属性的步骤,包括:通过预设Lua虚拟机运行所述Lua脚本,获取待更新界面的界面业务逻辑属性。
可选地,在所述通过预设Lua虚拟机运行所述Lua脚本,获取待更新界面的业务逻辑属性的步骤之后,还包括:通过所述Lua脚本获取预设排版规则LayoutPattern,并发送至Native控件层。
可选地,所述通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版的步骤,包括:通过Lua脚本解析所述XML文件,生成文档对象模型DOM树;遍历所述文档对象模型DOM树中各DOM节点,获取待更新界面的页面布局属性以及样式CSS属性,并映射到Native控件层;在所述Native控件层,通过所述预设排版规则LayoutPattern以及flex标准布局描述语言,解析待更新界面的页面布局属性以及样式CSS属性,实现待更新界面的页面排版;其中,所述待更新界面的页面排版包括所述待更新界面的页面的布局与显示内容。
可选地,所述根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面的步骤,包括:通过预设脚本库获取所述待更新界面的业务逻辑属性的对应事件和指令;在所述Native控件层,将所述待更新界面的业务逻辑属性对应事件和指令,与所述待更新界面的页面排版进行绑定,实现待更新的页面逻辑功能;根据所述待更新的页面逻辑功能和待更新界面的页面排版,生成更新的用户界面。
本申请公开了一种移动终端动态配置用户界面装置,包括:更新文件获取模块,用于根据移动终端应用的用户界面,获取更新的Lua脚本和XML 文件;页面排版实现模块,用于通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版;业务逻辑属性获取模块,用于运行所述Lua脚本,获取待更新界面业务逻辑属性;用户界面渲染更新模块,用于根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。
可选地,所述业务逻辑属性获取模块,包括:业务逻辑属性获取子模块,用于通过预设Lua虚拟机运行所述Lua脚本,获取待更新界面的界面业务逻辑属性。
可选地,还包括:预设排版规则获取模块,用于通过所述Lua脚本获取预设排版规则LayoutPattern,并发送至Native控件层。
可选地,所述页面排版实现模块,包括:DOM树生成子模块,用于通过Lua脚本解析所述XML文件,生成文档对象模型DOM树;DOM树遍历子模块,用于遍历所述文档对象模型DOM树中各DOM节点,获取待更新界面的页面布局属性以及样式CSS属性,并映射到Native控件层;页面排版子模块,用于在所述Native控件层,通过所述预设排版规则LayoutPattern 以及flex标准布局描述语言,解析待更新界面的页面布局属性以及样式CSS 属性,实现待更新界面的页面排版;其中,所述待更新界面的页面排版包括所述待更新界面的页面的布局与显示内容。
可选地,所述用户界面渲染更新模块,包括:事件指令获取子模块,用于通过预设脚本库获取所述待更新界面的业务逻辑属性的对应事件和指令;页面逻辑功能实现子模块,用于在所述Native控件层,将所述待更新界面的业务逻辑属性对应事件和指令,与所述待更新界面的页面排版进行绑定,实现待更新的页面逻辑功能;渲染更新子模块,用于根据所述待更新的页面逻辑功能和待更新界面的页面排版,生成更新的用户界面。
申请实施例包括以下优点:
本申请实施例,根据移动终端应用的用户界面,获取更新的Lua脚本和 XML文件;通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版;运行所述Lua脚本,获取待更新界面业务逻辑属性;根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。解决了现有技术中针对移动终端应用更新频繁时,采用很多动态化方案,仍然不可避免的存在性能和速度相互制约的问题,达到了轻量、灵活、高效的动态化配置页面布局的有益效果。
附图说明
图1是本申请实施例提供的一种移动终端动态配置用户界面方法实施例的步骤流程图;
图2是本申请实施例提供的一种移动终端动态配置用户界面方法实施例的步骤流程图;
图3是本申请实施例提供的一种移动终端动态配置用户界面装置实施例的结构框图;
图4是本申请实施例提供的一种移动终端动态配置用户界面系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图1,示出了本申请的一种移动终端动态配置用户界面方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101、根据移动终端应用的用户界面,获取更新的Lua脚本和XML 文件。
本发明实施例中,当用户在操作移动终端一应用时,当检测到移动终端应用开启,则针对该移动终端应用的当前用户界面,向服务器端请求对应的更新文件,其中,针对移动终端该应用的用户界面在服务器端存在一个对应的XML文件的url地址,根据该地址可以从服务器端获取对应的XML文件和Lua脚本。
具体地,相关技术人员在服务器端会针对应用的用户界面的部署对应的 XML文件,首先,部署的XML文件包括定义的XML皮肤规则、支持层叠样式css属性、支持基于flex规则的排版等,并且通过Lua语言设置对应该用户界面的脚本,具体包括该用户界面的所有逻辑属性,例如用户界面上的控件调用的事件等。
其中,当相关技术人员在服务器端上传更新后,可以通过向客户端发送更新提示消息的方式,通知移动终端上对应应用在服务器端请求下载更新。
步骤102、通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版。
本发明实施例中,当移动终端应用在服务器端请求下载对应的更新 XML文件和Lua脚本后,首先进行一系列解包、验证、加解密、解压缩等脚本管理和校验工作,其中,通过预设验证机制,确定所下载更新文件是对应该应用用户界面地。其次,通过预定义的解析器,例如已经集成到客户端的Lua解析器和桥接器解析器,解析XML文件,获取XML文件中的页面布局属性和CSS样式属性,发送到本地Native控件层,在控件层实现页面布局排版。
步骤103、运行所述Lua脚本,获取待更新界面业务逻辑属性。
本发明实施例中,当然,集成在客户端的Lua解析器和桥接器解析器,同时执行脚本业务逻辑代码,获取Lua脚本中的业务逻辑,并根据步骤102 获取的页面布局排版,实现了用户界面的初步排版渲染控制和业务逻辑下发。
在实际应用中,上述过程是利用Lua脚本和Native方式实现的,具体地,一方面,使用Lua脚本构建Native UI(User Interface用户界面),借用平台原生的UI库,选择现有成熟的Lua引擎,构建一套统一的Lib库,避免使用Native方式来实现;另一方面,Lua脚本控制逻辑,XML文件负责布局, Native端根据整个树节点生成页面,完成页面的排版和渲染及页面交互行为。
步骤104、根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。
本发明实施例中,当通过上述方式获取待更新界面的页面排版以及业务逻辑属性后,通过预设的页面布局描述语言进行解析,生成对应的页面布局,并结合XML标准布局文件,解析XML节点样式,根据请求的页面数据,排版、渲染具体的页面内容显示。
在本发明实施例中,根据移动终端应用的用户界面,获取更新的Lua脚本和XML文件;通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版;运行所述Lua脚本,获取待更新界面业务逻辑属性;根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。通过使用Lua脚本和Native方式灵活、高效的实现了页面的排版和渲染及页面交互行为,具有便捷、灵活动态化配置页面布局的有益效果。
实施例二
参照图2,示出了本申请的一种移动终端动态配置用户界面方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201、根据移动终端应用的用户界面,获取更新的Lua脚本和XML 文件。
此步骤与步骤101相同,再次不再详述。
步骤202、通过Lua脚本解析所述XML文件,生成文档对象模型DOM 树。
本发明实施例中,当移动终端应用在服务器端请求下载对应的更新 XML文件和Lua脚本后,通过Lua脚本解析XML文件,生成DOM树。
其中,DOM把XML文档视为一种树结构。DOM树结构被称为节点树,可通过这棵树访问所有节点。可以修改或删除它们的内容,也可以创建新的元素,DOM节点树展示了节点的集合,以及它们之间的联系。DOM树从根节点开始,然后在树的最低层级向文本节点长出枝条。
步骤203、遍历所述文档对象模型DOM树中各DOM节点,获取待更新界面的页面布局属性以及样式CSS属性,并映射到Native控件层。
本发明实施例中,当根据更新的XML文件生成DOM树以后,利用预设的解析器对DOM树进行解析,首先是依次遍历DOM树上每个DOM节点。例如,利用函数loadXMLDoc()加载XML文件,并根据文件中的DOM 节点列表,以及各节点的上下级关联关系依次进行遍历。其中,DOM节点中包含页面的CSS样式属性,并绑定各节点的CSS属性,并映射到native 控件层。
具体地,在解析DOM节点时,通过函数nodeName获取节点的名称,通过函数nodeValue获取节点的值以及通过函数nodeType获取节点的类型,以上只读操作获取DOM节点的名称、属性和相应的值,根据节点不同属性,将对应的值进行分别存储,以便下一步的渲染。
当然,DOM节点中的属性不止包含CSS样式属性,在遍历中还会获取 DOM节点的其他属性,例如id,frame,bg,等属性,其中id指定控件标识,frame指定预定区域,bg指定背景色。
步骤204、在所述Native控件层,通过所述预设排版规则LayoutPattern 以及flex标准布局描述语言,解析待更新界面的页面布局属性以及样式CSS 属性,实现待更新界面的页面排版;其中,所述待更新界面的页面排版包括所述待更新界面的页面的布局与显示内容。
本发明实施例中,通常,相关技术人员会预先利用Lua脚本设计 LayoutPattern结构,并传给Native端,Native端根据flex标准布局描述语言,解析待更新界面的页面布局属性以及样式CSS属性、以及DOM树中的布局生成对应的页面布局。
具体地,在解析完成DOM树的所有节点后,根据DOM树的各节点的样式属性和布局属性,可以初步完成页面的排版渲染控制,但是还不能实现排版,最后排版的工作是在Lua脚本设计LayoutPattern结构,结合在Native 控件层根据标准布局描述语言进行的解析,最后实现待更新界面的页面排版。
例如,在解析DOM树时,用户界面中的对应一控件,根据DOM节点对应该控件的样式属性,生成该控件样式,并且通过布局语言解析,得知该控件在用户界面中的布局,即具体位置与显示方式等。
步骤205、通过预设Lua虚拟机运行所述Lua脚本,获取待更新界面的界面业务逻辑属性。
本发明实施例中,集成到客户端的Lua解析器和桥接器解析、执行脚本业务逻辑代码,获得Lua脚本中的业务逻辑属性,并桥接到Native控件层,为进一步交互提供便利。
例如,当用户界面中的对应一控件,用户点击该控件后会触发一事件,而业务逻辑属性即时描述该控件功能逻辑的属性。
步骤206、通过所述Lua脚本获取预设排版规则LayoutPattern,并发送至Native控件层。
本发明实施例中,相关技术人员会预先利用Lua脚本设计LayoutPattern 结构,并传给Native端,结合在Native控件层根据标准布局描述语言进行的解析,最后实现待更新界面的页面排版。至此实现了运行脚本逻辑并利用桥接器使脚本与native进行交互完成。
其中,LayoutPattern是一种标准页面布局解析语言,通过它可以初步解析页面的初步布局,但是具体LayoutPattern是通用的,所以,很多细致的布局描述仍然需要进一步通过flex标准布局描述语言进行解析。
步骤207、通过预设脚本库获取所述待更新界面的业务逻辑属性的对应事件和指令。
本发明实施例中,通过步骤205中获取的获得Lua脚本中的业务逻辑属性,根据预设对应的脚本库以及本地的事件以及指令库,将对应Lua脚本中各逻辑指令的事件进行绑定,并传送给Native控件层。
步骤208、在所述Native控件层,将所述待更新界面的业务逻辑属性对应事件和指令,与所述待更新界面的页面排版进行绑定,实现待更新的页面逻辑功能。
本发明实施例中,例如,当用户界面中的对应一控件,实现了该控件后的显示和布局的对应关系,即完成了该控件在页面上的布局后,进一步获取脚本库以及本地的事件以及指令库,再将该控件对应的事件进行绑定,在渲染时实现该控件的逻辑功能。
步骤209、根据所述待更新的页面逻辑功能和待更新界面的页面排版,生成更新的用户界面。
本发明实施例中,当在后台完成了页面布局、排版、逻辑属性的绑定后,最后进行渲染输出,具体地,在Native端接收到预设的Lua脚本设计 LayoutPattern结构,结合flex标准布局描述语言,解析、生成对应的页面布局,进一步的结合解析XML获取的样式属性,根据请求的页面数据,排版、渲染具体的页面内容显示。
综上所述,本发明实施例中,首先,通过更新脚本与XML文件,动态更新界面布局,同时样式灵活可配,可支持自定义配置,touch等属性,实现了移动终端界面布局样式云端可控;其次,通过Lua脚本与皮肤结合的界面动态化布局方法,采用的Lua脚本引擎体积小,启动快,而且Lua本身是一种嵌入式语言,有很好的可扩展性,这样为界面布局渲染提供了一种更简单、高效的动态化支持,丰富客户端UI展现的同时,降低了UI变更成本。
在本发明实施例中,根据移动终端应用的用户界面,获取更新的Lua脚本和XML文件;通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版;通过预设Lua虚拟机运行所述Lua脚本,获取待更新界面的界面业务逻辑属性,运行所述Lua脚本,获取待更新界面业务逻辑属性;通过预设脚本库获取所述待更新界面的业务逻辑属性的对应事件和指令;在所述 Native控件层,将所述待更新界面的业务逻辑属性对应事件和指令,与所述待更新界面的页面排版进行绑定,实现待更新的页面逻辑功能;根据所述待更新的页面逻辑功能和待更新界面的页面排版,生成更新的用户界面。实现了通过使用Lua脚本和Native方式灵活、高效的实现了页面的排版和渲染及页面交互行为的目的。具有便捷、灵活动态化配置页面布局的有益效果。
实施例三
参照图3,示出了本申请的一种移动终端动态配置用户界面装置实施例的结构框图,具体可以包括如下模块:
所述移动终端动态配置用户界面装置300,包括:
更新文件获取模块301,用于根据移动终端应用的用户界面,获取更新的Lua脚本和XML文件;
页面排版实现模块302,用于通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版;
业务逻辑属性获取模块303,用于运行所述Lua脚本,获取待更新界面业务逻辑属性;
用户界面渲染更新模块304,用于根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。
实施例四
参照图4,示出了本申请的一种移动终端动态配置用户界面装置实施例的结构框图,具体可以包括如下模块:
所述移动终端动态配置用户界面装置400,包括:
更新文件获取模块401,用于根据移动终端应用的用户界面,获取更新的Lua脚本和XML文件;
页面排版实现模块402,用于通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版;
优选地,所述页面排版实现模块402,包括:
DOM树生成子模块4021,用于通过Lua脚本解析所述XML文件,生成文档对象模型DOM树;
DOM树遍历子模块,用于遍历所述文档对象模型DOM树中各DOM节点,获取待更新界面的页面布局属性以及样式CSS属性,并映射到Native 控件层;
页面排版子模块,用于在所述Native控件层,通过所述预设排版规则LayoutPattern以及flex标准布局描述语言,解析待更新界面的页面布局属性以及样式CSS属性,实现待更新界面的页面排版;其中,所述待更新界面的页面排版包括所述待更新界面的页面的布局与显示内容。
业务逻辑属性获取模块403,用于运行所述Lua脚本,获取待更新界面业务逻辑属性;
优选地,所述业务逻辑属性获取模块403,包括:
业务逻辑属性获取子模块,用于通过预设Lua虚拟机运行所述Lua脚本,获取待更新界面的界面业务逻辑属性。
优选地,还包括:
预设排版规则获取模块404,用于通过所述Lua脚本获取预设排版规则LayoutPattern,并发送至Native控件层。
用户界面渲染更新模块405,用于根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。
优选地,所述用户界面渲染更新模块404,包括:
事件指令获取子模块,用于通过预设脚本库获取所述待更新界面的业务逻辑属性的对应事件和指令;
页面逻辑功能实现子模块,用于在所述Native控件层,将所述待更新界面的业务逻辑属性对应事件和指令,与所述待更新界面的页面排版进行绑定,实现待更新的页面逻辑功能;
渲染更新子模块,用于根据所述待更新的页面逻辑功能和待更新界面的页面排版,生成更新的用户界面。
在本发明实施例中,通过更新文件获取模块,根据移动终端应用的用户界面,获取更新的Lua脚本和XML文件,再通过页面排版实现模块,实现了通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,完成待更新界面的初步页面排版;然后通过业务逻辑属性获取模块,运行所述Lua脚本,获取待更新界面业务逻辑属性;以及通过用户界面渲染更新模块,根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。实现了通过使用Lua脚本和Native方式灵活、高效的实现了页面的排版和渲染及页面交互行为的目的。具有便捷、灵活动态化配置页面布局的有益效果。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体 (transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种移动终端动态配置用户界面方法和一种移动终端动态配置用户界面装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种移动终端动态配置用户界面方法,其特征在于,包括:
根据移动终端应用的用户界面,获取更新的Lua脚本和XML文件;
通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版;
运行所述Lua脚本,获取待更新界面业务逻辑属性;
根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。
2.根据权利要求1所述的方法,其特征在于,所述运行所述Lua脚本,获取待更新界面业务逻辑属性的步骤,包括:
通过预设Lua虚拟机运行所述Lua脚本,获取待更新界面的界面业务逻辑属性。
3.根据权利要求2所述的方法,其特征在于,在所述通过预设Lua虚拟机运行所述Lua脚本,获取待更新界面的业务逻辑属性的步骤之后,还包括:
通过所述Lua脚本获取预设排版规则LayoutPattern,并发送至Native控件层。
4.根据权利要求3所述的方法,其特征在于,所述通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版的步骤,包括:
通过Lua脚本解析所述XML文件,生成文档对象模型DOM树;
遍历所述文档对象模型DOM树中各DOM节点,获取待更新界面的页面布局属性以及样式CSS属性,并映射到Native控件层;
在所述Native控件层,通过所述预设排版规则LayoutPattern以及flex标准布局描述语言,解析待更新界面的页面布局属性以及样式CSS属性,实现待更新界面的页面排版;其中,所述待更新界面的页面排版包括所述待更新界面的页面的布局与显示内容。
5.根据权利要求1-4其中之一所述的方法,其特征在于,所述根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面的步骤,包括:
通过预设脚本库获取所述待更新界面的业务逻辑属性的对应事件和指令;
在所述Native控件层,将所述待更新界面的业务逻辑属性对应事件和指令,与所述待更新界面的页面排版进行绑定,实现待更新的页面逻辑功能;
根据所述待更新的页面逻辑功能和待更新界面的页面排版,生成更新的用户界面。
6.一种移动终端动态配置用户界面装置,其特征在于,包括:
更新文件获取模块,用于根据移动终端应用的用户界面,获取更新的Lua脚本和XML文件;
页面排版实现模块,用于通过Lua脚本解析所述XML文件,获取待更新界面的页面布局属性以及样式CSS属性,映射到Native控件层,实现待更新界面的页面排版;
业务逻辑属性获取模块,用于运行所述Lua脚本,获取待更新界面业务逻辑属性;
用户界面渲染更新模块,用于根据所述待更新界面的页面排版以及业务逻辑属性,渲染生成更新的用户界面。
7.根据权利要求6所述的装置,其特征在于,所述业务逻辑属性获取模块,包括:
业务逻辑属性获取子模块,用于通过预设Lua虚拟机运行所述Lua脚本,获取待更新界面的界面业务逻辑属性。
8.根据权利要求7所述的装置,其特征在于,还包括:
预设排版规则获取模块,用于通过所述Lua脚本获取预设排版规则LayoutPattern,并发送至Native控件层。
9.根据权利要求8所述的装置,其特征在于,所述页面排版实现模块,包括:
DOM树生成子模块,用于通过Lua脚本解析所述XML文件,生成文档对象模型DOM树;
DOM树遍历子模块,用于遍历所述文档对象模型DOM树中各DOM节点,获取待更新界面的页面布局属性以及样式CSS属性,并映射到Native控件层;
页面排版子模块,用于在所述Native控件层,通过所述预设排版规则LayoutPattern以及flex标准布局描述语言,解析待更新界面的页面布局属性以及样式CSS属性,实现待更新界面的页面排版;其中,所述待更新界面的页面排版包括所述待更新界面的页面的布局与显示内容。
10.根据权利要求6-9其中之一所述的装置,其特征在于,所述用户界面渲染更新模块,包括:
事件指令获取子模块,用于通过预设脚本库获取所述待更新界面的业务逻辑属性的对应事件和指令;
页面逻辑功能实现子模块,用于在所述Native控件层,将所述待更新界面的业务逻辑属性对应事件和指令,与所述待更新界面的页面排版进行绑定,实现待更新的页面逻辑功能;
渲染更新子模块,用于根据所述待更新的页面逻辑功能和待更新界面的页面排版,生成更新的用户界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810060847.7A CN108279932B (zh) | 2018-01-22 | 2018-01-22 | 一种移动终端动态配置用户界面方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810060847.7A CN108279932B (zh) | 2018-01-22 | 2018-01-22 | 一种移动终端动态配置用户界面方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108279932A true CN108279932A (zh) | 2018-07-13 |
CN108279932B CN108279932B (zh) | 2021-05-25 |
Family
ID=62804368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810060847.7A Active CN108279932B (zh) | 2018-01-22 | 2018-01-22 | 一种移动终端动态配置用户界面方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108279932B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254787A (zh) * | 2018-07-18 | 2019-01-22 | 东软集团股份有限公司 | 业务逻辑变更方法、装置、存储介质及电子设备 |
CN109408086A (zh) * | 2018-09-28 | 2019-03-01 | 平安普惠企业管理有限公司 | App的界面更新方法、装置、计算机设备及存储介质 |
CN109634598A (zh) * | 2018-12-14 | 2019-04-16 | 北京字节跳动网络技术有限公司 | 一种页面显示方法、装置、设备及存储介质 |
CN109684008A (zh) * | 2018-12-19 | 2019-04-26 | Oppo广东移动通信有限公司 | 卡片渲染方法、装置、终端及计算机可读存储介质 |
CN110083417A (zh) * | 2019-04-04 | 2019-08-02 | 天津字节跳动科技有限公司 | 用户界面响应方法和装置 |
CN110221899A (zh) * | 2019-06-24 | 2019-09-10 | 北京奇艺世纪科技有限公司 | 一种用户界面的调节方法、装置及系统 |
CN110309073A (zh) * | 2019-06-28 | 2019-10-08 | 上海交通大学 | 移动应用程序用户界面错误自动化检测方法、系统及终端 |
CN110333861A (zh) * | 2019-06-13 | 2019-10-15 | 宝鸡石油机械有限责任公司 | 一种基于plc的上位机通用ui设计方法 |
CN110347425A (zh) * | 2019-07-11 | 2019-10-18 | 广州虎牙科技有限公司 | 一种配置和使用模板页面的方法、装置、设备和存储介质 |
CN110825373A (zh) * | 2019-10-10 | 2020-02-21 | 上海上湖信息技术有限公司 | 一种移动端动态化方法及装置 |
CN110865827A (zh) * | 2018-08-27 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 数据更新方法、设备及系统 |
CN111045674A (zh) * | 2019-12-16 | 2020-04-21 | 北京爱奇艺科技有限公司 | 一种播放器的交互方法和装置 |
CN111309322A (zh) * | 2020-01-16 | 2020-06-19 | 四川长虹电器股份有限公司 | 一种基于规则式的响应式智能应用开发系统 |
CN112181371A (zh) * | 2020-09-17 | 2021-01-05 | 宝能(广州)汽车研究院有限公司 | 用户界面设计方法、用户界面设计装置和存储介质 |
CN112230922A (zh) * | 2020-10-26 | 2021-01-15 | 深圳市中农网有限公司 | 页面搭建的方法及装置、存储介质及计算机设备 |
CN112732256A (zh) * | 2020-12-31 | 2021-04-30 | 广东赛意信息科技有限公司 | 一种基于纯服务端开发语言的跨平台移动app开发架构 |
CN112882772A (zh) * | 2021-03-24 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 移动终端应用界面的配置方法、移动终端及存储介质 |
CN113569532A (zh) * | 2021-09-22 | 2021-10-29 | 北京仁和汇智信息技术有限公司 | 一种html编辑方法、装置、电子设备及计算机可读存储介质 |
CN113703819A (zh) * | 2021-08-31 | 2021-11-26 | 康键信息技术(深圳)有限公司 | 一种动态消息解析方法、装置、设备和介质 |
CN114489894A (zh) * | 2022-01-13 | 2022-05-13 | 北京齐尔布莱特科技有限公司 | 客户端用户界面更新方法和装置、客户端和服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441631A (zh) * | 2007-11-19 | 2009-05-27 | 上海新纳广告传媒有限公司 | 一种用于异步网页浏览的数据访问方法 |
CN101695032A (zh) * | 2009-11-02 | 2010-04-14 | 中国电信股份有限公司 | 统一客户端、统一客户端的业务配置方法及系统 |
CN104050190A (zh) * | 2013-03-14 | 2014-09-17 | 腾讯科技(上海)有限公司 | 一种关系链数据处理的方法和系统、客户端 |
CN106371844A (zh) * | 2016-08-31 | 2017-02-01 | 北京奇艺世纪科技有限公司 | 一种用原生用户界面组件展示网页的方法及系统 |
CN107480153A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 一种页面数据处理方法、客户端及终端设备 |
-
2018
- 2018-01-22 CN CN201810060847.7A patent/CN108279932B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441631A (zh) * | 2007-11-19 | 2009-05-27 | 上海新纳广告传媒有限公司 | 一种用于异步网页浏览的数据访问方法 |
CN101695032A (zh) * | 2009-11-02 | 2010-04-14 | 中国电信股份有限公司 | 统一客户端、统一客户端的业务配置方法及系统 |
CN104050190A (zh) * | 2013-03-14 | 2014-09-17 | 腾讯科技(上海)有限公司 | 一种关系链数据处理的方法和系统、客户端 |
CN107480153A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 一种页面数据处理方法、客户端及终端设备 |
CN106371844A (zh) * | 2016-08-31 | 2017-02-01 | 北京奇艺世纪科技有限公司 | 一种用原生用户界面组件展示网页的方法及系统 |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254787A (zh) * | 2018-07-18 | 2019-01-22 | 东软集团股份有限公司 | 业务逻辑变更方法、装置、存储介质及电子设备 |
CN110865827A (zh) * | 2018-08-27 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 数据更新方法、设备及系统 |
CN110865827B (zh) * | 2018-08-27 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 数据更新方法、设备及系统 |
CN109408086A (zh) * | 2018-09-28 | 2019-03-01 | 平安普惠企业管理有限公司 | App的界面更新方法、装置、计算机设备及存储介质 |
CN109634598A (zh) * | 2018-12-14 | 2019-04-16 | 北京字节跳动网络技术有限公司 | 一种页面显示方法、装置、设备及存储介质 |
CN109634598B (zh) * | 2018-12-14 | 2020-09-18 | 北京字节跳动网络技术有限公司 | 一种页面显示方法、装置、设备及存储介质 |
WO2020119485A1 (zh) * | 2018-12-14 | 2020-06-18 | 北京字节跳动网络技术有限公司 | 一种页面显示方法、装置、设备及存储介质 |
CN109684008A (zh) * | 2018-12-19 | 2019-04-26 | Oppo广东移动通信有限公司 | 卡片渲染方法、装置、终端及计算机可读存储介质 |
CN110083417A (zh) * | 2019-04-04 | 2019-08-02 | 天津字节跳动科技有限公司 | 用户界面响应方法和装置 |
CN110333861A (zh) * | 2019-06-13 | 2019-10-15 | 宝鸡石油机械有限责任公司 | 一种基于plc的上位机通用ui设计方法 |
CN110333861B (zh) * | 2019-06-13 | 2023-06-27 | 宝鸡石油机械有限责任公司 | 一种基于plc的上位机通用ui设计方法 |
CN110221899B (zh) * | 2019-06-24 | 2022-02-01 | 北京奇艺世纪科技有限公司 | 一种用户界面的调节方法、装置及系统 |
CN110221899A (zh) * | 2019-06-24 | 2019-09-10 | 北京奇艺世纪科技有限公司 | 一种用户界面的调节方法、装置及系统 |
CN110309073A (zh) * | 2019-06-28 | 2019-10-08 | 上海交通大学 | 移动应用程序用户界面错误自动化检测方法、系统及终端 |
CN110309073B (zh) * | 2019-06-28 | 2021-07-27 | 上海交通大学 | 移动应用程序用户界面错误自动化检测方法、系统及终端 |
CN110347425A (zh) * | 2019-07-11 | 2019-10-18 | 广州虎牙科技有限公司 | 一种配置和使用模板页面的方法、装置、设备和存储介质 |
CN110825373A (zh) * | 2019-10-10 | 2020-02-21 | 上海上湖信息技术有限公司 | 一种移动端动态化方法及装置 |
CN110825373B (zh) * | 2019-10-10 | 2023-04-25 | 上海上湖信息技术有限公司 | 一种移动端动态化方法及装置 |
CN111045674A (zh) * | 2019-12-16 | 2020-04-21 | 北京爱奇艺科技有限公司 | 一种播放器的交互方法和装置 |
CN111045674B (zh) * | 2019-12-16 | 2023-07-21 | 北京爱奇艺科技有限公司 | 一种播放器的交互方法和装置 |
CN111309322A (zh) * | 2020-01-16 | 2020-06-19 | 四川长虹电器股份有限公司 | 一种基于规则式的响应式智能应用开发系统 |
CN112181371A (zh) * | 2020-09-17 | 2021-01-05 | 宝能(广州)汽车研究院有限公司 | 用户界面设计方法、用户界面设计装置和存储介质 |
CN112230922A (zh) * | 2020-10-26 | 2021-01-15 | 深圳市中农网有限公司 | 页面搭建的方法及装置、存储介质及计算机设备 |
CN112732256A (zh) * | 2020-12-31 | 2021-04-30 | 广东赛意信息科技有限公司 | 一种基于纯服务端开发语言的跨平台移动app开发架构 |
CN112732256B (zh) * | 2020-12-31 | 2024-03-19 | 广东赛意信息科技有限公司 | 一种基于纯服务端开发语言的跨平台移动app开发架构 |
CN112882772A (zh) * | 2021-03-24 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 移动终端应用界面的配置方法、移动终端及存储介质 |
CN113703819A (zh) * | 2021-08-31 | 2021-11-26 | 康键信息技术(深圳)有限公司 | 一种动态消息解析方法、装置、设备和介质 |
CN113703819B (zh) * | 2021-08-31 | 2023-11-14 | 康键信息技术(深圳)有限公司 | 一种动态消息解析方法、装置、设备和介质 |
CN113569532A (zh) * | 2021-09-22 | 2021-10-29 | 北京仁和汇智信息技术有限公司 | 一种html编辑方法、装置、电子设备及计算机可读存储介质 |
CN114489894A (zh) * | 2022-01-13 | 2022-05-13 | 北京齐尔布莱特科技有限公司 | 客户端用户界面更新方法和装置、客户端和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN108279932B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279932A (zh) | 一种移动终端动态配置用户界面方法和装置 | |
CN108415702A (zh) | 一种移动终端应用界面动态渲染方法和装置 | |
US20180173390A1 (en) | Content Management System Extensions | |
CN102789484B (zh) | 一种网页信息处理方法和装置 | |
CN106575298A (zh) | 包含动态内容和陈旧内容的网站的快速呈现 | |
BR112014006589B1 (pt) | Método implementado por computador para navegação de sessão remota e sistema para navegação de sessão remota | |
US8756407B2 (en) | Configuration rule prototyping tool | |
CN108733499A (zh) | 浏览器页面展示数据处理方法及装置 | |
CN106997298A (zh) | 一种应用资源获取方法及装置 | |
US10372812B2 (en) | Combining aspects of a template into multiple web pages | |
CN107301137A (zh) | Rset接口实现方法和装置及电子设备和计算机可读存储介质 | |
US11023558B1 (en) | Executing functions on-demand on a server utilizing web browsers | |
CN110213105A (zh) | 一种跨平台微应用创建方法 | |
CN109032659A (zh) | 单页面应用基于配置引用远程页面组件的方法 | |
Zalila et al. | A model-driven tool chain for OCCI | |
Yellavula | Hands-On RESTful Web Services with Go: Develop Elegant RESTful APIs with Golang for Microservices and the Cloud | |
CN112434117A (zh) | 一种基于Vue的WebGIS的可视化配置方法和系统 | |
CN113849156B (zh) | OpenHarmony操作系统应用的无代码智能开发系统及其使用方法 | |
Chernyshov et al. | Intelligence search engine and automatic integration system for web-services and cloud-based data pro-viders based on semantics | |
US11385909B2 (en) | Cascading data configuration and data migration | |
JP2022056380A (ja) | 仮想現実コンテントコンテキストを先回りして選択する方法、システム及びコンピュータ・プログラム | |
Troelsen et al. | Introducing ASP. NET MVC | |
Kankaala | Enhancing E-commerce with Modern web technologies | |
Fugazza et al. | The RITMARE Starter Kit bottom-up capacity building for geospatial data providers | |
Juell | From containers to Kubernetes with Node. js |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |