WO2016095737A1 - 客户端界面动态显示方法及其系统 - Google Patents
客户端界面动态显示方法及其系统 Download PDFInfo
- Publication number
- WO2016095737A1 WO2016095737A1 PCT/CN2015/096795 CN2015096795W WO2016095737A1 WO 2016095737 A1 WO2016095737 A1 WO 2016095737A1 CN 2015096795 W CN2015096795 W CN 2015096795W WO 2016095737 A1 WO2016095737 A1 WO 2016095737A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- client
- component
- data
- server
- relationship
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Definitions
- the present application relates to data display technologies, and in particular, to a client interface dynamic display method and system thereof.
- a component is a data structure entity that performs a specific function, such as rendering a client user interface ("UI") or for recycling client data.
- a business component is a component with a certain business meaning, and has no universality. For example, in an e-commerce system, a page component in a mobile phone order system that provides a product transportation mode selection function.
- the purpose of the application is to provide a client interface dynamic display method and system thereof, which reduces the release frequency of the client version and supports dynamic service expansion.
- an embodiment of the present application discloses a client interface dynamic display method, where a client and a server have a data structure protocol with respect to a basic component, and the method includes the following steps:
- the business data corresponding to the basic component is obtained from the server, and the business data includes relationship data reflecting the relationship between the basic components;
- the embodiment of the present application further discloses a client interface dynamic display system, the system includes a client and a server, and the client and the server have a data structure protocol with respect to the basic component;
- Clients include:
- a first obtaining module configured to acquire, from the server, service data corresponding to the basic component when the client interface needs to be updated, where the service data includes relationship data that reflects a relationship between the basic components;
- a first parsing module configured to parse the business data according to the data structure protocol to obtain relationship data that records a relationship between the basic components
- the first loading module is configured to load the basic component according to the relationship data.
- the client and the server formulate a data structure protocol with respect to some basic components, so that when a new service interface needs to be presented, only the service data corresponding to the specific basic component needs to be sent to the client.
- the client can obtain the relational data of the specific basic component according to the data structure protocol, and display the basic component without relying on the release of the version, and support the dynamic service expansion while reducing the frequency of the client version release.
- service data may further include component structure data of each basic component, and the client obtains component structure data from the server, which may make the dynamic display of the client interface more flexible, so as to better support dynamic service expansion.
- FIG. 1 is a schematic flowchart of a method for dynamically displaying a client interface according to a first embodiment of the present application
- FIG. 2 is a schematic structural diagram of a client interface dynamic display system in a third embodiment of the present application.
- FIG. 1 is a schematic flowchart of a dynamic display method of the client interface.
- the client interface dynamic display method includes the following steps 101-103.
- Step 101 Set a data structure protocol corresponding to the basic component and the basic component.
- the client and server have data structure protocols for the base components, and each base component is applicable to the same business data of the data structure.
- the basic components here can be specified in advance.
- some atomic components with certain versatility can be specified in advance as the base components.
- the business data here includes relational data that reflects the relationship between the underlying components.
- Step 102 When the client interface needs to be updated, the service data corresponding to the basic component is obtained from the server, and the service data is parsed according to the data structure protocol to obtain relationship data that records the relationship between the basic components.
- the relationship data includes a linkage relationship and a hierarchical relationship between the base components.
- the linkage relationship includes an agreement between the base components on a linkage rule when a state change occurs. When a component changes correspondingly as the state of another component changes, there is a linkage relationship between the two components.
- the hierarchical relationship includes a nested relationship (or a parent-child relationship) between the underlying components.
- Step 103 Load the basic component according to the relationship data.
- the client and the server formulate a data structure protocol with respect to some basic components, so that when a new service interface needs to be presented, only the service data corresponding to the specific basic component needs to be sent to
- the client and the client can obtain the relationship data of the specific basic component according to the data structure protocol, and display the basic component without relying on the release of the version, and support the dynamic service expansion while reducing the frequency of the client version release.
- the second embodiment of the present application relates to a client interface dynamic display method.
- the second embodiment has been modified as follows on the basis of the first embodiment.
- Retrieving the client's input values with the underlying components of the input type facilitates the dynamic interaction with the client. Specifically:
- the basic component includes the basic component of the input type, and the dynamic display method of the client interface further includes the following steps:
- the client Upon receiving the business data corresponding to the underlying component of the input type from the server, the client returns an input value corresponding to the underlying component of the input type to the server.
- the server obtains input values from the client corresponding to the underlying components of the input type according to the data structure protocol.
- the above data structure protocol includes a definition rule for the input value. For example, if the input content is a phone number, the rule that the phone number is 6-20 digits must be met; if the input content is an ID card number, the rule that the ID card number can only be a number or a letter must be met. If the input does not meet the above rules, the corresponding error message will be given.
- the server modifies the values of other components associated with the base component of the input type based on the input values of the underlying components corresponding to the input type obtained from the client.
- the change of the state of each basic component may have a set of asynchronous linkage states corresponding thereto: a change of the attribute value of an attribute displayed by the A component may cause the B component to correspond accordingly.
- a change in the attribute value of the attribute which in turn causes a change in the attribute value of the corresponding attribute of the C component or a change in the state of the corresponding attribute (eg, the editable state of the attribute becomes uneditable, etc.).
- the transition of this series of states can be done locally or remote requests, depending on the dynamic configuration of the server.
- the asynchronous linkage state set of each base component will be configured according to the corresponding service.
- the client interface dynamic display system in the embodiment of the present application provides an operation interface to the user
- some functions are open to a specific user whose user information meets the set condition.
- the status of the underlying components corresponding to these functions is configured based on user information.
- the configuration information of the status of the basic component may be fed back to the client by the server according to the user information, and the client loads the basic component according to the configuration information returned by the server.
- the business data may also include component structure data of each base component.
- the dynamic display of the client interface can be made more flexible to better support dynamic service expansion. Specifically:
- the dynamic display method of the client interface further includes the following steps:
- the component structure data of each basic component of the client interface is obtained from the server;
- the client loads the base components based on the component structure data.
- the above component structure data may include the size of the component, the location of the component, and the display order of the component, etc., which are set depending on the specific business scenario.
- the server and client have developed a data structure protocol for the following basic components:
- the switch component corresponds to an "on" or "off” operation in the client, wherein the previous name indicates the name of the switch, such as whether the service D needs to be used; the checked boolean type indicates the two states of the switch; the latter name is the switch The name of the component, such as "Use Business D.”
- Input component Input ⁇ name,placeholder,value,regex,errorMsg,plugin ⁇
- the input component represents an input box, where regex is a regular expression used to verify the input content. If the verification fails, the corresponding error message will be given in errorMsg; the plugin determines the way the input content is obtained, for example Whether it is obtained through a local address book, or through a local calendar, or even a normal user input.
- the cascading component is used to implement cascading selection functions, such as national, provincial, city, and district selection, and is a dynamic component, where expand represents whether the component initial state is expanded or closed, and target represents a sub-cascading component.
- the tag component is used to display the copy information, where value is the content of the display; url represents the corresponding link; css represents the color, thickness, and italics of the copy.
- the prompt component is displayed with a bubble prompt information, wherein the prompt type tipsType determines whether the resource presentation form is a piece of html code (requires the client's webview to display), or a url, or a picture.
- Calendar component DatePicker ⁇ title, beginDate, endDate, invalidWeekday, selectedDate, placeholder ⁇
- the calendar component is a control for the date selection, where selectedDate represents the selected date, selected The range of choice is between beginDate and endDate, but if the selected date is in this week's invalidWeekday, it is not optional.
- the options carry all the candidates of the selected component, and the optionId of the selected item is finally synchronized to the selectedId for the final data submission.
- both the server and the client will comply.
- the client receives the business data output by the server, it already knows how to display it. Therefore, this has the advantage, for example, the need to prompt the "seven days no reason to return" copy information on the next page, at this time the server can achieve this requirement by outputting the business data corresponding to the tag component Lable according to the established data structure protocol.
- the client needs to display the input box, and the content input by the user must also conform to the rules of the mobile phone number.
- the server needs to output the service corresponding to the input component Input according to the established data structure protocol.
- the data is fine, that is, the scalability is reflected here.
- the merchandise is divided into market merchandise and mall merchandise.
- the mall item does not support the business E.
- the mall goods support business E.
- the mall goods should not support the business E.
- using the data structure protocol on the underlying component will handle such a requirement: after the server sorts out the transaction of the mall item, it outputs the business data corresponding to the type of the toggle component (Toggle), and then the client can display a sliding button. To open or close the business E.
- the recycling of page data is also recycled according to the component granularity (or component-based recycling).
- the value of the checked attribute is directly obtained.
- the server receives the data corresponding to the input component Input for example, the input component Input of the memo is directly obtained, and the corresponding value is directly obtained.
- the data corresponding to the input component Input is submitted to the server.
- the server will reclaim the value corresponding to the value field (note that the user who uses the input component Input does not have When you enter any content, the server does not reclaim the value. Only after the user fills in the content, the server will backfill the filled content into the value field of its input component Input).
- the server After receiving the data corresponding to all submitted input components, the server obtains the key element information (content of the memo, receipt address information, selection of shipping mode, selection of service, etc.), and then assembles into final parameters (for example Order parameters).
- the server may output not only the service data corresponding to the component, but also the structural information of the page component, such as the order between the components, and the sequential output depends on the specific Business scenario.
- the output order of a normal order page is: the delivery address, the shop information, the store offer, the product information, the product offer, the point, and the confirmation purchase button.
- the transaction type F it expects to place the delivery address under the order information.
- the server only needs to adjust the page output structure information after determining the transaction type F (the server has a default configuration file). ).
- the definition of the above basic components is not limited to the form of the local component, and the interaction between the local component and the webview can be completed by the bridge component Bridge.
- the bridge component Bridge After the bridge component Bridge is selected, the page jumps to the html5 page, and then a series of operations on the html5 page is performed. The resulting final data is passed back to the bridge component Bridge.
- the bridge component Bridge covers some key attributes: title, desc, url, and info.
- the key attribute url is the url that the user jumps after triggering the bridge component Bridge.
- the content of the page corresponding to the url can be extended by itself. User is on this page
- the result of the operation is backfilled into the info field, which completes the data transfer between the webview component and the local component.
- the mainstream client platforms are Android and ios.
- the client's page is written in a language that the system itself can recognize.
- Android implements local components in Java language
- ios implements local components in object c, but these cannot be implemented across platform. So for the rapid iteration of the business, some components will be implemented across platforms.
- the html segment is loaded by the webview (both Android and ios platforms) to complete the rendering; and when the user performs the operation on the page, the result of the operation will be completed. Return to the bridge component Bridge to complete the recycling of the parameters on the component.
- the above basic components can also be in the form of the Term component Terms, which covers these key attributes: title, desc, url, and notAgreeMsg.
- Term component Terms which covers these key attributes: title, desc, url, and notAgreeMsg.
- the instruction code can be stored in any type of computer-accessible memory (eg, permanent or modifiable, volatile or non-volatile, solid state Or non-solid, fixed or replaceable media, etc.).
- the memory may be, for example, Programmable Array Logic ("PAL"), Random Access Memory (RAM), or Programmable Read Only Memory (PROM). "), Read-Only Memory (“ROM”), Electrically Erasable Programmable ROM (“EEPROM”), Disk, CD, Digital Versatile Disc , referred to as "DVD”) and so on.
- PAL Programmable Array Logic
- RAM Random Access Memory
- PROM Programmable Read Only Memory
- ROM Read-Only Memory
- EEPROM Electrically Erasable Programmable ROM
- Disk CD
- DVD Digital Versatile Disc
- the third embodiment of the present application relates to a client interface dynamic display system.
- Figure 2 is the customer The schematic diagram of the structure of the dynamic display system of the end interface.
- the client interface dynamic display system includes a client and a server, and the client and the server have a data structure protocol with respect to the base component.
- Each base component is suitable for business data with the same data structure. It can be understood that the basic components here can be specified in advance. For example, some atomic components with certain versatility can be specified in advance as the base components.
- the business data here includes relational data that reflects the relationship between the underlying components.
- the client includes:
- the first obtaining module is configured to obtain, when the client interface needs to be updated, the service data corresponding to the basic component from the server, where the service data includes relationship data that reflects the relationship between the basic components.
- the first parsing module is configured to parse the business data according to the data structure protocol to obtain relationship data that records the relationship between the basic components. as well as
- the first loading module is configured to load the basic component according to the relationship data.
- the relationship data includes a linkage relationship and a hierarchical relationship between the base components.
- the linkage relationship includes an agreement between the base components on a linkage rule when a state change occurs. When a component changes correspondingly as the state of another component changes, there is a linkage relationship between the two components.
- the hierarchical relationship includes a nested relationship (or a parent-child relationship) between the underlying components.
- the client interface dynamic display system of the embodiment includes a client and a server, and the client and the server formulate a data structure protocol with respect to some basic components, so that when a new service interface needs to be presented, only the service corresponding to the specific basic component is needed.
- the data is sent to the client, and the client can obtain the relationship data of the specific basic component according to the data structure protocol, and display the basic component without relying on the release of the version, and reduce the frequency of the client version release while supporting the dynamic service. Expansion.
- the first embodiment is a method embodiment corresponding to the present embodiment, and the present embodiment can be implemented in cooperation with the first embodiment.
- the related technical details mentioned in the first embodiment are still effective in the present embodiment, and are not described herein again in order to reduce repetition.
- the relevant technical details obtained can also be applied in the first embodiment.
- the fourth embodiment of the present application relates to a client interface dynamic display system.
- the fourth embodiment has made the following improvements on the basis of the third embodiment.
- Retrieving the client's input values with the underlying components of the input type facilitates the dynamic interaction with the client. Specifically:
- the base component includes the base components of the input type.
- the client further includes a return module for returning an input value corresponding to the base component of the input type to the server upon receiving the business data corresponding to the input component of the input type from the server.
- the server also includes a second acquisition module for obtaining an input value of the base component corresponding to the input type from the client according to the data structure protocol.
- the above data structure protocol includes a definition rule for the input value.
- the server further includes a linkage module for modifying values of other components associated with the base component of the input type according to the input values of the base component corresponding to the input type acquired by the second obtaining module from the client.
- the service data may further include component structure data of each basic component, and the client obtains component structure data from the server, which may make the dynamic display of the client interface more flexible, so as to better support dynamic service expansion.
- component structure data of each basic component
- the client obtains component structure data from the server, which may make the dynamic display of the client interface more flexible, so as to better support dynamic service expansion.
- the client also includes:
- the third obtaining module is configured to acquire component structure data of each basic component of the client interface from the server when the client interface needs to be updated. as well as
- the second loading module is configured to load each basic component according to the component structure data.
- the second embodiment is a method embodiment corresponding to the present embodiment, and the present embodiment can be implemented in cooperation with the second embodiment.
- Related technical details mentioned in the second embodiment are in this implementation The method is still valid, in order to reduce the repetition, it will not be repeated here. Accordingly, the related art details mentioned in the present embodiment can also be applied to the second embodiment.
- the basic components mentioned in this application can make up for the shortcomings of the long service support period.
- a set of interactive business protocols is developed (the interaction here is, for example, the presentation of the next page and the recycling of the order parameters).
- Abstract unchanging or functionally similar business data into a base model such as abstraction as a base component: Select, Input, Switch, Label, Table, and so on.
- the advantage of this convention is that in the case of server business changes, the data model can be moved closer to the basic components, so that the client can directly display new business features while complying with the previous protocol analysis.
- a similar concept is adopted.
- the key data of the selection component Select is selectId
- the key data of the input component Input is value
- the key data of the switch component Toggle is the closed attribute of the switch. In this way, the frequency of client version release is reduced, and the expansion of dynamic services is supported.
- each module mentioned in each device implementation manner of the present application is a logic module.
- a logic module may be a physical module, a part of a physical module, or multiple physical entities.
- the combined implementation of modules, the physical implementation of these logic modules themselves is not the most important, the combination of the functions implemented by these logic modules is the key to solving the technical problems raised by the present application.
- the foregoing device implementations of the present application do not introduce modules that are not closely related to solving the technical problems raised by the present application, which does not indicate that the above device implementation does not exist in other embodiments. Module.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Computer And Data Communications (AREA)
Abstract
一种客户端界面动态显示方法及其系统,该客户端界面动态显示方法中,客户端与服务器关于一些基础组件制定了数据结构协议,从而在需要展现新的业务界面时,只需要将相应于特定基础组件的业务数据发送给客户端,客户端就能根据数据结构协议获取特定基础组件的关系数据,将基础组件进行展示,而不依赖于版本的发布,在减少客户端版本发布的频率的同时,支持动态业务扩展。此外,利用输入类型的基础组件来回收客户端的输入值,有利于扩展与客户端的动态交互业务。
Description
本申请涉及数据显示技术,特别涉及客户端界面动态显示方法及其系统。
组件为完成特定功能的数据结构实体,例如用来完成客户端用户界面(User Interface,简称“UI”)的渲染或者用于客户端数据的回收。业务组件为具有一定业务含义的组件,不具有通用性,例如电子商务系统中,手机订单系统中的提供商品运输方式选择功能的页面组件。
通常为了在移动通讯工具上的客户端支持新的业务组件,必须要等到客户端的新的版本发布才可以支持,如此业务组件支持的周期会很长,导致移动通讯客户端中的业务与PC端的业务不匹配性上升,影响用户在移动通讯客户端的体验。
发明内容
本申请的目的在于提供一种客户端界面动态显示方法及其系统,减少了客户端版本的发布频率,支持动态业务扩展。
为解决上述技术问题,本申请的实施方式公开了一种客户端界面动态显示方法,客户端与服务器关于基础组件具有数据结构协议,该方法包括以下步骤:
在需要更新客户端界面时,从服务器获取相应于基础组件的业务数据,业务数据包括反映基础组件之间关系的关系数据;
根据数据结构协议解析业务数据以获取记载基础组件之间关系的关系
数据;
根据关系数据加载基础组件。
本申请的实施方式还公开了一种客户端界面动态显示系统,系统包括客户端和服务器,客户端与服务器关于基础组件具有数据结构协议;
客户端包括:
第一获取模块,用于在需要更新客户端界面时,从服务器获取相应于基础组件的业务数据,业务数据包括反映基础组件之间关系的关系数据;
第一解析模块,用于根据数据结构协议解析业务数据以获取记载基础组件之间关系的关系数据;以及
第一加载模块,用于根据关系数据加载基础组件。
本申请实施方式与现有技术相比,主要区别及其效果在于:
在本申请的客户端界面动态显示方法中,客户端与服务器关于一些基础组件制定了数据结构协议,从而在需要展现新的业务界面时,只需要将相应于特定基础组件的业务数据发送给客户端,客户端就能根据数据结构协议获取特定基础组件的关系数据,将基础组件进行展示,而不依赖于版本的发布,在减少客户端版本发布的频率的同时,支持动态业务扩展。
进一步地,利用输入类型的基础组件来回收客户端的输入值,有利于扩展与客户端的动态交互业务。
进一步地,业务数据还可以包括各基础组件的组件结构数据,由客户端从服务器获取组件结构数据,可以使得客户端界面的动态显示更灵活,以更好地支持动态业务扩展。
图1是本申请第一实施方式中一种客户端界面动态显示方法的流程示意图;
图2是本申请第三实施方式中一种客户端界面动态显示系统的结构示意图。
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
本申请第一实施方式涉及一种客户端界面动态显示方法。图1是该客户端界面动态显示方法的流程示意图。
如图1所示,该客户端界面动态显示方法包括以下步骤101-103。
步骤101,设定基础组件及基础组件对应的数据结构协议。
客户端与服务器关于基础组件具有数据结构协议,每一基础组件适用于数据结构相同的业务数据。可以理解,这里的基础组件可以预先指定。例如,可以预先指定一些具有一定通用性的原子组件为基础组件。这里的业务数据包括反映基础组件之间关系的关系数据。
步骤102,在需要更新客户端界面时,从服务器获取相应于基础组件的业务数据,并根据数据结构协议解析所述业务数据以获取记载所述基础组件之间的关系的关系数据。
所述关系数据包括基础组件之间的联动关系和层次关系。所述联动关系包括基础组件之间对在发生状态变化时的联动规则的约定。当一个组件随另外一个组件的状态变化而相应发生变化,则这两个组件之间具有联动关系。
所述层次关系包括基础组件之间的嵌套关系(或称为父子关系)。
步骤103,根据所述关系数据加载所述基础组件。
在本实施方式的客户端界面动态显示方法中,客户端与服务器关于一些基础组件制定了数据结构协议,从而在需要展现新的业务界面时,只需要将相应于特定基础组件的业务数据发送给客户端,客户端就能根据数据结构协议获取特定基础组件的关系数据,将所述基础组件进行展示,而不依赖于版本的发布,在减少客户端版本发布的频率的同时,支持动态业务扩展。
本申请第二实施方式涉及一种客户端界面动态显示方法。第二实施方式在第一实施方式的基础上进行了以下改进。
利用输入类型的基础组件来回收客户端的输入值,有利于扩展与客户端的动态交互业务。具体地说:
基础组件包括输入类型的基础组件,上述客户端界面动态显示方法还包括以下步骤:
从服务器接收到相应于输入类型的基础组件的业务数据时,客户端将相应于该输入类型的基础组件的输入值返回给服务器。
在服务器端,服务器根据数据结构协议从客户端获取相应于该输入类型的基础组件的输入值。
优选地,上述数据结构协议包括对输入值的限定规则。例如若输入的内容是电话号码,则必须符合电话号码是6-20位数字的规则;若输入的内容是身份证号码,则必须符合身份证号码只能为数字或字母的规则。如果输入的内容不符合上述规则,则会给出相应的错误提示信息。
此外,服务器根据从客户端获取的相应于输入类型的基础组件的输入值,对与该输入类型的基础组件相关联的其他组件的值进行修改。
可以理解,在本申请的各个实施方式中,每个基础组件的状态的变化可以有一套与其对应的异步联动状态集:如A组件展示的某一属性的属性值的变化,会导致B组件相应属性的属性值的变化,进而导致C组件相应属性的属性值的变化或相应属性的状态的变化(比如所述属性的可编辑状态变成不可编辑状态等)。同时这一系列状态的变迁,可以在本地完成或发远程请求完成,其取决于服务器的动态的配置。每个基础组件的异步联动状态集将根据相应业务进行配置。例如,本申请实施例中的客户端界面动态显示系统在向用户提供操作界面时,某些功能对于用户信息满足设定条件的特定用户开放。这些功能对应的基础组件的状态会根据用户信息来进行配置。对基础组件的状态的配置信息可以由服务器根据用户信息反馈给客户端,客户端根据服务器返回的所述配置信息加载所述基础组件。
此外,所述业务数据还可以包括各基础组件的组件结构数据。由客户端从服务器获取组件结构数据,可以使得客户端界面的动态显示更灵活,以更好地支持动态业务扩展。具体地说:
该客户端界面动态显示方法还包括以下步骤:
在需要更新客户端界面时,从服务器获取该客户端界面的各基础组件的组件结构数据;
客户端根据组件结构数据加载各基础组件。
可以理解,在本申请的各个实施方式中,上述组件结构数据可以包括组件的大小、组件的位置以及组件的显示顺序等等,其依赖于具体的业务场景进行设置。
在本申请的一个优选的例子中,服务器和客户端对以下基础组件制定了数据结构协议:
●开关组件Toggle={name,checked,name}
该开关组件对应客户端中的“开”或“关”操作,其中前一个name表示开关的名称,比如是否需要使用业务D;checked的布尔类型表示开关的两种状态;后一个name即该开关组件的名称,比如“使用业务D”。
●输入组件Input={name,placeholder,value,regex,errorMsg,plugin}
该输入组件表示一个输入框,其中regex是用来校验输入内容的正则表达式,若校验不通过,则相应的错误信息会在errorMsg中给出;plugin决定输入的内容的获取方式,例如是通过本地通讯录来获取(contacts),还是通过本地日历来获取(calendar),甚至是普通的用户输入。
●级联组件Cascade={title,expand,target}
该级联组件用来实现级联选择功能,例如国家、省、市、区的选择,是一个动态的组件,其中expand表示组件初始状态是展开还是闭合,target表示子级联组件。
●标签组件Label={value,url,css={color,isBold,isItalic}}
该标签组件用来展示文案信息,其中value就是展示的内容;url表示对应的链接;css表示文案的颜色、粗细、斜体。
●提示组件Tips={resource,tipsType={html|url|img}}
该提示组件以气泡提示信息展示,其中提示类型tipsType决定了resource的展现形式是一段html代码(需要客户端的webview来展示),还是一个url,或者是一张图片。
●日历组件DatePicker={title,beginDate,endDate,invalidWeekday,selectedDate,placeholder}
该日历组件为日期选择的控件,其中selectedDate表示选中的日期,选
择的范围就是在beginDate和endDate之间,但若选中的日期在本周的invalidWeekday中,也是不可以选择的。
●选择组件Select={selectedId,disabled,title,options={name,value,optionId}}
在该选择组件中,options承载了该选择组件的所有候选项,选中项的optionId最终会同步到selectedId上,用于最后的数据提交。
对于上述的数据结构协议,服务器和客户端都会遵守。当客户端接收到服务器输出的业务数据的时候,它已经知道该如何来展示。所以这就有个好处,例如需要在下单页提示“七天无理由退货”的文案信息,此时服务器只要按既定的数据结构协议,输出相应于标签组件Lable的业务数据,就可以实现该需求。再或者增加了话费交易类型,需要客户端展现输入框,同时用户输入的内容还必须符合手机号码的规则,此时服务器需要做的就是按照既定的数据结构协议,输出相应于输入组件Input的业务数据就可以了,即扩展性就体现在这里了。
在另一个具体的例子中,商品分为集市商品和商城商品。在以往的业务逻辑中商城商品不支持业务E。但有了新的业务场景后,使得商城商品支持业务E。按照前述的业务约定,商城商品不该支持业务E。但使用关于基础组件的数据结构协议会对这样的需求这样处理:服务器梳理出商城商品的交易之后,会输出相应于开关组件(Toggle)类型的业务数据,然后客户端就可以展示一个滑动的按钮,用以打开或关闭业务E。
除了展示之外,对于页面数据的回收(例如下单页需要将关键数据提交到服务器完成订单的创建)也是按照组件粒度来回收(或者说以组件为单位来回收)。例如服务器接收相应于开关组件Toggle的数据之后,直接获取其checked属性的数值;服务器接收相应于输入组件Input的数据之后,例如实现备忘录的输入组件Input,直接获取其对应的value。具体地,当用户
填写了备忘录之后,会将相应于该输入组件Input的数据提交给服务器,对于输入组件Input,服务器会回收其中的value字段对应的数值(需要注意的是,当使用该输入组件Input的用户并没有输入任何内容时,服务器不回收数值,只有当用户填写了内容之后,服务器才会将填写的内容回填到其输入组件Input的value字段上来)。服务器接收到相应于所有提交的输入组件的数据之后,获取其中的关键元素信息(备忘录的内容、收货地址信息、运送方式的选择、服务的选择等等),然后组装成最终的参数(例如下单参数)。
此外,可以理解,在本申请的各个实施例中,服务器输出的可以不仅仅是相应于组件的业务数据,同时也可以输出页面组件的结构信息,例如组件之间的顺序,顺序的输出依赖具体的业务场景。例如普通的下单页的输出顺序为:收货地址、店铺信息、店铺优惠、商品信息、商品优惠、积分、确认购买按钮。而对于交易类型F,它期望将收货地址放到订单信息的下面,对于这种情况服务器只要判断出交易类型F之后,将页面输出结构信息做一调整即可(服务器有一份默认的配置文件)。
由上可以看到业务增加了,客户端展现变了,但客户端并未依赖版本的发布。
可以理解,上述仅为一优选的例子,在本申请的其他实施例中,也可以根据具体业务需要设置其他类型的基础组件,来实现界面动态显示和参数回收,不限于上述基础组件。
此外,可以理解,上述基础组件的定义不限于本地组件的形式,可以通过桥接组件Bridge完成本地组件和webview的交互,选中了桥接组件Bridge之后,跳到html5页面,然后将html5页面上一系列操作得到的最终数据回传给桥接组件Bridge。具体地,桥接组件Bridge涵盖一些关键属性:title、desc、url、info,其中关键属性url是用户触发了该桥接组件Bridge之后跳转的url,这个url对应的页面中的内容可以自行扩展。用户在此页面上进行
一系列操作之后,会将操作的结果回填给info字段,即完成了webview组件到本地组件之间的数据传输。
目前主流客户端平台为Android和ios,一般来说客户端的页面以系统本身能够认识的语言来编写,比如Android以java语言实现本地组件,而ios以object c来实现本地组件,但这些不能实现跨平台。所以为了业务快速迭代,部分组件会采用跨平台实现。例如,当用户选中上述的桥接组件Bridge的时候,会通过webview(Android和ios两平台都有该执行引擎)加载html片段来完成渲染;且当用户在该页面进行操作之后,会将操作的结果返回给桥接组件Bridge完成该组件上参数的回收。
上述基础组件也可以为条款组件Terms的形式,此条款组件Terms涵盖这些关键属性:title、desc、url以及notAgreeMsg。该条款组件Terms展示的时候,会有个链接用户描述具体的条款信息,而desc用来描述简单的条款信息;当用户没有同意条款而提交下单会提示这个信息:notAgreeMsg。
本申请的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本申请是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(Programmable Array Logic,简称“PAL”)、随机存取存储器(Random Access Memory,简称“RAM”)、可编程只读存储器(Programmable Read Only Memory,简称“PROM”)、只读存储器(Read-Only Memory,简称“ROM”)、电可擦除可编程只读存储器(Electrically Erasable Programmable ROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(Digital Versatile Disc,简称“DVD”)等等。
本申请第三实施方式涉及一种客户端界面动态显示系统。图2是该客户
端界面动态显示系统的结构示意图。该客户端界面动态显示系统包括客户端和服务器,客户端与服务器关于基础组件具有数据结构协议。每一基础组件适用于数据结构相同的业务数据。可以理解,这里的基础组件可以预先指定。例如,可以预先指定一些具有一定通用性的原子组件为基础组件。这里的业务数据包括反映基础组件之间关系的关系数据。
如图2所示,该客户端包括:
第一获取模块,用于在需要更新客户端界面时,从服务器获取相应于基础组件的业务数据,业务数据包括反映基础组件之间关系的关系数据。
第一解析模块,用于根据数据结构协议解析业务数据以获取记载基础组件之间关系的关系数据。以及
第一加载模块,用于根据关系数据加载基础组件。
所述关系数据包括基础组件之间的联动关系和层次关系。所述联动关系包括基础组件之间对在发生状态变化时的联动规则的约定。当一个组件随另外一个组件的状态变化而相应发生变化,则这两个组件之间具有联动关系。
所述层次关系包括基础组件之间的嵌套关系(或称为父子关系)。
本实施方式的客户端界面动态显示系统包括客户端和服务器,客户端与服务器关于一些基础组件制定了数据结构协议,从而在需要展现新的业务界面时,只需要将相应于特定基础组件的业务数据发送给客户端,客户端就能根据数据结构协议获取特定基础组件的关系数据,将基础组件进行展示,而不依赖于版本的发布,在减少客户端版本发布的频率的同时,支持动态业务扩展。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提
到的相关技术细节也可应用在第一实施方式中。
本申请第四实施方式涉及一种客户端界面动态显示系统。第四实施方式在第三实施方式的基础上进行了以下改进。
利用输入类型的基础组件来回收客户端的输入值,有利于扩展与客户端的动态交互业务。具体地说:
基础组件包括输入类型的基础组件。
客户端还包括返回模块,用于在从服务器接收到相应于输入类型的基础组件的业务数据时,将相应于该输入类型的基础组件的输入值返回给服务器。
服务器还包括第二获取模块,用于根据数据结构协议从客户端获取相应于输入类型的基础组件的输入值。
优选地,上述数据结构协议包括对输入值的限定规则。
此外,服务器还包括联动模块,用于根据上述第二获取模块从客户端获取的相应于输入类型的基础组件的输入值,对与该输入类型的基础组件相关联的其他组件的值进行修改。
此外,所述业务数据还可以包括各基础组件的组件结构数据,由客户端从服务器获取组件结构数据,可以使得客户端界面的动态显示更灵活,以更好地支持动态业务扩展。具体地说:
该客户端还包括:
第三获取模块,用于在需要更新客户端界面时,从服务器获取该客户端界面的各基础组件的组件结构数据。以及
第二加载模块,用于根据组件结构数据来加载各基础组件。
第二实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施
方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
综上,本申请中提及的基础组件可以弥补业务支持周期长的缺陷。在客户端和服务器双方约定的前提下,制定出一套交互的业务协议(这里的交互例如为:下单页的展现和下单参数的回收)。将不变的或者功能类似的业务数据抽象成基础模型,如抽象为基础组件:Select,Input,Switch,Label,Table等。此约定带来的好处就是在服务器业务变化的情况下,可以将数据模型向基础组件上来靠拢,如此客户端在遵守先前协议解析的前提下,就可以直接展现新的业务特征。同时对于参数的回收,也是通过类似的理念,如选择组件Select关键数据是selectId,而输入组件Input关键数据为value,开关组件Toggle的关键数据是开关的关闭属性checked。这样,减少了客户端版本发布的频率,支持动态业务的扩展。
需要说明的是,本申请各设备实施方式中提到的各模块都是逻辑模块,在物理上,一个逻辑模块可以是一个物理模块,也可以是一个物理模块的一部分,还可以以多个物理模块的组合实现,这些逻辑模块本身的物理实现方式并不是最重要的,这些逻辑模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施方式并没有将与解决本申请所提出的技术问题关系不太密切的模块引入,这并不表明上述设备实施方式并不存在其它的模块。
需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、
方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施方式,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (10)
- 一种客户端界面动态显示方法,其特征在于,客户端与服务器关于基础组件具有数据结构协议,所述方法包括以下步骤:在需要更新所述客户端界面时,从所述服务器获取相应于所述基础组件的业务数据,所述业务数据包括反映基础组件之间关系的关系数据;根据所述数据结构协议解析所述业务数据以获取记载基础组件之间关系的关系数据;根据所述关系数据加载所述基础组件。
- 根据权利要求1所述的客户端界面动态显示方法,其特征在于,所述基础组件包括输入类型的基础组件,所述方法还包括以下步骤:从所述服务器接收到相应于输入类型的基础组件的业务数据时,所述客户端将相应于该输入类型的基础组件的输入值返回给所述服务器;所述服务器根据所述数据结构协议从所述客户端获取相应于所述输入类型的基础组件的输入值。
- 根据权利要求1所述的客户端界面动态显示方法,其特征在于,所述关系数据包括基础组件之间的联动关系和层次关系。
- 根据权利要求2所述的客户端界面动态显示方法,其特征在于,所述方法还包括以下步骤:所述服务器根据从所述客户端获取的相应于所述输入类型的基础组件的输入值,对与该输入类型的基础组件相关联的其他组件的值进行修改。
- 根据权利要求1所述的客户端界面动态显示方法,其特征在于,该方法还包括以下步骤:在需要更新所述客户端界面时,从所述服务器获取所述客户端界面的各 基础组件的组件结构数据;所述客户端根据所述组件结构数据来加载各基础组件。
- 一种客户端界面动态显示系统,其特征在于,所述系统包括客户端和服务器,所述客户端与所述服务器关于基础组件具有数据结构协议;所述客户端包括:第一获取模块,用于在需要更新所述客户端界面时,从所述服务器获取相应于所述基础组件的业务数据,所述业务数据包括反映基础组件之间关系的关系数据;第一解析模块,用于根据所述数据结构协议解析所述业务数据以获取记载基础组件之间关系的关系数据;以及第一加载模块,用于根据所述关系数据加载所述基础组件。
- 根据权利要求6所述的客户端界面动态显示系统,其特征在于,所述基础组件包括输入类型的基础组件;所述客户端还包括返回模块,用于在从所述服务器接收到相应于输入类型的基础组件的业务数据时,将相应于该输入类型的基础组件的输入值返回给所述服务器;所述服务器包括第二获取模块,用于根据所述数据结构协议从所述客户端获取相应于所述输入类型的基础组件的输入值。
- 根据权利要求6所述的客户端界面动态显示系统,其特征在于,所述关系数据包括基础组件之间的联动关系和层次关系。
- 根据权利要求7所述的客户端界面动态显示系统,其特征在于,所述服务器还包括联动模块,用于根据所述第二获取模块从所述客户端获取的相应于所述输入类型的基础组件的输入值,对与该输入类型的基础组件相关联的其他组件的值进行修改。
- 根据权利要求6所述的客户端界面动态显示系统,其特征在于,所述客户端还包括第三获取模块,用于在需要更新所述客户端界面时,从所述服务器获取所述该客户端界面的各基础组件的组件结构数据;以及第二加载模块,用于根据所述组件结构数据来加载各基础组件。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410802921.X | 2014-12-18 | ||
| CN201410802921.XA CN105760149B (zh) | 2014-12-18 | 2014-12-18 | 客户端界面动态显示方法及其系统 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016095737A1 true WO2016095737A1 (zh) | 2016-06-23 |
Family
ID=56125902
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2015/096795 Ceased WO2016095737A1 (zh) | 2014-12-18 | 2015-12-09 | 客户端界面动态显示方法及其系统 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN105760149B (zh) |
| WO (1) | WO2016095737A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108984206A (zh) * | 2018-08-09 | 2018-12-11 | 聚好看科技股份有限公司 | 一种数据发送的方法和设备 |
| CN110427186A (zh) * | 2019-07-26 | 2019-11-08 | 广东信通通信有限公司 | 一种基于视窗的指挥业务页面信息展示方法和装置及设备 |
| CN111625220A (zh) * | 2020-05-26 | 2020-09-04 | 北京思特奇信息技术股份有限公司 | 一种页面组件的自动组装方法、系统、装置和存储介质 |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108073618A (zh) * | 2016-11-14 | 2018-05-25 | 北京航天长峰科技工业集团有限公司 | 一种基于图数据结构的动态显示方法 |
| CN106844467B (zh) * | 2016-12-21 | 2021-06-22 | 大唐网络有限公司 | 数据展示方法和装置 |
| CN108334387B (zh) * | 2017-01-20 | 2021-03-16 | 阿里巴巴集团控股有限公司 | 动态界面渲染方法及装置 |
| CN107038042B (zh) * | 2017-02-07 | 2020-08-28 | 阿里巴巴集团控股有限公司 | 一种业务执行的方法及装置 |
| CN113055702B (zh) * | 2018-02-08 | 2023-06-27 | 广州虎牙信息科技有限公司 | 一种展示业务组件的方法、系统、以及客户端 |
| CN110557414B (zh) * | 2018-05-30 | 2022-12-13 | 浙江天猫技术有限公司 | 一种业务场景下载方法、装置及设备 |
| CN108804197B (zh) * | 2018-06-19 | 2022-04-05 | 北京五八信息技术有限公司 | 一种动态组件化实现方法、装置、设备及存储介质 |
| CN110968310B (zh) * | 2018-09-30 | 2023-06-27 | 北京国双科技有限公司 | 网页组件渲染方法及系统 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030177175A1 (en) * | 2001-04-26 | 2003-09-18 | Worley Dale R. | Method and system for display of web pages |
| CN101211363A (zh) * | 2006-12-29 | 2008-07-02 | 国际商业机器公司 | 更新分布式网络上的浏览器页面元素的方法和系统 |
| CN101364236A (zh) * | 2008-09-18 | 2009-02-11 | 中兴通讯股份有限公司 | 一种web页面的数据处理装置及处理方法 |
| CN101788994A (zh) * | 2009-08-14 | 2010-07-28 | 成都迪捷信息技术有限公司 | 一种数据展示模型建立方法、数据展示方法及装置 |
| US20100306366A1 (en) * | 2009-06-02 | 2010-12-02 | International Business Machines Corporation | System for enabling rich network applications |
| US20110066935A1 (en) * | 2009-09-11 | 2011-03-17 | Suchisubhra Sinha | Data file and rule driven synchronous or asynchronous document generation |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101126977A (zh) * | 2007-08-28 | 2008-02-20 | 激动集团股份有限公司 | 一种基于isapi的web静态页面生成方法 |
-
2014
- 2014-12-18 CN CN201410802921.XA patent/CN105760149B/zh active Active
-
2015
- 2015-12-09 WO PCT/CN2015/096795 patent/WO2016095737A1/zh not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030177175A1 (en) * | 2001-04-26 | 2003-09-18 | Worley Dale R. | Method and system for display of web pages |
| CN101211363A (zh) * | 2006-12-29 | 2008-07-02 | 国际商业机器公司 | 更新分布式网络上的浏览器页面元素的方法和系统 |
| CN101364236A (zh) * | 2008-09-18 | 2009-02-11 | 中兴通讯股份有限公司 | 一种web页面的数据处理装置及处理方法 |
| US20100306366A1 (en) * | 2009-06-02 | 2010-12-02 | International Business Machines Corporation | System for enabling rich network applications |
| CN101788994A (zh) * | 2009-08-14 | 2010-07-28 | 成都迪捷信息技术有限公司 | 一种数据展示模型建立方法、数据展示方法及装置 |
| US20110066935A1 (en) * | 2009-09-11 | 2011-03-17 | Suchisubhra Sinha | Data file and rule driven synchronous or asynchronous document generation |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108984206A (zh) * | 2018-08-09 | 2018-12-11 | 聚好看科技股份有限公司 | 一种数据发送的方法和设备 |
| CN110427186A (zh) * | 2019-07-26 | 2019-11-08 | 广东信通通信有限公司 | 一种基于视窗的指挥业务页面信息展示方法和装置及设备 |
| CN110427186B (zh) * | 2019-07-26 | 2023-08-15 | 广东信通通信有限公司 | 一种基于视窗的指挥业务页面信息展示方法和装置及设备 |
| CN111625220A (zh) * | 2020-05-26 | 2020-09-04 | 北京思特奇信息技术股份有限公司 | 一种页面组件的自动组装方法、系统、装置和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN105760149B (zh) | 2020-05-05 |
| CN105760149A (zh) | 2016-07-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2016095737A1 (zh) | 客户端界面动态显示方法及其系统 | |
| US11886806B2 (en) | Templating process for a multi-page formatted document | |
| USRE50043E1 (en) | Method for associating third party content with online document signing | |
| US9460415B2 (en) | Determining semantic information of business applications | |
| US20220245336A1 (en) | Automatic template generation with inbuilt template logic interface | |
| KR101203335B1 (ko) | 회계 데이터와 함께 워드 프로세서를 사용하는 방법 | |
| US9208122B2 (en) | Client application integration for workflows | |
| CN112015626B (zh) | 用户行为的记录方法、装置及设备 | |
| US20060184569A1 (en) | Data processing systems and methods | |
| US20150326664A1 (en) | System and method for managing data transactions between applications | |
| CN111796727B (zh) | 一种界面数据处理方法及装置 | |
| TWI505690B (zh) | 用於資料處理系統影像網路通訊之系統及方法 | |
| CN111966428A (zh) | 页面处理方法及装置、页面回溯方法及装置 | |
| CN103164217B (zh) | 用于后端系统的独立数据实体 | |
| US20140156355A1 (en) | Bulk update in an enterprise management system | |
| CN114648398A (zh) | 凭证生成方法、装置、计算机设备和存储介质 | |
| HK1226154B (zh) | 客户端界面动态显示方法及其系统 | |
| HK1226154A1 (zh) | 客户端界面动态显示方法及其系统 | |
| CN114219471B (zh) | 基于aop的pos结算方法、装置、计算机设备和介质 | |
| CN116028105A (zh) | 信息配置方法及相关装置 | |
| CN116466920A (zh) | 应用服务软件架构生成方法和装置,存储介质和电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15869245 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 15869245 Country of ref document: EP Kind code of ref document: A1 |