CN115495169B - 数据获取、页面生成方法、装置、设备及可读存储介质 - Google Patents
数据获取、页面生成方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN115495169B CN115495169B CN202211153904.9A CN202211153904A CN115495169B CN 115495169 B CN115495169 B CN 115495169B CN 202211153904 A CN202211153904 A CN 202211153904A CN 115495169 B CN115495169 B CN 115495169B
- Authority
- CN
- China
- Prior art keywords
- node
- control
- organization tree
- code
- tree control
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/146—Coding or compression of tree-structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种数据获取、页面生成方法、装置、设备及可读存储介质,属于计算机技术领域。方法包括:显示第一页面,第一页面中显示有第一控件,第一控件用于获取第一节点的节点数据,第一页面基于组织树控件的程序代码生成,第一节点为终端设备中登录的第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;基于针对第一控件的第一操作,向服务器发送获取请求,获取请求中携带令牌信息和组织树控件的控件标识,令牌信息基于第一对象的对象信息确定,令牌信息和控件标识用于服务器确定第一节点;接收服务器返回的第一节点的节点数据。该方法减少了数据获取所需的时间,提高了数据获取的效率。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种数据获取、页面生成方法、装置、设备及可读存储介质。
背景技术
在现代化业务系统中,部门组织树是系统正常流转很重要的一环。例如,通知公告按照部门进行推送、文件按照部门进行分发等,通过组织树可以大大简化信息的发送流程,进而提高工作效率。
相关技术中,服务器中存储有组织树包括的全部节点的节点数据,服务器获取组织树包括的全部节点的节点数据;对各个节点的节点数据进行处理,得到处理之后的各个节点的节点数据,处理之后的节点的节点数据能够体现节点在组织树中的层级信息;向终端设备发送处理之后的各个节点的节点数据。
然而,上述方法中获取的是组织树的全部节点的节点数据,当组织树包含的节点较多时,服务器获取节点数据所需的时间较长,使得数据获取的效率较低。
发明内容
本申请实施例提供了一种数据获取、页面生成方法、装置、设备及可读存储介质,可用于解决相关技术中的问题。所述技术方案如下:
第一方面,本申请实施例提供了一种数据获取方法,所述方法包括:
显示第一页面,所述第一页面中显示有第一控件,所述第一控件用于获取第一节点的节点数据,所述第一页面基于组织树控件的程序代码生成,所述第一节点为终端设备中登录的第一对象在所述组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;
基于针对所述第一控件的第一操作,向服务器发送获取请求,所述获取请求中携带令牌信息和所述组织树控件的控件标识,所述令牌信息基于所述第一对象的对象信息确定,所述令牌信息和所述控件标识用于所述服务器确定所述第一节点;
接收所述服务器返回的所述第一节点的节点数据。
在一种可能的实现方式中,所述接收所述服务器返回的所述第一节点的节点数据之后,所述方法还包括:
根据所述第一节点的节点数据,显示第二页面,所述第二页面中显示有所述第一节点,所述第二页面中未显示有所述第一对象不可访问的节点和所述第一节点的下级节点。
在一种可能的实现方式中,所述第二页面中还显示有第二控件,所述第二控件用于获取第二节点的节点数据,所述第二节点为所述第一节点的任意一个下级节点;
所述显示第二页面之后,所述方法还包括:
基于针对所述第二控件的第二操作,获取查询条件;
向所述服务器发送所述查询条件;
接收所述服务器返回的所述第二节点的节点数据;
在所述第二页面中取消显示所述第一节点,根据所述第二节点的节点数据,在所述第二页面中显示所述第二节点。
在一种可能的实现方式中,所述显示第二页面之后,所述方法还包括:
基于针对所述第一节点的触发操作,向所述服务器发送第一获取请求,所述第一获取请求中包括所述第一节点的节点编码,所述第一获取请求用于获取所述第一节点的下一级节点的节点数据;
接收所述服务器基于所述第一获取请求返回的候选节点的节点数据,所述候选节点为所述第一节点的下一级节点;
根据所述候选节点的节点数据,在所述第二页面中显示所述候选节点。
第二方面,本申请实施例提供了一种数据获取方法,所述方法包括:
接收终端设备发送的获取请求,所述获取请求中携带令牌信息和组织树控件的控件标识,所述获取请求用于获取第一节点的节点数据,所述令牌信息基于所述终端设备中登录的第一对象的对象信息确定,所述第一节点为所述第一对象在所述组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;
对所述令牌信息进行解析,得到所述第一对象的对象信息;
根据所述第一对象的对象信息和所述控件标识,确定所述第一节点;
向所述终端设备发送所述第一节点的节点数据。
在一种可能的实现方式中,所述方法还包括:
接收所述终端设备发送的查询条件;
根据所述第一节点的节点数据和所述查询条件,确定第二节点,所述第二节点为所述第一节点的任意一个下级节点;
向所述终端设备发送所述第二节点的节点数据。
在一种可能的实现方式中,所述第一节点的节点数据中包括所述第一节点的节点编码;
所述根据所述第一节点的节点数据和所述查询条件,确定第二节点,包括:
确定所述查询条件对应的条件编码;
根据所述第一节点的节点编码和所述查询条件的条件编码,确定所述第一节点和所述查询条件之间的关系;
基于所述第一节点和所述查询条件之间的关系满足关系要求,在所述组织树包括的节点中,确定节点编码包含所述条件编码的参考节点;
根据所述参考节点,确定所述第二节点。
在一种可能的实现方式中,所述根据所述参考节点,确定所述第二节点,包括:
基于所述参考节点的个数为一个,将所述参考节点作为所述第二节点;
基于所述参考节点的个数为多个,获取各个参考节点的节点编码;
根据所述各个参考节点的节点编码,确定多个参考节点中的根节点,将所述根节点作为所述第二节点。
在一种可能的实现方式中,所述向所述终端设备发送所述第一节点的节点数据之后,所述方法还包括:
接收所述终端设备发送的第一获取请求,所述第一获取请求中包括所述第一节点的节点编码,所述第一获取请求用于获取所述第一节点的下一级节点的节点数据;
根据所述第一节点的节点编码,确定候选节点,所述候选节点为所述第一节点的下一级节点;
向所述终端设备发送所述候选节点的节点数据。
第三方面,本申请实施例提供了一种页面生成方法,所述方法包括:
显示第三页面,所述第三页面中显示有多个候选控件;
基于针对组织树控件的第三操作,生成所述组织树控件的控件编码,所述组织树控件为所述多个候选控件中的任一个控件;
根据所述组织树控件的控件标签编码和所述组织树控件的控件编码,获取所述组织树控件对应的程序代码;
运行所述组织树控件对应的程序代码,生成第一页面,所述第一页面为所述组织树控件对应的页面。
在一种可能的实现方式中,计算机设备中包括数据库,所述数据库中存储有已生成控件编码的候选控件对应的控件编码;
所述基于针对组织树控件的第三操作,生成所述组织树控件的控件编码,包括:
基于针对所述组织树控件的第三操作,获取所述组织树控件的控件标题;
根据所述组织树控件的控件标题,生成第一编码;
基于所述数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在所述第一编码,将所述第一编码作为所述组织树控件的控件编码;
基于所述数据库中存储的已生成控件编码的候选控件对应的控件编码中存在所述第一编码,根据所述组织树控件的控件标题,生成第二编码,所述第二编码与所述第一编码不同;基于所述数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在所述第二编码,将所述第二编码作为所述组织树控件的控件编码。
在一种可能的实现方式中,所述根据所述组织树控件的控件标题,生成第一编码,包括:
根据所述组织树控件的控件标题,获取第一信息;
基于随机信息生成器,获取第二信息;
根据所述第一信息和所述第二信息,生成所述第一编码。
在一种可能的实现方式中,所述根据所述组织树控件的控件标签编码和所述组织树控件的控件编码,获取所述组织树控件对应的程序代码,包括:
基于所述组织树控件的控件标签编码指示所述组织树控件不是子表,获取所述组织树控件需要生成的数据库字段;
基于所述组织树控件需要生成的数据库字段中包括目标内容,获取所述组织树控件需要生成的数据库字段对应的第一属性数组和所述组织树控件的数据类型对应的第二属性数组;
根据所述第一属性数组、所述第二属性数组和所述组织树控件的控件编码,获取所述组织树控件对应的程序代码。
在一种可能的实现方式中,所述根据所述第一属性数组、所述第二属性数组和所述组织树控件的控件编码,获取所述组织树控件对应的程序代码,包括:
根据所述组织树控件的控件编码,对所述第一属性数组进行调整,得到第三属性数组;
根据所述第三属性数组和所述第二属性数组,获取所述组织树控件对应的程序代码。
在一种可能的实现方式中,所述获取所述组织树控件需要生成的数据库字段之后,所述方法还包括:
基于所述组织树控件需要生成的数据库字段中不包括所述目标内容,根据所述组织树控件的控件编码和所述组织树控件的数据类型,获取所述组织树控件对应的程序代码。
在一种可能的实现方式中,所述根据所述组织树控件的控件标签编码和所述组织树控件的控件编码,获取所述组织树控件对应的程序代码,包括:
基于所述组织树控件的控件标签编码指示所述组织树控件是子表,对所述组织树控件的控件编码进行调整,得到参考编码,所述参考编码为驼峰形式;
根据所述组织树控件需要生成的数据库字段对应的第一属性数组、所述组织树控件的数据类型对应的第二属性数组和所述参考编码,获取所述组织树控件对应的程序代码。
第四方面,本申请实施例提供了一种数据获取装置,所述装置包括:
显示模块,用于显示第一页面,所述第一页面中显示有第一控件,所述第一控件用于获取第一节点的节点数据,所述第一页面基于组织树控件的程序代码生成,所述第一节点为终端设备中登录的第一对象在所述组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;
发送模块,用于基于针对所述第一控件的第一操作,向服务器发送获取请求,所述获取请求中携带令牌信息和所述组织树控件的控件标识,所述令牌信息基于所述第一对象的对象信息确定,所述令牌信息和所述控件标识用于所述服务器确定所述第一节点;
接收模块,用于接收所述服务器返回的所述第一节点的节点数据。
在一种可能的实现方式中,所述显示模块,还用于根据所述第一节点的节点数据,显示第二页面,所述第二页面中显示有所述第一节点,所述第二页面中未显示有所述第一对象不可访问的节点和所述第一节点的下级节点。
在一种可能的实现方式中,所述第二页面中还显示有第二控件,所述第二控件用于获取第二节点的节点数据,所述第二节点为所述第一节点的任意一个下级节点;
所述装置还包括:
获取模块,用于基于针对所述第二控件的第二操作,获取查询条件;
所述发送模块,还用于向所述服务器发送所述查询条件;
所述接收模块,还用于接收所述服务器返回的所述第二节点的节点数据;
所述显示模块,还用于在所述第二页面中取消显示所述第一节点,根据所述第二节点的节点数据,在所述第二页面中显示所述第二节点。
在一种可能的实现方式中,所述发送模块,还用于基于针对所述第一节点的触发操作,向所述服务器发送第一获取请求,所述第一获取请求中包括所述第一节点的节点编码,所述第一获取请求用于获取所述第一节点的下一级节点的节点数据;
所述接收模块,还用于接收所述服务器基于所述第一获取请求返回的候选节点的节点数据,所述候选节点为所述第一节点的下一级节点;
所述显示模块,还用于根据所述候选节点的节点数据,在所述第二页面中显示所述候选节点。
第五方面,本申请实施例提供了一种数据获取装置,所述装置包括:
接收模块,用于接收终端设备发送的获取请求,所述获取请求中携带令牌信息和组织树控件的控件标识,所述获取请求用于获取第一节点的节点数据,所述令牌信息基于所述终端设备中登录的第一对象的对象信息确定,所述第一节点为所述第一对象在所述组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;
解析模块,用于对所述令牌信息进行解析,得到所述第一对象的对象信息;
确定模块,用于根据所述第一对象的对象信息和所述控件标识,确定所述第一节点;
发送模块,用于向所述终端设备发送所述第一节点的节点数据。
在一种可能的实现方式中,所述接收模块,还用于接收所述终端设备发送的查询条件;
所述确定模块,还用于根据所述第一节点的节点数据和所述查询条件,确定第二节点,所述第二节点为所述第一节点的任意一个下级节点;
所述发送模块,还用于向所述终端设备发送所述第二节点的节点数据。
在一种可能的实现方式中,所述第一节点的节点数据中包括所述第一节点的节点编码;
所述确定模块,用于确定所述查询条件对应的条件编码;根据所述第一节点的节点编码和所述查询条件的条件编码,确定所述第一节点和所述查询条件之间的关系;基于所述第一节点和所述查询条件之间的关系满足关系要求,在所述组织树包括的节点中,确定节点编码包含所述条件编码的参考节点;根据所述参考节点,确定所述第二节点。
在一种可能的实现方式中,所述确定模块,用于基于所述参考节点的个数为一个,将所述参考节点作为所述第二节点;基于所述参考节点的个数为多个,获取各个参考节点的节点编码;根据所述各个参考节点的节点编码,确定多个参考节点中的根节点,将所述根节点作为所述第二节点。
在一种可能的实现方式中,所述接收模块,还用于接收所述终端设备发送的第一获取请求,所述第一获取请求中包括所述第一节点的节点编码,所述第一获取请求用于获取所述第一节点的下一级节点的节点数据;
所述确定模块,还用于根据所述第一节点的节点编码,确定候选节点,所述候选节点为所述第一节点的下一级节点;
所述发送模块,还用于向所述终端设备发送所述候选节点的节点数据。
第六方面,本申请实施例提供了一种页面生成装置,所述装置包括:
显示模块,用于显示第三页面,所述第三页面中显示有多个候选控件;
生成模块,用于基于针对组织树控件的第三操作,生成所述组织树控件的控件编码,所述组织树控件为所述多个候选控件中的任一个控件;
获取模块,用于根据所述组织树控件的控件标签编码和所述组织树控件的控件编码,获取所述组织树控件对应的程序代码;
所述生成模块,还用于运行所述组织树控件对应的程序代码,生成第一页面,所述第一页面为所述组织树控件对应的页面。
在一种可能的实现方式中,计算机设备中包括数据库,所述数据库中存储有已生成控件编码的候选控件对应的控件编码;
所述生成模块,用于基于针对所述组织树控件的第三操作,获取所述组织树控件的控件标题;根据所述组织树控件的控件标题,生成第一编码;基于所述数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在所述第一编码,将所述第一编码作为所述组织树控件的控件编码;基于所述数据库中存储的已生成控件编码的候选控件对应的控件编码中存在所述第一编码,根据所述组织树控件的控件标题,生成第二编码,所述第二编码与所述第一编码不同;基于所述数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在所述第二编码,将所述第二编码作为所述组织树控件的控件编码。
在一种可能的实现方式中,所述生成模块,用于根据所述组织树控件的控件标题,获取第一信息;基于随机信息生成器,获取第二信息;根据所述第一信息和所述第二信息,生成所述第一编码。
在一种可能的实现方式中,所述获取模块,用于基于所述组织树控件的控件标签编码指示所述组织树控件不是子表,获取所述组织树控件需要生成的数据库字段;基于所述组织树控件需要生成的数据库字段中包括目标内容,获取所述组织树控件需要生成的数据库字段对应的第一属性数组和所述组织树控件的数据类型对应的第二属性数组;根据所述第一属性数组、所述第二属性数组和所述组织树控件的控件编码,获取所述组织树控件对应的程序代码。
在一种可能的实现方式中,所述获取模块,用于根据所述组织树控件的控件编码,对所述第一属性数组进行调整,得到第三属性数组;根据所述第三属性数组和所述第二属性数组,获取所述组织树控件对应的程序代码。
在一种可能的实现方式中,所述获取模块,还用于基于所述组织树控件需要生成的数据库字段中不包括所述目标内容,根据所述组织树控件的控件编码和所述组织树控件的数据类型,获取所述组织树控件对应的程序代码。
在一种可能的实现方式中,所述获取模块,用于基于所述组织树控件的控件标签编码指示所述组织树控件是子表,对所述组织树控件的控件编码进行调整,得到参考编码,所述参考编码为驼峰形式;根据所述组织树控件需要生成的数据库字段对应的第一属性数组、所述组织树控件的数据类型对应的第二属性数组和所述参考编码,获取所述组织树控件对应的程序代码。
第七方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使计算机设备实现上述第一方面或第一方面的任一种实现方式所述的数据获取方法,或者,以使计算机设备实现上述第二方面或第二方面任一种实现方式所述的数据获取方法,或者,以使计算机设备实现上述第三方面或第三方面任一种实现方式所述的页面生成方法。
第八方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现上述第一方面或第一方面的任一种实现方式所述的数据获取方法,或者,以使计算机设备实现上述第二方面或第二方面任一种实现方式所述的数据获取方法,或者,以使计算机设备实现上述第三方面或第三方面任一种实现方式所述的页面生成方法。
第九方面,还提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行,以使计算机实现上述第一方面或第一方面的任一种实现方式所述的数据获取方法,或者,以使计算机设备实现上述第二方面或第二方面任一种实现方式所述的数据获取方法,或者,以使计算机设备实现上述第三方面或第三方面任一种实现方式所述的页面生成方法。
本申请实施例提供的技术方案至少带来如下有益效果:
本申请实施例提供的技术方案通过向服务器发送获取请求的方式,以使服务器获取到第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的第一节点的节点数据,从而使终端设备接收到服务器发送的第一节点的节点数据。该方法无需获取组织树控件的控件标识对应的全部节点的节点数据,一定程度上减少获取节点数据所需的时间,进而能够提高数据获取的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境示意图;
图2是本申请实施例提供的一种数据获取方法的流程图;
图3是本申请实施例提供的一种登录页面的显示示意图;
图4是本申请实施例提供的一种第一页面的显示示意图;
图5是本申请实施例提供的一种第二页面的显示示意图;
图6是本申请实施例提供的另一种第二页面的显示示意图;
图7是本申请实施例提供的一种组织树的显示示意图;
图8是本申请实施例提供的另一种第二页面的显示示意图;
图9是本申请实施例提供的一种页面生成方法的流程图;
图10是本申请实施例提供的一种第三页面的显示示意图;
图11是本申请实施例提供的一种获取组织树控件的程序代码的显示示意图;
图12是本申请实施例提供的一种数据获取方法的流程图;
图13是本申请实施例提供的一种数据获取方法的流程图;
图14是本申请实施例提供的一种生成组织树控件的原理的示意图;
图15是本申请实施例提供的一种数据获取装置的结构示意图;
图16是本申请实施例提供的一种数据获取装置的结构示意图;
图17是本申请实施例提供的一种页面生成装置的结构示意图;
图18是本申请实施例提供的一种终端设备的结构示意图;
图19是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种实施环境示意图,如图1所示,该实施环境包括:终端设备101和服务器102。
终端设备101可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器和膝上型便携计算机中的至少一种。服务器102为一台服务器,或者为多台服务器组成的服务器集群,或者为云计算平台和虚拟化中心中的任意一种,本申请实施例对此不加以限定。服务器102与终端设备101通过有线网络或无线网络进行通信连接。服务器102具有数据接收功能、数据处理功能和数据发送功能。当然,服务器102还可以具有其他功能,本申请实施例对此不加以限定。本申请实施例提供的数据获取方法通过终端设备101和服务器102之间的交互实现。本申请实施例提供的页面生成方法的执行主体为终端设备101,或者执行主体为服务器102。
终端设备101可以泛指多个终端设备中的一个,本实施例仅以终端设备101来举例说明。本领域技术人员可以知晓,上述终端设备101的数量可以更多或更少。比如上述终端设备101可以仅为一个,或者上述终端设备101为几十个或几百个,或者更多数量,本申请实施例对终端设备的数量和设备类型不加以限定。
本领域技术人员应能理解上述终端设备101和服务器102仅为举例说明,其他现有的或者今后可能出现的终端设备或服务器,如可适用于本申请,也应包含在本申请的保护范围之内,并在此以引用方式包含于此。
本申请实施例提供了一种数据获取方法,该方法可应用于上述图1所示的实施环境,以图2所示的本申请实施例提供的一种数据获取方法的流程图为例,该方法可由图1中的终端设备101和服务器102之间的交互实现。如图2所示,该方法包括下述步骤:
在步骤201中,终端设备显示登录页面。
在本申请示例性实施例中,终端设备中安装和运行有用于数据获取的应用程序,该应用程序可以是任意类型的应用程序,该应用程序可以是指需要下载安装的应用程序,也可以是指依赖宿主程序运行的嵌入型程序,如小程序,本申请实施例对此不进行限定。嵌入型程序是一种基于编码语言开发完成、依赖于宿主程序运行的应用程序。嵌入型程序不需要下载安装,只需要在宿主程序中动态加载即可运行。用户可以通过搜索、扫一扫等方式找到自己所需要的嵌入型程序,点开即可应用,用完关闭后不会占用终端的内存,十分方便。
在一种可能的实现方式中,响应于针对该应用程序的操作指令,显示登录页面,登录页面中显示有账号输入控件和密码输入控件。其中,账号输入控件用于获取登录对象的账号,密码输入控件用于获取登录对象的密码。如图3是本申请实施例提供的一种登录页面的显示示意图。在图3中显示有账号输入控件301和密码输入控件302。
在步骤202中,终端设备向服务器发送第一对象的对象信息。
在一种可能的实现方式中,使用终端设备的第一对象可以在登录页面的账号输入控件中输入账号,在密码输入控件中输入密码,以使终端设备获取到第一对象的对象信息,对象信息包括账号和密码。终端设备获取到第一对象的对象信息之后,向服务器发送第一对象的对象信息,由服务器对第一对象的对象信息进行验证。
在步骤203中,服务器接收终端设备发送的第一对象的对象信息,根据第一对象的对象信息,生成令牌信息。
在一种可能的实现方式中,服务器中存储有能够登录该应用程序的多个候选账号和各个候选账号对应的密码。服务器接收到终端设备发送的第一对象的对象信息之后,得到第一对象的账号和密码。服务器根据第一对象的账号、第一对象的密码、多个候选账号以及各个候选账号对应的密码,对第一对象的账号和密码进行验证,基于验证通过,根据第一对象的对象信息,生成令牌信息。
其中,根据第一对象的账号、第一对象的密码、多个候选账号以及各个候选账号对应的密码,对第一对象的账号和密码进行验证的过程包括:基于第一对象的账号与多个候选账号中任一个候选账号相同,且第一对象的密码与任一个候选账号对应的密码相同,则验证通过。反之,验证不通过。
在一种可能的实现方式中,令牌信息可以是Json Web Tokens(JWT)。JWT是由三段信息构成的,将这三段信息用“.”连接在一起就构成了JWT字符串。第一段信息为头部(header),第二段信息为载荷(payload),第三段信息为签证(signature)。头部承载两部分信息,分别是声明类型和声明加密的算法,其中,声明加密的算法可以是HMAC SHA256,也可以是其他算法,本申请实施例对此不进行限定。对声明类型和声明加密的算法进行base64编码(一种编码方式),得到JWT的第一段信息。载荷是存放有效信息的地方,例如第一对象的对象信息,对第一对象的对象信息进行base64编码,得到JWT的第二段信息。签证由三部分组成,分别是base64编码后的头部、base64编码后的载荷以及密钥,将base64编码后的头部和base64编码后的载荷使用“.”连接组成的字符串,通过header中声明的加密方式进行加密,得到JWT的第三段信息。
在步骤204中,服务器向终端设备发送令牌信息。
在一种可能的实现方式中,服务器确定出令牌信息之后,向终端设备发送令牌信息。
在步骤205中,终端设备接收服务器发送的令牌信息,存储令牌信息。
在一种可能的实现方式中,终端设备存储令牌信息的目的是终端设备向服务器请求数据时,附加上令牌信息,服务器验证令牌信息之后,返回数据,该方法服务器在向终端设备返回数据时,只需要对令牌信息进行验证,无需进行用户认证,进而节省终端设备和服务器的交互时长,提高终端设备请求数据的效率。
在步骤206中,终端设备显示第一页面,第一页面中显示有第一控件。
在一种可能的实现方式中,第一对象登录成功之后,终端设备显示目标页面,目标页面中显示有多个组织树控件,基于针对任一组织树控件的选中指令,显示第一页面,第一页面中显示有第一控件,第一控件用于获取第一节点的节点数据,第一页面基于组织树控件的程序代码生成,第一节点为终端设备中登录的第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点。终端设备显示第一页面时,需要获取被选中的组织树控件的程序代码,运行被选中的组织树控件的程序代码,显示第一页面,该过程在图9所示的实施例中进行描述,在此不再赘述。如图4是本申请实施例提供的一种第一页面的显示示意图。其中,显示有第一控件401。
在步骤207中,基于针对第一控件的第一操作,终端设备向服务器发送获取请求,获取请求中携带令牌信息和组织树控件的控件标识。
在一种可能的实现方式中,令牌信息为上述步骤205中终端设备中存储的令牌信息,组织树控件的控件标识为用于指示组织树控件的唯一标识。针对第一控件的第一操作可以是针对第一控件的点击操作,还可以针对第一控件的其他操作,本申请实施例对此不进行限定。
终端设备中存储有令牌信息,基于针对第一控件的第一操作,终端设备获取令牌信息,根据令牌信息和组织树控件的控件标识生成获取请求,获取请求中携带令牌信息和组织树控件的控件标识。
在步骤208中,服务器接收终端设备发送的获取请求,对获取请求进行解析,得到令牌信息和组织树控件的控件标识,根据令牌信息和组织树控件的控件标识,确定第一节点。
可选地,获取请求中携带令牌信息和组织树控件的控件标识,获取请求用于获取第一节点的节点数据,令牌信息基于终端设备中登录的第一对象的对象信息确定,第一节点为第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点。服务器接收到终端设备发送的获取请求之后,对获取请求进行解析,得到令牌信息和组织树控件的控件标识,根据令牌信息和组织树控件的控件标识,确定第一节点的过程包括:对令牌信息进行解析,得到第一对象的对象信息,根据第一对象的对象信息和控件标识,确定第一节点。
在一种可能的实现方式中,对令牌信息进行解析,得到第一对象的对象信息的过程包括:对令牌信息进行拆分,得到三部分信息,分别为第一个“.”之前的信息,第一个“.”与第二个“.”之间的信息以及第二个“.”之后的信息。用base64解码(一种解码方式)对第一个“.”之前的信息进行解码,得到加密方式,用该加密方式对应的解密方式对第二个“.”之后的信息进行解密,基于签名,基于签名未被篡改,则用base64解密对第一个“.”与第二个“.”之间的信息进行解码,得到第一对象的对象信息。
可选地,第一对象的对象信息中包括第一对象的账号,服务器中存储各个对象在各个控件标识对应的多个节点中可访问的、层级最高的节点,确定出第一对象的账号之后,根据第一对象的账号、组织树控件的控件标识以及各个对象在各个控件标识对应的多个节点中可访问的、层级最高的节点,确定第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点,将该节点作为第一节点。
示例性地,下表1为服务器中存储的各个对象在各个控件标识对应的多个节点中可访问的、层级最高的节点。
表1
对象的账号 | 控件标识 | 节点 |
1111111 | 控件标识1 | 节点1-1 |
2222222 | 控件标识2 | 节点2-1 |
3333333 | 控件标识3 | 节点3-1 |
由上述表1可知,对象账号为1111111的对象在控件标识1对应的多个节点中可访问的、层级最高的节点为节点1-1;对象账号为2222222的对象在控件标识2对应的多个节点中可访问的、层级最高的节点为节点2-1;对象账号为3333333的对象在控件标识3对应的多个节点中可访问的、层级最高的节点为节点3-1。
需要说明的是,上述表1仅为本申请示例性表格,并不用来限制对象的账号的个数、控件标识的个数。
示例性地,第一对象的账号为1111111,组织树控件的控件标识为控件标识1,则第一对象在控件标识1对应的多个节点中可访问的、层级最高的节点为节点1,也即是第一节点为节点1-1。
在步骤209中,服务器向终端设备发送第一节点的节点数据。
其中,第一节点的节点数据包括但不限于第一节点的节点名称、第一节点的节点编码。可选地,第一节点的节点数据中还包括第一节点的节点ID。服务器确定出第一节点之后,向终端设备发送第一节点的节点数据。
在步骤210中,终端设备接收服务器发送的第一节点的节点数据,根据第一节点的节点数据,显示第二页面。
在一种可能的实现方式中,第二页面中显示有第一节点,第二页面中未显示有第一对象不可访问的节点和第一节点的下级节点。如图5是本申请实施例提供的一种第二页面的显示示意图,其中显示有第一节点501。由图5可以看出,第二页面中有且仅有第一节点。由于服务器仅向终端设备返回第一节点的节点数据,使得终端设备数据获取的效率较高,节省了终端设备获取数据所需的时间。
在一种可能的实现方式中,第二页面中显示有第一节点之后,如果第一对象还想知道第一节点的下一级节点有哪些,则第一对象可以通过触发第一节点的方式在第二页面中显示第一节点的下一级节点,以使第一对象知道第一节点的下一级节点。
可选地,基于第一对象针对第一节点的触发操作,终端设备接收到第一获取请求,第一获取请求中携带第一节点的节点编码。终端设备向服务器发送第一获取请求。
服务器接收到第一获取请求之后,对第一获取请求进行解析,得到第一节点的节点编码,根据第一节点的节点编码,在组织树包括的多个节点中确定候选节点,候选节点为第一节点的下一级节点。服务器向终端设备发送候选节点的节点数据。终端设备接收候选节点的节点数据,根据候选节点的节点数据,在第二页面中显示候选节点。
可选地,根据第一节点的节点编码,在组织树包括的多个节点中确定候选节点的过程包括:确定组织树包括的多个节点的节点编码;根据第一节点的节点编码和多个节点的节点编码,在多个节点中确定候选节点。
示例性地,组织树中包括8个节点,分别为节点1、节点1-1、节点1-1-1、节点1-1-2、节点1-1-3、节点1-1-1-1、节点1-1-1-2、节点1-1-1-3。其中,节点1的节点编码为1、节点1-1的节点编码为1.01、节点1-1-1的节点编码为1.01.001、节点1-1-2的节点编码为1.01.002、节点1-1-3的节点编码为1.01.003、节点1-1-1-1的节点编码为1.01.001.0001、节点1-1-1-2的节点编码为1.01.001.0002、节点1-1-1-3的节点编码为1.01.001.0003。第一节点为节点1-1-1。根据节点1-1-1的节点编码和组织树中包括的各个节点的节点编码,在组织树包括的多个节点中,确定候选节点为:节点1-1-1-1、节点1-1-1-2和节点1-1-1-3。
如图6是本申请实施例提供的另一种第二页面的显示示意图。其中显示有第一节点601、候选节点602。
可选地,当第一对象还想知道候选节点的下一级节点是哪些节点时,还可以通过上述方式在第二页面上显示候选节点的下一级节点。这种懒加载的方式,一次只获取一个层级的节点的节点数据,由于一个层级的节点数量较少,进而使得数据获取所需的时间较短,数据获取效率较高。
在步骤211中,终端设备获取查询条件。
在一种可能的实现方式中,第二页面中还显示有第二控件,第二控件用于获取第二节点的节点数据,第二节点为第一节点的任意一个下级节点。如图5中的502为第二控件。基于针对第二控件的第二操作,获取查询条件。其中,针对第二控件的第二操作是指针对第二控件的输入操作,将输入的内容作为查询条件。
在步骤212中,终端设备向服务器发送查询条件。
可选地,第二页面中还显示有第三控件,第三控件用于向服务器发送查询条件,如图5中的503为第三控件。基于针对第三控件的第四操作,终端设备向服务器发送查询条件。其中,针对第三控件的第四操作是指针对第三控件的点击操作。
在步骤213中,服务器接收终端设备发送的查询条件,根据第一节点的节点数据和查询条件,确定第二节点。
在一种可能的实现方式中,第一节点的节点数据中包括第一节点的节点编码。服务器根据第一节点的节点数据和查询条件,确定第二节点的过程包括:确定查询条件对应的条件编码;根据第一节点的节点编码和查询条件的条件编码,确定第一节点和查询条件之间的关系;基于第一节点和查询条件之间的关系满足关系要求,在组织树包括的多个节点中,确定节点编码包含条件编码的参考节点;根据参考节点,确定第二节点。
可选地,服务器中存储有节点和节点编码的对应关系,获取到查询条件之后,确定与查询条件对应的条件编码。根据第一节点的节点编码和查询条件的条件编码,确定第一节点和查询条件之间的关系的过程包括:基于查询条件的条件编码中包括第一节点的节点编码,且查询条件的条件编码与第一节点的节点编码不相同,确定第一节点和查询条件之间的关系满足关系要求,基于查询条件的条件编码中不包括第一节点的节点编码,或者,查询条件的条件编码与第一节点的节点编码相同,确定第一节点和查询条件之间的关系不满足关系要求。其中,第一节点和查询条件之间的关系满足关系要求是指第一节点为查询条件的上级节点,第一节点和查询条件之间的关系不满足关系要求是指第一节点不是查询条件上级节点。
示例性地,第一节点的节点编码为1.01,查询条件的条件编码为1.01.001,由于查询条件的条件编码中包括第一节点的节点编码,且查询条件的条件编码和第一节点的节点编码不相同,则第一节点和查询条件之间的关系满足关系要求。
又例如,第一节点的节点编码为1.01,查询条件的条件编码为1,由于查询条件的条件编码中不包括第一节点的节点编码,则第一节点和查询条件之间的关系不满足关系要求。
又例如,第一节点的节点编码为1.01,查询条件的条件编码为1.01,由于查询条件的条件编码和第一节点的节点编码相同,则第一节点和查询条件之间的关系不满足关系要求。
在一种可能的实现方式中,根据参考节点,确定第二节点的过程包括:基于参考节点的个数为一个,将参考节点作为第二节点。基于参考节点的个数为多个,获取各个参考节点的节点编码,根据各个参考节点的节点编码,确定多个参考节点中的根节点,将根节点作为第二节点。
示例性地,组织树中包括8个节点,分别为节点1、节点1-1、节点1-1-1、节点1-1-2、节点1-1-3、节点1-1-1-1、节点1-1-1-2、节点1-1-1-3。其中,节点1的节点编码为1、节点1-1的节点编码为1.01、节点1-1-1的节点编码为1.01.001、节点1-1-2的节点编码为1.01.002、节点1-1-3的节点编码为1.01.003、节点1-1-1-1的节点编码为1.01.001.0001、节点1-1-1-2的节点编码为1.01.001.0002、节点1-1-1-3的节点编码为1.01.001.0003。第一节点为节点1-1。查询条件为节点1-1-1。因此,查询条件的条件编码中包括第一节点的节点编码,且查询条件的条件编码与第一节点的节点编码不相同,所以第一节点和查询条件之间的关系满足关系要求。在组织树包括的多个节点中,确定节点编码包含条件编码的参考节点,也即是参考节点包括:节点1-1-1、节点1-1-1-1、节点1-1-1-2和节点1-1-1-3。根据这四个参考节点的节点编码,将节点1-1-1作为根节点,将节点1-1-1作为第二节点。如图7是本申请实施例提供的一种组织树的显示示意图,该组织树包括4个层级、8个节点。其中,灰色的节点即为第二节点。
在步骤214中,服务器向终端设备发送第二节点的节点数据。
可选地,服务器向终端设备发送第二节点的节点数据的过程与服务器向终端设备发送第一节点的节点数据的过程类似,在此不再进行赘述。
在步骤215中,终端设备接收服务器发送的第二节点的节点数据,在第二页面中取消显示第一节点,根据第二节点的节点数据,在第二页面中显示第二节点。
其中,根据第二节点的节点数据,在第二页面中显示第二节点的过程与上述根据第一节点的节点数据,显示第二页面的过程类似,在此不再进行赘述。
如图8是本申请实施例提供的另一种第二页面的显示示意图,其中仅显示有第二节点801。
上述方法通过向服务器发送获取请求的方式,以使服务器获取到第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的第一节点的节点数据,从而使终端设备接收到服务器发送的第一节点的节点数据。该方法无需获取组织树控件的控件标识对应的全部节点的节点数据,一定程度上减少获取节点数据所需的时间,进而能够提高数据获取的效率。
本申请实施例提供了一种页面生成方法,该方法可应用于上述图1所示的实施环境,以图9所示的本申请实施例提供的一种页面生成方法的流程图为例,该方法的执行主体为计算机设备,计算机设备为图1中的终端设备101或服务器102。如图9所示,该方法包括下述步骤:
在步骤901中,显示第三页面,第三页面中显示有多个候选控件。
在一种可能的实现方式中,计算机设备显示第三页面,第三页面中显示有多个候选控件,第一对象通过拖动任一候选控件,能够显示任一候选控件对应的页面。如图10是本申请实施例提供的一种第三页面的显示示意图,显示有多个候选控件1001。第三页面中还可以显示其他控件,本申请实施例对此不进行限定。
在步骤902中,基于针对组织树控件的第三操作,生成组织树控件的控件编码。
可选地,组织树控件为多个候选控件中的任一个控件。针对组织树控件的第三操作是指将组织树控件拖动到目标位置的操作,目标位置为图10中的1002中的任一位置。
在一种可能的实现方式中,计算机设备中包括数据库,数据库中存储有已生成控件编码的候选控件对应的控件编码。基于针对组织树控件的第三操作,生成组织树控件的控件编码的过程包括:基于针对组织树控件的第三操作,获取组织树控件的控件标题;根据组织树控件的控件标题,生成第一编码;基于数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在第一编码,将第一编码作为组织树控件的控件编码。基于数据库中存储的已生成控件编码的候选控件对应的控件编码中存在第一编码,根据组织树控件的控件标题,生成第二编码,第二编码与第一编码不同;基于数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在第二编码,将第二编码作为组织树控件的控件编码。
如果数据库中存储的已生成控件编码的候选控件对应的控件编码中存在第二编码,则继续根据组织树控件的控件标题,生成新的编码,直至数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在该新的编码时,将新的编码作为组织树控件的控件编码。
可选地,生成组织树控件的控件编码之后,还可以将组织树控件的控件编码存储在数据库中,这样在生成其他候选控件的控件编码时以作参考。
其中,获取组织树控件的控件标题的过程包括:基于针对组织树控件的第三操作,终端设备获取到组织树控件的控件ID(IDentity,用来标识身份的信息),终端设备中存储有控件ID和控件标题的对应关系。终端设备获取到组织树控件的控件ID之后,根据组织树控件的控件ID、控件ID和控件标题的对应关系,确定组织树控件的控件标题。可选地,获取组织树控件的控件标题的过程还包括:第三页面中显示有控件标题输入框,第一对象将组织树控件拖拽到目标位置之后,可以在控件标题输入框中输入该组织树控件的控件标题,以使终端设备获取到组织树控件的控件标题。
本申请实施例不对根据组织树控件的控件标题,生成第一编码的方式进行限定。示例性地,根据组织树控件的控件标题,获取第一信息;基于随机信息生成器,获取第二信息;根据第一信息和第二信息,生成第一编码。其中,随机信息生成器可以是随机数生成器,也可以是随机大写字母生成器,还可以是随机小写字母生成器,本申请实施例对此不进行限定。
可选地,根据组织树控件的控件标题,获取第一信息的过程包括:根据组织树控件的控件标题,得到多个字母,多个字母分别为控件标题包括的各个字的首字母;将多个字母中位于第一位置之前的字母组成的信息作为第一信息。基于随机信息生成器,获取第二信息的过程包括:基于随机信息生成器,生成第一数量个信息,将第一数量个信息作为第二信息。根据第一信息和第二信息,生成第一编码的过程包括:将第一信息和第二信息用参考连接方式连接在一起,得到第一编码。
其中,第一位置为任意位置,第一数量基于经验进行设置,或者根据实施环境进行调整,参考连接方式可以是任意一种连接方式,本申请实施例对此均不进行限定。示例性地,第一位置为第三位,第一数量为5,参考连接方式为“_”。
示例性地,组织树控件的控件标题为“组织多选”,根据组织树控件的控件标题,得到的第一信息为“ZZ”,根据随机字母生成器,得到的第二信息为“ABCDE”,则第一编码为“ZZ_ABCDE”。
需要说明的是,根据组织树控件的控件标题,生成第二编码的过程以及根据组织树控件的控件标题,生成新的编码的过程均与上述根据组织树控件的控件标题,生成第一编码的过程类似,在此均不再进行赘述。
在步骤903中,根据组织树控件的控件标签编码和组织树控件的控件编码,获取组织树控件对应的程序代码。
在一种可能的实现方式中,计算机设备中包括数据库,数据库中存储有控件ID和控件的控件标签编码(com_label_code)的对应关系。确定组织树控件的控件ID之后,根据组织树控件的控件ID、控件ID和控件的控件标签编码的对应关系,确定组织树控件的控件标签编码。
根据组织树控件的控件标签编码和组织树控件的控件编码,获取组织树控件对应的程序代码的过程包括:基于组织树控件的控件标签编码指示组织树控件不是子表,获取组织树控件需要生成的数据库字段(com_db);基于组织树控件需要生成的数据库字段中包括目标内容,获取组织树控件需要生成的数据库字段对应的第一属性数组和组织树控件的数据类型对应的第二属性数组;根据第一属性数组、第二属性数组和组织树控件的控件编码,获取组织树控件对应的程序代码。
可选地,目标内容为“,”。组织树控件需要生成的数据库字段中包括组织树控件的NAME(控件标题)、CODE(组件标签编码)和ID(标识)中的至少一种,组织树控件的NAME、CODE和ID中的至少一种之间用“,”隔开。例如,组织树控件需要生成的数据库字段中包括组织树控件的NAME、CODE和ID,组织树控件需要生成的数据库字段为“NAME,CODE,ID”。根据com_db.split(“,”)的方式对组织树控件需要生成的数据库字段进行解析,得到组织树控件需要生成的数据库字段对应的第一属性数组,第一属性数组包括组织树控件的NAME、CODE和ID中的至少一种。
根据com_value.type.split(“,”)的方式对组织树控件的数据类型进行解析,得到组织树控件的数据类型对应的第二属性数组,组织树控件的数据类型对应的第二属性数组为组织树控件需要生成的数据库字段包括的各个内容分别对应的类型。其中,组织树控件的NAME对应的类型为String(一种数据类型),组织树控件的CODE对应的类型为String,组织树控件的ID对应的类型为Big Decimal(一种数据类型)。示例性地,组织树控件需要生成的数据库字段中包括组织树控件的NAME、CODE和ID,则组织树控件的数据类型对应的第二属性数组为String,String,Big Decimal。
在一种可能的实现方式中,根据第一属性数组、第二属性数组和组织树控件的控件编码,获取组织树控件对应的程序代码的过程包括:根据组织树控件的控件编码,对第一属性数组进行调整,得到第三属性数组,根据第三属性数组和第二属性数组,获取组织树控件对应的程序代码。
可选地,根据组织树控件的控件编码,对第一属性数组进行调整,得到第三属性数组的过程包括:将第一属性数组里面各个属性加上组织树控件的控件编码,得到第三属性数组。例如,第一属性数组为NAME、CODE、ID,组织树控件的控件编码为ZZ_ABCDE,则第一属性数组为ZZ_ABCDE_NAME、ZZ_ABCDE_CODE、ZZ_ABCDE_ID。
在一种可能的实现方式中,基于组织树控件需要生成的数据库字段中不包括目标内容,根据组织树控件的控件编码和组织树控件的数据类型,获取组织树控件对应的程序代码。
在一种可能的实现方式中,基于组织树控件的控件标签编码指示组织树控件是子表,对组织树控件的控件编码进行调整,得到参考编码,参考编码为驼峰形式;根据组织树控件需要生成的数据库字段对应的第一属性数组、组织树控件的数据类型对应的第二属性数组和参考编码,获取组织树控件对应的程序代码。
可选地,对组织树控件的控件编码进行调整,得到参考编码的过程包括:将组织树控件的控件编码以驼峰形式生成javabean(一种JAVA语言写成的可重用组件),得到参考编码。示例性地,组织树控件的控件编码为gh_aaaaa,参考编码为ghAaaaa。
可选地,根据组织树控件需要生成的数据库字段对应的第一属性数组、组织树控件的数据类型对应的第二属性数组和参考编码,获取组织树控件对应的程序代码的过程包括:根据参考编码,对第一属性数组进行调整,得到第四属性数组;根据第四属性数组和第二属性数组,获取组织树控件对应的程序代码。如图11是本申请实施例提供的一种获取组织树控件的程序代码的显示示意图。
其中,根据参考编码,对第一属性数组进行调整,得到第四属性数组的过程与上述根据组织树控件的控件编码,对第一属性数组进行调整,得到第三属性数组的过程类似,本申请实施例对此不进行限定。
需要说明的是,计算机设备中运行有低代码平台,计算机设备在低代码平台中获取组织树控件的程序代码。
在步骤904中,运行组织树控件对应的程序代码,生成第一页面。
在一种可能的实现方式中,通过运行组织树控件对应的程序代码,生成第一页面,第一页面为组织树控件对应的页面。基于计算机设备为终端设备,生成第一页面之后,还可以显示第一页面。如图4所示为本申请实施例提供的一种第一页面的显示示意图。基于计算机设备为服务器,得到组织树控件的程序代码之后,将组织树控件的程序代码发送至终端设备,由终端设备运行组织树控件对应的程序代码,生成并显示第一页面。或者,基于计算机设备为服务器,获取到组织树控件的程序代码之后,运行组织树控件的程序代码,生成第一页面,向终端设备发送第一页面,由终端设备显示第一页面。
上述方法为组织树控件生成唯一的控件编码,根据组织树控件的控件编码和组织树控件的控件标签编码,生成组织树控件对应的程序代码,进而通过运行组织树控件对应的程序代码,生成组织树控件对应的页面,使得生成的页面为组织树控件对应的页面,具有针对性和唯一性。
图12是本申请实施例提供的一种数据获取方法的流程图,该方法应用于上述图1所示的实施环境中的终端设备101,该方法包括下述步骤。
在步骤1201中,显示第一页面,第一页面中显示有第一控件,第一控件用于获取第一节点的节点数据,第一页面基于组织树控件的程序代码生成,第一节点为终端设备中登录的第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点。
在一种可能的实现方式中,显示第一页面的过程与上述步骤206的过程类似,在此不再进行赘述。
在步骤1202中,基于针对第一控件的第一操作,向服务器发送获取请求,获取请求中携带令牌信息和组织树控件的控件标识,令牌信息基于第一对象的对象信息确定,令牌信息和控件标识用于服务器确定第一节点。
在一种可能的实现方式中,基于针对第一控件的第一操作,向服务器发送获取请求的过程与上述步骤207的过程类似,在此不再进行赘述。
在步骤1203中,接收服务器返回的第一节点的节点数据。
在一种可能的实现方式中,接收服务器返回的第一节点的节点数据的过程与上述步骤210的过程类似,在此不再进行赘述。
上述方法通过向服务器发送获取请求的方式,以使服务器获取到第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的第一节点的节点数据,从而接收服务器发送的第一节点的节点数据。该方法无需获取组织树控件的控件标识对应的全部节点的节点数据,一定程度上减少获取节点数据所需的时间,进而能够提高数据获取的效率。
图13是本申请实施例提供的一种数据获取方法的流程图,该方法应用于上述图1所示的实施环境中的服务器102,该方法包括下述步骤。
在步骤1301中,接收终端设备发送的获取请求,获取请求中携带令牌信息和组织树控件的控件标识,获取请求用于获取第一节点的节点数据,令牌信息基于终端设备中登录的第一对象的对象信息确定,第一节点为第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点。
在一种可能的实现方式中,接收终端设备发送的获取请求的过程与上述步骤208的过程类似,在此不再进行赘述。
在步骤1302中,对令牌信息进行解析,得到第一对象的对象信息。
在一种可能的实现方式中,对令牌信息进行解析,得到第一对象的对象信息的过程与上述步骤208的过程类似,在此不再进行赘述。
在步骤1303中,根据第一对象的对象信息和控件标识,确定第一节点。
在一种可能的实现方式中,根据第一对象的对象信息和控件标识,确定第一节点的过程与上述步骤208的过程类似,在此不再进行赘述。
在步骤1304中,向终端设备发送第一节点的节点数据。
在一种可能的实现方式中,向终端设备发送第一节点的节点数据的过程与上述步骤209的过程类似,在此不再进行赘述。
上述方法通过接收终端设备发送的获取请求,来获取第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的第一节点的节点数据,进而向终端设备返回第一节点的节点数据。该方法无需获取组织树控件的控件标识对应的全部节点的节点数据,一定程度上减少获取节点数据所需的时间,进而能够提高数据获取的效率。
本申请实施例采用内置模板原理,通过freemark(一种模板引擎)将功能模板和控件模板全部替换,由控件模板生成组织树的属性、样式、校验、权限;由功能模板生成对应前端功能代码、后端功能代码,最终生成对应组织树控件。图14是本申请实施例提供的一种生成组织树控件的原理的示意图。包括解析引擎和动态模板。
在解析引擎中,根据APP(Application,应用程序)端组织树控件、Web(World WideWeb,万维网)端组织树控件以及服务端组织树控件,通过FreeMaker(用java语言编写的模版引擎)、Layui(采用自身模块规范编写的前端UI框架)、Spring-Cloud(微服务架构的一站式解决方案)、VUE(一套构建用户界面的渐进式框架)、Jgit(一种插件)、Axios(基于promise的HTTP库)、Less(预处理器),生成组织树控件。
动态模板包括核心事件层、功能模板、控件模板和模板缓存池。其中,功能模板包括展示层模板和服务层模板,控件模板包括属性、样式、校验和权限。功能模板和控件模板通过事务处理、连接池、动态映射、Mysql(关系型数据库管理系统)、Oracle(一种数据库管理系统)、Redis(Remote Dictionary Server,远程字典服务)得到。
图15所示为本申请实施例提供的一种数据获取装置的结构示意图,如图15所示,该装置包括:
显示模块1501,用于显示第一页面,第一页面中显示有第一控件,第一控件用于获取第一节点的节点数据,第一页面基于组织树控件的程序代码生成,第一节点为终端设备中登录的第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;
发送模块1502,用于基于针对第一控件的第一操作,向服务器发送获取请求,获取请求中携带令牌信息和组织树控件的控件标识,令牌信息基于第一对象的对象信息确定,令牌信息和控件标识用于服务器确定第一节点;
接收模块1503,用于接收服务器返回的第一节点的节点数据。
在一种可能的实现方式中,显示模块1501,还用于根据第一节点的节点数据,显示第二页面,第二页面中显示有第一节点,第二页面中未显示有第一对象不可访问的节点和第一节点的下级节点。
在一种可能的实现方式中,第二页面中还显示有第二控件,第二控件用于获取第二节点的节点数据,第二节点为第一节点的任意一个下级节点;
装置还包括:
获取模块,用于基于针对第二控件的第二操作,获取查询条件;
发送模块1502,还用于向服务器发送查询条件;
接收模块1503,还用于接收服务器返回的第二节点的节点数据;
显示模块1501,还用于在第二页面中取消显示第一节点,根据第二节点的节点数据,在第二页面中显示第二节点。
在一种可能的实现方式中,发送模块1502,还用于基于针对第一节点的触发操作,向服务器发送第一获取请求,第一获取请求中包括第一节点的节点编码,第一获取请求用于获取第一节点的下一级节点的节点数据;
接收模块1503,还用于接收服务器基于第一获取请求返回的候选节点的节点数据,候选节点为第一节点的下一级节点;
显示模块1501,还用于根据候选节点的节点数据,在第二页面中显示候选节点。
上述装置通过向服务器发送获取请求的方式,以使服务器获取到第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的第一节点的节点数据,从而接收服务器发送的第一节点的节点数据。无需获取组织树控件的控件标识对应的全部节点的节点数据,一定程度上减少获取节点数据所需的时间,进而能够提高数据获取的效率。
图16所示为本申请实施例提供的一种数据获取装置的结构示意图,如图16所示,该装置包括:
接收模块1601,用于接收终端设备发送的获取请求,获取请求中携带令牌信息和组织树控件的控件标识,获取请求用于获取第一节点的节点数据,令牌信息基于终端设备中登录的第一对象的对象信息确定,第一节点为第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;
解析模块1602,用于对令牌信息进行解析,得到第一对象的对象信息;
确定模块1603,用于根据第一对象的对象信息和控件标识,确定第一节点;
发送模块1604,用于向终端设备发送第一节点的节点数据。
在一种可能的实现方式中,接收模块1501,还用于接收终端设备发送的查询条件;
确定模块1603,还用于根据第一节点的节点数据和查询条件,确定第二节点,第二节点为第一节点的任意一个下级节点;
发送模块1604,还用于向终端设备发送第二节点的节点数据。
在一种可能的实现方式中,第一节点的节点数据中包括第一节点的节点编码;
确定模块1603,用于确定查询条件对应的条件编码;根据第一节点的节点编码和查询条件的条件编码,确定第一节点和查询条件之间的关系;基于第一节点和查询条件之间的关系满足关系要求,在组织树包括的节点中,确定节点编码包含条件编码的参考节点;根据参考节点,确定第二节点。
在一种可能的实现方式中,确定模块1603,用于基于参考节点的个数为一个,将参考节点作为第二节点;基于参考节点的个数为多个,获取各个参考节点的节点编码;根据各个参考节点的节点编码,确定多个参考节点中的根节点,将根节点作为第二节点。
在一种可能的实现方式中,接收模块1601,还用于接收终端设备发送的第一获取请求,第一获取请求中包括第一节点的节点编码,第一获取请求用于获取第一节点的下一级节点的节点数据;
确定模块1603,还用于根据第一节点的节点编码,确定候选节点,候选节点为第一节点的下一级节点;
发送模块1604,还用于向终端设备发送候选节点的节点数据。
上述装置通过接收终端设备发送的获取请求,来获取第一对象在组织树控件的控件标识对应的多个节点中可访问的、层级最高的第一节点的节点数据,进而向终端设备返回第一节点的节点数据。无需获取组织树控件的控件标识对应的全部节点的节点数据,一定程度上减少获取节点数据所需的时间,进而能够提高数据获取的效率。
图17所示为本申请实施例提供的一种页面生成装置的结构示意图,如图17所示,该装置包括:
显示模块1701,用于显示第三页面,第三页面中显示有多个候选控件;
生成模块1702,用于基于针对组织树控件的第三操作,生成组织树控件的控件编码,组织树控件为多个候选控件中的任一个控件;
获取模块1703,用于根据组织树控件的控件标签编码和组织树控件的控件编码,获取组织树控件对应的程序代码;
生成模块1702,还用于运行组织树控件对应的程序代码,生成第一页面,第一页面为组织树控件对应的页面。
在一种可能的实现方式中,计算机设备中包括数据库,数据库中存储有已生成控件编码的候选控件对应的控件编码;
生成模块1702,用于基于针对组织树控件的第三操作,获取组织树控件的控件标题;根据组织树控件的控件标题,生成第一编码;基于数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在第一编码,将第一编码作为组织树控件的控件编码;基于数据库中存储的已生成控件编码的候选控件对应的控件编码中存在第一编码,根据组织树控件的控件标题,生成第二编码,第二编码与第一编码不同;基于数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在第二编码,将第二编码作为组织树控件的控件编码。
在一种可能的实现方式中,生成模块1702,用于根据组织树控件的控件标题,获取第一信息;基于随机信息生成器,获取第二信息;根据第一信息和第二信息,生成第一编码。
在一种可能的实现方式中,获取模块1703,用于基于组织树控件的控件标签编码指示组织树控件不是子表,获取组织树控件需要生成的数据库字段;基于组织树控件需要生成的数据库字段中包括目标内容,获取组织树控件需要生成的数据库字段对应的第一属性数组和组织树控件的数据类型对应的第二属性数组;根据第一属性数组、第二属性数组和组织树控件的控件编码,获取组织树控件对应的程序代码。
在一种可能的实现方式中,获取模块1703,用于根据组织树控件的控件编码,对第一属性数组进行调整,得到第三属性数组;根据第三属性数组和第二属性数组,获取组织树控件对应的程序代码。
在一种可能的实现方式中,获取模块1703,还用于基于组织树控件需要生成的数据库字段中不包括目标内容,根据组织树控件的控件编码和组织树控件的数据类型,获取组织树控件对应的程序代码。
在一种可能的实现方式中,获取模块1703,用于基于组织树控件的控件标签编码指示组织树控件是子表,对组织树控件的控件编码进行调整,得到参考编码,参考编码为驼峰形式;根据组织树控件需要生成的数据库字段对应的第一属性数组、组织树控件的数据类型对应的第二属性数组和参考编码,获取组织树控件对应的程序代码。
上述装置为组织树控件生成唯一的控件编码,根据组织树控件的控件编码和组织树控件的控件标签编码,生成组织树控件对应的程序代码,进而通过运行组织树控件对应的程序代码,生成组织树控件对应的页面,使得生成的页面为组织树控件对应的页面,具有针对性和唯一性。
应理解的是,上述提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图18示出了本申请一个示例性实施例提供的终端设备1800的结构框图。该终端设备1800可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端设备1800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端设备1800包括有:处理器1801和存储器1802。
处理器1801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1801可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1801所执行以实现本申请中图12所示的方法实施例提供的数据获取方法和图9所示的方法实施例提供的页面生成方法。
在一些实施例中,终端设备1800还可选包括有:外围设备接口1803和至少一个外围设备。处理器1801、存储器1802和外围设备接口1803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1803相连。具体地,外围设备包括:射频电路1804、显示屏1805、摄像头组件1806、音频电路1807、定位组件1808和电源1809中的至少一种。
外围设备接口1803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1801和存储器1802。在一些实施例中,处理器1801、存储器1802和外围设备接口1803被集成在同一芯片或电路板上;在一些其他实施例中,处理器1801、存储器1802和外围设备接口1803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1804可以通过至少一种无线通信协议来与其它终端设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1805是触摸显示屏时,显示屏1805还具有采集在显示屏1805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1801进行处理。此时,显示屏1805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1805可以为一个,设置在终端设备1800的前面板;在另一些实施例中,显示屏1805可以为至少两个,分别设置在终端设备1800的不同表面或呈折叠设计;在另一些实施例中,显示屏1805可以是柔性显示屏,设置在终端设备1800的弯曲表面上或折叠面上。甚至,显示屏1805还可以设置成非矩形的不规则图形,也即异形屏。显示屏1805可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1806用于采集图像或视频。可选地,摄像头组件1806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端设备1800的前面板,后置摄像头设置在终端设备1800的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1801进行处理,或者输入至射频电路1804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备1800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1801或射频电路1804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1807还可以包括耳机插孔。
定位组件1808用于定位终端设备1800的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1808可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1809用于为终端设备1800中的各个组件进行供电。电源1809可以是交流电、直流电、一次性电池或可充电电池。当电源1809包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端设备1800还包括有一个或多个传感器1810。该一个或多个传感器1810包括但不限于:加速度传感器1811、陀螺仪传感器1812、压力传感器1813、指纹传感器1814、光学传感器1815以及接近传感器1816。
加速度传感器1811可以检测以终端设备1800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1811可以用于检测重力加速度在三个坐标轴上的分量。处理器1801可以根据加速度传感器1811采集的重力加速度信号,控制显示屏1805以横向视图或纵向视图进行用户界面的显示。加速度传感器1811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1812可以检测终端设备1800的机体方向及转动角度,陀螺仪传感器1812可以与加速度传感器1811协同采集用户对终端设备1800的3D动作。处理器1801根据陀螺仪传感器1812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1813可以设置在终端设备1800的侧边框和/或显示屏1805的下层。当压力传感器1813设置在终端设备1800的侧边框时,可以检测用户对终端设备1800的握持信号,由处理器1801根据压力传感器1813采集的握持信号进行左右手识别或快捷操作。当压力传感器1813设置在显示屏1805的下层时,由处理器1801根据用户对显示屏1805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1814用于采集用户的指纹,由处理器1801根据指纹传感器1814采集到的指纹识别用户的身份,或者,由指纹传感器1814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1814可以被设置在终端设备1800的正面、背面或侧面。当终端设备1800上设置有物理按键或厂商Logo时,指纹传感器1814可以与物理按键或厂商Logo集成在一起。
光学传感器1815用于采集环境光强度。在一个实施例中,处理器1801可以根据光学传感器1815采集的环境光强度,控制显示屏1805的显示亮度。具体地,当环境光强度较高时,调高显示屏1805的显示亮度;当环境光强度较低时,调低显示屏1805的显示亮度。在另一个实施例中,处理器1801还可以根据光学传感器1815采集的环境光强度,动态调整摄像头组件1806的拍摄参数。
接近传感器1816,也称距离传感器,通常设置在终端设备1800的前面板。接近传感器1816用于采集用户与终端设备1800的正面之间的距离。在一个实施例中,当接近传感器1816检测到用户与终端设备1800的正面之间的距离逐渐变小时,由处理器1801控制显示屏1805从亮屏状态切换为息屏状态;当接近传感器1816检测到用户与终端设备1800的正面之间的距离逐渐变大时,由处理器1801控制显示屏1805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图16中示出的结构并不构成对终端设备1800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图19为本申请实施例提供的服务器的结构示意图,该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)1901和一个或多个的存储器1902,其中,该一个或多个存储器1902中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器1901加载并执行以实现上述图13所示的方法实施例提供的数据获取方法和图9所示的方法实施例提供的页面生成方法。当然,该服务器1900还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1900还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以使计算机实现上述任一种数据获取方法和页面生成方法。
可选地,上述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品中存储有至少一条计算机指令,该至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种数据获取方法和页面生成方法。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的对象信息、节点数据、组织树控件的控件标签编码、组织树控件需要生成的数据库字段和组织树控件的数据类型等都是在充分授权的情况下获取的。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种数据获取方法,其特征在于,所述方法包括:
显示第一页面,所述第一页面中显示有第一控件,所述第一控件用于获取第一节点的节点数据,所述第一页面基于组织树控件的程序代码生成,所述第一节点为终端设备中登录的第一对象在所述组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;
基于针对所述第一控件的第一操作,向服务器发送获取请求,所述获取请求中携带令牌信息和所述组织树控件的控件标识,所述令牌信息基于所述第一对象的对象信息确定,所述令牌信息和所述控件标识用于所述服务器确定所述第一节点;
接收所述服务器返回的所述第一节点的节点数据。
2.根据权利要求1所述的方法,其特征在于,所述接收所述服务器返回的所述第一节点的节点数据之后,所述方法还包括:
根据所述第一节点的节点数据,显示第二页面,所述第二页面中显示有所述第一节点,所述第二页面中未显示有所述第一对象不可访问的节点和所述第一节点的下级节点。
3.根据权利要求2所述的方法,其特征在于,所述第二页面中还显示有第二控件,所述第二控件用于获取第二节点的节点数据,所述第二节点为所述第一节点的任意一个下级节点;
所述显示第二页面之后,所述方法还包括:
基于针对所述第二控件的第二操作,获取查询条件;
向所述服务器发送所述查询条件;
接收所述服务器返回的所述第二节点的节点数据;
在所述第二页面中取消显示所述第一节点,根据所述第二节点的节点数据,在所述第二页面中显示所述第二节点。
4.根据权利要求2或3所述的方法,其特征在于,所述显示第二页面之后,所述方法还包括:
基于针对所述第一节点的触发操作,向所述服务器发送第一获取请求,所述第一获取请求中包括所述第一节点的节点编码,所述第一获取请求用于获取所述第一节点的下一级节点的节点数据;
接收所述服务器基于所述第一获取请求返回的候选节点的节点数据,所述候选节点为所述第一节点的下一级节点;
根据所述候选节点的节点数据,在所述第二页面中显示所述候选节点。
5.一种数据获取方法,其特征在于,所述方法包括:
接收终端设备发送的获取请求,所述获取请求中携带令牌信息和组织树控件的控件标识,所述获取请求用于获取第一节点的节点数据,所述令牌信息基于所述终端设备中登录的第一对象的对象信息确定,所述第一节点为所述第一对象在所述组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;
对所述令牌信息进行解析,得到所述第一对象的对象信息;
根据所述第一对象的对象信息和所述控件标识,确定所述第一节点;
向所述终端设备发送所述第一节点的节点数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述终端设备发送的查询条件;
根据所述第一节点的节点数据和所述查询条件,确定第二节点,所述第二节点为所述第一节点的任意一个下级节点;
向所述终端设备发送所述第二节点的节点数据。
7.根据权利要求6所述的方法,其特征在于,所述第一节点的节点数据中包括所述第一节点的节点编码;
所述根据所述第一节点的节点数据和所述查询条件,确定第二节点,包括:
确定所述查询条件对应的条件编码;
根据所述第一节点的节点编码和所述查询条件的条件编码,确定所述第一节点和所述查询条件之间的关系;
基于所述第一节点和所述查询条件之间的关系满足关系要求,在所述组织树包括的节点中,确定节点编码包含所述条件编码的参考节点;
根据所述参考节点,确定所述第二节点。
8.根据权利要求7所述的方法,其特征在于,所述根据所述参考节点,确定所述第二节点,包括:
基于所述参考节点的个数为一个,将所述参考节点作为所述第二节点;
基于所述参考节点的个数为多个,获取各个参考节点的节点编码;
根据所述各个参考节点的节点编码,确定多个参考节点中的根节点,将所述根节点作为所述第二节点。
9.根据权利要求5至8任一所述的方法,其特征在于,所述向所述终端设备发送所述第一节点的节点数据之后,所述方法还包括:
接收所述终端设备发送的第一获取请求,所述第一获取请求中包括所述第一节点的节点编码,所述第一获取请求用于获取所述第一节点的下一级节点的节点数据;
根据所述第一节点的节点编码,确定候选节点,所述候选节点为所述第一节点的下一级节点;
向所述终端设备发送所述候选节点的节点数据。
10.一种页面生成方法,其特征在于,所述方法包括:
显示第三页面,所述第三页面中显示有多个候选控件;
基于针对组织树控件的第三操作,生成所述组织树控件的控件编码,所述组织树控件为所述多个候选控件中的任一个控件;
基于所述组织树控件的控件标签编码指示所述组织树控件不是子表,获取所述组织树控件需要生成的数据库字段;基于所述组织树控件需要生成的数据库字段中包括目标内容,获取所述组织树控件需要生成的数据库字段对应的第一属性数组和所述组织树控件的数据类型对应的第二属性数组;根据所述第一属性数组、所述第二属性数组和所述组织树控件的控件编码,获取所述组织树控件对应的程序代码;基于所述组织树控件的控件标签编码指示所述组织树控件是子表,对所述组织树控件的控件编码进行调整,得到参考编码,所述参考编码为驼峰形式;根据所述组织树控件需要生成的数据库字段对应的第一属性数组、所述组织树控件的数据类型对应的第二属性数组和所述参考编码,获取所述组织树控件对应的程序代码;
运行所述组织树控件对应的程序代码,生成第一页面,所述第一页面为所述组织树控件对应的页面。
11.根据权利要求10所述的方法,其特征在于,计算机设备中包括数据库,所述数据库中存储有已生成控件编码的候选控件对应的控件编码;
所述基于针对组织树控件的第三操作,生成所述组织树控件的控件编码,包括:
基于针对所述组织树控件的第三操作,获取所述组织树控件的控件标题;
根据所述组织树控件的控件标题,生成第一编码;
基于所述数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在所述第一编码,将所述第一编码作为所述组织树控件的控件编码;
基于所述数据库中存储的已生成控件编码的候选控件对应的控件编码中存在所述第一编码,根据所述组织树控件的控件标题,生成第二编码,所述第二编码与所述第一编码不同;基于所述数据库中存储的已生成控件编码的候选控件对应的控件编码中不存在所述第二编码,将所述第二编码作为所述组织树控件的控件编码。
12.根据权利要求11所述的方法,其特征在于,所述根据所述组织树控件的控件标题,生成第一编码,包括:
根据所述组织树控件的控件标题,获取第一信息;
基于随机信息生成器,获取第二信息;
根据所述第一信息和所述第二信息,生成所述第一编码。
13.根据权利要求11所述的方法,其特征在于,所述根据所述第一属性数组、所述第二属性数组和所述组织树控件的控件编码,获取所述组织树控件对应的程序代码,包括:
根据所述组织树控件的控件编码,对所述第一属性数组进行调整,得到第三属性数组;
根据所述第三属性数组和所述第二属性数组,获取所述组织树控件对应的程序代码。
14.根据权利要求11所述的方法,其特征在于,所述获取所述组织树控件需要生成的数据库字段之后,所述方法还包括:
基于所述组织树控件需要生成的数据库字段中不包括所述目标内容,根据所述组织树控件的控件编码和所述组织树控件的数据类型,获取所述组织树控件对应的程序代码。
15.一种数据获取装置,其特征在于,所述装置包括:
显示模块,用于显示第一页面,所述第一页面中显示有第一控件,所述第一控件用于获取第一节点的节点数据,所述第一页面基于组织树控件的程序代码生成,所述第一节点为终端设备中登录的第一对象在所述组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;
发送模块,用于基于针对所述第一控件的第一操作,向服务器发送获取请求,所述获取请求中携带令牌信息和所述组织树控件的控件标识,所述令牌信息基于所述第一对象的对象信息确定,所述令牌信息和所述控件标识用于所述服务器确定所述第一节点;
接收模块,用于接收所述服务器返回的所述第一节点的节点数据。
16.一种数据获取装置,其特征在于,所述装置包括:
接收模块,用于接收终端设备发送的获取请求,所述获取请求中携带令牌信息和组织树控件的控件标识,所述获取请求用于获取第一节点的节点数据,所述令牌信息基于所述终端设备中登录的第一对象的对象信息确定,所述第一节点为所述第一对象在所述组织树控件的控件标识对应的多个节点中可访问的、层级最高的节点;
解析模块,用于对所述令牌信息进行解析,得到所述第一对象的对象信息;
确定模块,用于根据所述第一对象的对象信息和所述控件标识,确定所述第一节点;
发送模块,用于向所述终端设备发送所述第一节点的节点数据。
17.一种页面生成装置,其特征在于,所述装置包括:
显示模块,用于显示第三页面,所述第三页面中显示有多个候选控件;
生成模块,用于基于针对组织树控件的第三操作,生成所述组织树控件的控件编码,所述组织树控件为所述多个候选控件中的任一个控件;
获取模块,用于基于所述组织树控件的控件标签编码指示所述组织树控件不是子表,获取所述组织树控件需要生成的数据库字段;基于所述组织树控件需要生成的数据库字段中包括目标内容,获取所述组织树控件需要生成的数据库字段对应的第一属性数组和所述组织树控件的数据类型对应的第二属性数组;根据所述第一属性数组、所述第二属性数组和所述组织树控件的控件编码,获取所述组织树控件对应的程序代码;基于所述组织树控件的控件标签编码指示所述组织树控件是子表,对所述组织树控件的控件编码进行调整,得到参考编码,所述参考编码为驼峰形式;根据所述组织树控件需要生成的数据库字段对应的第一属性数组、所述组织树控件的数据类型对应的第二属性数组和所述参考编码,获取所述组织树控件对应的程序代码;
所述生成模块,还用于运行所述组织树控件对应的程序代码,生成第一页面,所述第一页面为所述组织树控件对应的页面。
18.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使所述计算机设备实现如权利要求1至4任一所述的数据获取方法,或者,以使所述计算机设备实现如权利要求5至9任一所述的数据获取方法,或者,以使所述计算机设备实现如权利要求10至14任一所述的页面生成方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现如权利要求1至4任一所述的数据获取方法,或者,以使所述计算机设备实现如权利要求5至9任一所述的数据获取方法,或者,以使所述计算机设备实现如权利要求10至14任一所述的页面生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211153904.9A CN115495169B (zh) | 2022-09-21 | 2022-09-21 | 数据获取、页面生成方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211153904.9A CN115495169B (zh) | 2022-09-21 | 2022-09-21 | 数据获取、页面生成方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115495169A CN115495169A (zh) | 2022-12-20 |
CN115495169B true CN115495169B (zh) | 2023-05-12 |
Family
ID=84470303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211153904.9A Active CN115495169B (zh) | 2022-09-21 | 2022-09-21 | 数据获取、页面生成方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495169B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117331642B (zh) * | 2023-11-30 | 2024-03-19 | 广州嘉为科技有限公司 | 一种基于分层组织的节点管理方法、装置、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569824B (zh) * | 2016-11-07 | 2019-08-13 | 腾讯科技(深圳)有限公司 | 页面数据编译的方法和装置、页面渲染的方法和装置 |
CN110572363B (zh) * | 2019-08-05 | 2021-11-19 | 视联动力信息技术股份有限公司 | 基于视联网的产品展示方法、装置、电子设备及存储介质 |
CN110929494A (zh) * | 2019-12-06 | 2020-03-27 | 宏图智能物流股份有限公司 | 一种基于层次树的报表下拉框的生成方法 |
CN111679827B (zh) * | 2020-04-28 | 2024-04-26 | 深圳赛安特技术服务有限公司 | H5页面生成方法、装置、设备及存储介质 |
CN114047852A (zh) * | 2021-11-15 | 2022-02-15 | 北京字跳网络技术有限公司 | 信息处理方法、装置、电子设备和存储介质 |
CN114840293A (zh) * | 2022-04-22 | 2022-08-02 | 平安国际智慧城市科技股份有限公司 | 树形控件的渲染方法、装置、计算机设备及存储介质 |
-
2022
- 2022-09-21 CN CN202211153904.9A patent/CN115495169B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115495169A (zh) | 2022-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9602286B2 (en) | Electronic device and method for extracting encrypted message | |
CN111241499B (zh) | 应用程序登录的方法、装置、终端及存储介质 | |
EP3989113A1 (en) | Facial image transmission method, numerical value transfer method and apparatus, and electronic device | |
CN111949680A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN107924432B (zh) | 电子装置及其变换内容的方法 | |
CN115495169B (zh) | 数据获取、页面生成方法、装置、设备及可读存储介质 | |
CN113515987A (zh) | 掌纹识别方法、装置、计算机设备及存储介质 | |
CN113506086B (zh) | 任务发布方法、装置、计算机设备及介质 | |
CN110825465B (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN111694892B (zh) | 资源转移方法、装置、终端、服务器及存储介质 | |
CN116431138B (zh) | 组件模板的建立方法和装置、表单建立方法和装置 | |
CN110956469A (zh) | 支付方法、装置、设备及存储介质 | |
CN110738491A (zh) | 数值转移方法、系统、装置、终端及存储介质 | |
CN113204724B (zh) | 创建互动信息的方法、装置、电子设备及存储介质 | |
CN114816600B (zh) | 会话消息显示方法、装置、终端及存储介质 | |
CN113987326B (zh) | 资源推荐方法、装置、计算机设备及介质 | |
CN112764824B (zh) | 触发应用程序中身份验证的方法、装置、设备及存储介质 | |
CN111128115B (zh) | 信息验证方法、装置、电子设备及存储介质 | |
CN114124405B (zh) | 业务处理方法、系统、计算机设备及计算机可读存储介质 | |
CN111125095B (zh) | 数据前缀添加的方法、装置、电子设备及介质 | |
CN111131619B (zh) | 账号切换处理的方法、装置及系统 | |
CN111191254B (zh) | 访问校验方法、装置、计算机设备及存储介质 | |
CN112560472B (zh) | 一种识别敏感信息的方法及装置 | |
CN110968549B (zh) | 文件存储的方法、装置、电子设备及介质 | |
CN113064981A (zh) | 群组头像生成方法、装置、设备及存储介质 |
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 |