CN114489830B - 配置页面操作方法、处理方法和计算设备 - Google Patents

配置页面操作方法、处理方法和计算设备 Download PDF

Info

Publication number
CN114489830B
CN114489830B CN202111590619.9A CN202111590619A CN114489830B CN 114489830 B CN114489830 B CN 114489830B CN 202111590619 A CN202111590619 A CN 202111590619A CN 114489830 B CN114489830 B CN 114489830B
Authority
CN
China
Prior art keywords
configuration
page
information
display
item
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
Application number
CN202111590619.9A
Other languages
English (en)
Other versions
CN114489830A (zh
Inventor
吴子骄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202111590619.9A priority Critical patent/CN114489830B/zh
Publication of CN114489830A publication Critical patent/CN114489830A/zh
Application granted granted Critical
Publication of CN114489830B publication Critical patent/CN114489830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

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)

Abstract

公开了一种配置页面操作方法、处理方法和计算设备。所述方法包括:通过反射来解析配置接口中包含的配置信息并获取配置信息中包含的显示信息;将所述显示信息作为数据来驱动所述配置页面中对应配置项的显示;以及监听所述配置项的操作事件并通过反射获取用户设置操作对应的参数值,其中,所述参数值用于更改所述配置页面所属App中与所述配置信息相对应的配置。由此,通过将新配置项的添加抽象成在UI配置界面中配置名称、配置类型的显示和配置对应持久化参数值的存储,将配置变化通过注解形式在配置的声明阶段完成注入,从而能够以添加新的配置接口声明来代替针对每个新配置项的读写逻辑的添加,提升针对可配置项的增删效率。

Description

配置页面操作方法、处理方法和计算设备
技术领域
本公开涉及一种APP应用领域,尤其涉及一种配置页面操作方法、处理方法和计算设备。
背景技术
在不同的应用场景中,需要为APP的使用者提供针对该APP的某些可配置项。例如,在开发测试场景中,需要为测试人员提供在APP的用户界面内,将APP置于预发环境下的选项。换句话说,需要APP将开启预发环境的接口可视化地提供给APP用户,并且能够根据用户的操作将对应设置传入。
在现有技术中,每增加一个可配置项,都需要为该配置项编写单独且完整的读接口和写接口逻辑。这些添加工作是繁琐且易出错的。
因此,需要一种改进的配置项添加方法。
发明内容
本公开要解决的一个技术问题是提供一种改进的配置页面操作方法,该方法能够通过反射获取写配置所需要的信息并由此生成配置项,还能够通过动态代理实现读配置,由此通过简单的配置接口声明就能够实现新配置项的添加,从而大幅提升的APP配置的灵活性。
根据本公开的第一个方面,提供了一种配置页面操作方法,包括:通过反射来解析配置接口中包含的配置信息并获取配置信息中包含的显示信息;将所述显示信息作为数据来驱动所述配置页面中对应配置项的显示;以及监听所述配置项的操作事件并通过反射获取用户设置操作对应的参数值,其中,所述参数值用于更改所述配置页面所属App中与所述配置信息相对应的配置。所述配置信息可以是在所述配置接口定义之外添加的配置接口声明。
可选地,所述方法还包括:在所述参数值已被设置的情况下接收到显示所述配置页面的指令时,通过动态代理获取所述配置信息,并读取所述配置信息下的所述参数值;以及在所述配置页面中显示与所述参数值相对应的参数设置。
可选地,获取配置信息中包含的显示信息包括:获取所述配置信息中包含的注解用于所述配置表单的显示。
可选地,所述配置接口中包括用于设置所述配置页面中配置项显示规则的初始注解,并且将所述显示信息作为数据驱动所述配置页面中对应配置项的显示还包括:基于所述初始注解,解析所述配置信息中包含的注解作为所述显示信息。
可选地,基于所述初始注解,根据所述配置信息中注解的规定,设置对应的配置项参数操作框的显示默认值。
可选地,将所述配置信息作为数据驱动所述配置页面中对应配置项的显示包括:基于所述配置信息中包含的文字内容显示与所述配置项的待配置内容;以及基于所述配置信息中的类型选项显示所述配置项的参数操作框。
可选地,所述方法还包括:添加对应于新配置项的新配置信息,其中,基于所述新的配置信息通过所述配置接口的动态代理实现在所述配置页面中对应新配置项的显示。
可选地,添加对应于新配置项的新配置信息包括:增加所述配置接口的新配置声明;在所述新配置声明的方法声明中规定配置项内容、配置类型和对应参数的默认值。
根据本公开的第二个方面,提供了一种配置页面处理方法,包括:响应于接收到显示配置页面的第一用户操作,获取所述配置页面相对应的配置接口信息,通过反射获取所述配置接口中方法声明的注解,并显示包括与所述注解相对应的配置项的所述配置页面;以及响应于接收到用户对所述配置页面中显示配置项所包括的操作框的第二用户操作,将具有与所述第二用户操作相对应参数值的操作框参数送入所述配置页面所属App,以更改与所述操作框参数的参数值相对应的配置,并将所述参数值进行非易失性存储。
根据本公开的第三个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一和第二方面所述的方法。
由此,通过将新配置项的添加抽象成在UI配置界面中配置名称、配置类型的显示和配置对应持久化参数值的存储,将这些配置变化通过注解形式在配置的声明阶段完成注入,从而能够以添加新的配置接口声明来代替针对每个新配置项的读写逻辑的添加,大幅提升了针对可配置项的增删效率。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1A-B示出了在配置页面中显示的配置项的例子。
图2A-B示出了现有技术中利用读接口和写接口逻辑实现配置项相关操作的例子。
图3示出了根据本发明一个实施例的配置页面操作方法的示意性流程图。
图4A-B示出了本发明利用配置声明实现配置项相关操作的例子。
图5示出了根据本发明一个实施例的配置页面处理方法的示意性流程图。
图6示出了根据本发明一个实施例的可用于实现上述配置页面操作方法的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在不同的应用场景中,需要为APP的使用者提供针对该APP的某些可配置项。例如,在客户端App开发测试阶段,会涉及到一些通用配置项需要在不同的场景做出对应的改变,如App当前环境的变更(例如,是线上、预发或日常环境),App中对应使用场景类型的变更(例如,是否进入直播场景或课堂场景),直播间的信息面板是否展示自定义消息,SDK的租户信息配置参数(AppId和AppKey配置参数)等。
图1A-B示出了在配置页面中显示的配置项的例子。在图1A中,为APP的当前版本(例如,某个测试版本)提供了能够选择是否开启预发环境的配置项。当用户(例如,APP的测试人员)需要将APP手动设置为预发环境时,可以找到配置页面中的对应配置项,并且通过对右侧开关按钮的操作来完成设置。具体地,APP可以监听该页面上的操作事件,并且根据操作事件将相应的参数传入(例如,将开启预发环境的参数isPreEnv为真传入,从而使得预发环境被开启)。而在预发环境默认被开启的情况下,只有当用户将对应开关设置为关,APP才会监听该页面上的操作事件,并且根据操作事件将相应的参数传入,例如,将开启预发环境的参数isPreEnv为假传入,从而使得预发环境被关闭。
在现有技术中,如果需要如图1A所示,在配置页面中为用户提供可配置项,需要为该配置项编写单独且完整的读接口和写接口逻辑。图2A-B示出了现有技术中利用读接口和写接口逻辑实现配置项相关操作的例子。
在此,读配置被用于读取对应配置项的当前状态。为此,需要如图2A所示,首先创建新的实例(即,newAppConfig()),对具体实现类进行编写,例如,将参数操作框实现为开关按钮(即,对应于图中boolean(布尔类型)),并将该实例进行命名(即,namespace(命名空间)为“AppConfig”)并且规定操作的参数(即,key(关键值)为“isPreEnv”)。上述内容需要在开发阶段编写在代码中。由此,在APP(例如,被实际安装在手机上用于进行测试的APP)进行相应的读配置操作时,可以根据获取的namespace(即,“AppConfig”)和key(即,“isPreEnv”)来读取参数isPreEnv的当前值,例如,读取到参数值isPreEnv为真,并进行显示(例如,对应于图1A中被打开的开关)。
相应地,写接口逻辑被用于向用户显示配置项并获取用户操作结果,例如在图1A所示的APP配置页面中显示“是否开启预发环境”以及后续开关,并且接收用户对开关的操作。为此,需要如图2B所示,首先提供一个写接口逻辑,逻辑中需要添加开关切换按钮,用于获取用户针对特定参数(例如,isPreEnv)的操作。随后还需要添加针对该配置的UI逻辑,UI还需要能够根据当前配置的读接口进行配置数据的回显逻辑,并且需要监听UI表单的数据更改,并且在用户通过操作开关按钮以变更参数时,调用写接口将配置信息写入APP的持久化层。由此,在APP(例如,被实际安装在手机上用于进行测试的APP)进行相应的写配置操作时,可以根据获取的namespace(即,“AppConfig”)和key(即,“isPreEnv”)来显示相应的内容(例如,对应于图1A中显示的“是否开启预发环境”以及后续开关),并且还可以对用户的操作(例如,关闭开关)进行监听,并将变更的参数传入并写入APP的持久化层(例如,手机的SD卡)。
在图2A和2B中,虚线框的内容表示需要在APP开发阶段针对该配置项编写的内容。而在根据测试要求,需要在配置页面上再添加一个配置项,例如图1B中所示,添加一个选择“首先标题颜色”的配置项,并以选择框的形式提供操作框时,需要为该配置项重新进行如图2A和2B中虚线框所示内容的编写,例如,编写新的实例,规定新的namespace和key。换句话说,APP中每添加一个新配置,都需要进行负载的操作,从而降低APP的开发效率。
有鉴于此,需要在开发过程中提供对这些应用配置的动态更改能力,以满足在不同场景下的配置诉求。同时,上述配置项需要直接在可视化UI界面中提供,由此降低配置的理解和使用成本。
为此,本发明提供了一种改进的配置页面操作方法,该方法能够通过反射获取写配置所需要的信息并由此生成配置项,还能够通过动态代理实现读配置,由此通过简单的配置接口声明就能够实现新配置项的添加,从而大幅提升的APP配置的灵活性。
图3示出了根据本发明一个实施例的配置页面操作方法的示意性流程图。上述操作可以通过针对提前封装的配置接口结合配置声明进行反射和动态代理,由此获取配置接口的动态类实现。
具体地,在步骤S310,通过反射来解析配置接口中包含的配置信息并获取配置信息中包含的显示信息。在此,配置接口可以是在APP开发阶段提前封装的,可以规定在配置页面中显示配置项、显示的配置项可以包括配置项名称以及操作框,并且可以规定读取用户针对操作框的操作并进行非易失性地存储。但上述配置接口并未规定配置项的具体实现,例如,是“开启预发环境”还是“首页标题颜色”还是其他的配置项。配置信息可以是在配置接口代码限定之外额外添加的。配置信息中可以包括针对配置项具体实现的规定,例如,在配置页面中具体显示“是否开启预发环境”,后接操作框为开关,并且其要操作的参数是“isPreEnv”。上述配置信息可以通过方法声明的方式添加。
由此,在用户例如点选设置菜单中的配置以进入图1A所示的APP配置页面时,可以利用Java的反射技术,获取声明的配置信息中包含的具体显示信息。
于是在步骤S320,可以将显示信息作为数据来驱动所述配置页面中对应配置项的显示。此时,通过反射获取的显示信息可以基于其所述配置接口的设置来进行显示,例如,如图1A所示,在配置页面中具体显示“是否开启预发环境”,后接实现为开关的操作框。
随后,在步骤S330,可以监听所述配置项的操作事件并通过反射获取用户设置操作对应的参数值,其中,所述参数值用于更改所述配置页面所属App中与所述配置信息相对应的配置。例如,当用户拨动开关关闭预发环境时,可以通过反射监听到参数isPreEnv的值从真变为假(即,isPreEnv=0),上述参数可被传入,从而使得APP从当前的预发环境推出,并且可以在安装APP的设备,例如手机中进行非易失性存储,例如,存入手机的SD卡。
而在需要对上述配置项进行回显时,例如,用户在关闭了预发环境后,重新进入该APP配置页面(例如,想要重新开启预发环境)时,可以通过Java的动态代理技术获取在前被持久化存储的对应参数值,并用于在页面中配置项状态的正确显示。为此,本发明的配置页面操作方法还可以包括:在所述参数值已被设置的情况下接收到显示所述配置页面的指令时,通过动态代理获取所述配置信息,并读取所述配置信息下的所述参数值;以及在所述配置页面中显示与所述参数值相对应的参数设置。
由此,通过在APP程序中封装一个动态实现类。测试人员在需要添加可配置项时,仅需添加属于这个动态实现类的一个接口声明,就可实现配置项的显示、用户操作的获取、以及参数当前值的回显。
如前所述,所述配置信息可以是在所述配置接口定义之外添加的配置接口声明。而在需要添加新配置项时,则无需对配置接口进行修改,直接添加对应于新配置项的新配置信息。由此,基于新的配置信息通过所述配置接口的动态代理实现在所述配置页面中对应新配置项的显示。
具体地,添加对应于新配置项的新配置信息包括:增加所述配置接口的新配置声明;以及在所述新配置声明的方法声明中规定配置项内容、配置类型和对应参数的默认值。
例如,在本发明的实现中,如果需要在已有图1A所示的“是否开启预发环境”的配置项的基础上添加如图1B所示的“首页标题颜色”的配置项,则无需如图2A-B所示编写具体实现类和配置界面,只需要添加针对已封装配置接口的新配置声明即可,例如,声明要显示的内容是“首页标题颜色”,操作框的形式是两项选择框,这两个具体选择项可以在用户点选小三角时显示并且显示的具体内容分别对应于“红色”和“绿色”。
由于配置声明中规定配置项内容、配置类型和对应参数的默认值。为此,将所述配置信息作为数据驱动所述配置页面中对应配置项的显示可以包括:基于所述配置信息中包含的文字内容显示与所述配置项的待配置内容。例如基于配置信息中对应文字内容显示“是否开启预发环境”;以及基于所述配置信息中的类型选项显示所述配置项的参数操作框,例如,基于boolean类型选择开关型操作框。
在某些实施例中,配置信息可以通过例如规定特定的方法名等方法来实现显示信息的反射和传递。例如,将方法名直接规定为“是否开启预发环境”,并且通过方法名的显示来实现对应配置项的显示。但在一个优选方案中,可以上述信息传递可以通过注解实现。为此,获取配置信息中包含的显示信息可以包括:获取所述配置信息中包含的注解用于所述配置表单的显示。
进一步地,配置信息中的上述注解可以与初始接口封装时的初始注解结合使用,并最终用于配置页面上配置项内容的正确显示。为此,所述配置接口中包括用于设置所述配置页面中配置项显示规则的初始注解,并且将所述显示信息作为数据驱动所述配置页面中对应配置项的显示还包括:基于所述初始注解,解析所述配置信息中包含的注解作为所述显示信息。进一步地,还可以基于初始注解,根据配置信息中注解的规定,设置对应的配置项参数操作框的显示默认值。即,封装类中的注解,决定了如何读取外部添加声明中的注解。
如下给出了抽象出的通用注解配置的例子。其中规定了使用字符串tips表示该配置项在该配置表单中展示的文案,并且规定了如果使用开关操作框(对应于boolean变量),可以将其默认值设置为真。
在如上初始注解的基础上,针对新配置项的添加就变得非常方便。例如,假设当前配置页面尚未包括“是否开启预发环境”的配置项。此时,可以如下所示,通过简单定义新方法,并在方法声明中指定tips对应的显示内容是“是否开启预发环境”,操作框是对应于参数isPreEnv的开关,并且默认值是真,就可以完成对应配置项的添加,并通过动态代理和反射实现如图1A所示的配置项的UI显示。
针对于同一配置出现了大量重复的代码逻辑,抽象出在UI配置界面中需要关注的是配置名称(是否是预发环境)、配置类型(boolean类型)和配置对应的持久化存储Key值(is_preEnv),并通过注解形式在配置的声明阶段完成配置注入。由此,后续的UI界面开发、当前配置信息回显和UI表单信息通过绑定对应接口逻辑,都可以如上结合配置声明具体展示,由此避免大量代码的手动重复添加。
如下,将结合图4A-B描述本发明在读写配置中的具体操作。图4A-B示出了本发明利用配置声明实现配置项相关操作的例子。应该理解的是,图4A-B中的虚线框指代配置接口所进行的操作,点划线框指代添加新配置项所需进行的操作。
在此,读配置被用于读取对应配置项的当前状态。不同于图2A中需要创建新的实例(即,newAppConfig())并对具体实现类进行编写,在图4A所示的本发明的情况下,获取实例Assist.getConfig(AppConfig.class)。该实例无需重新编写,而是封装在程序中的已有配置接口。所要添加的仅是点划线框所示的方法声明,例如,其中声明了参数为boolean(布尔类型)的isPreEnv。随后,可以通过动态代理,在每次调用中获取到一组方法和参数的数据,由此通过配置接口名称“AppConfig”和方法名称“isPreEnv”,从手机的持久化存储中读取“isPreEnv”的当前值。
在步骤2方法实现中提及的两个参数“AppConfig”和“isPreEnv”是在程序运行阶段动态获取的,因此不管传入的是AppConfig.class,还是别的类,都能够读取到该次调用的方法和配置类,因此更具有普适性。
由此,在用户重新进入APP配置页面而需要读取“是否开启预发环境”的当前状态的回显操作中(当然还可以是回显之外的其他需要进行读配置的操作),可以在用户进入APP配置页面时(即,获取到用户要进入该配置页面的操作时)获取实例Assist.getConfig(AppConfig.class),并获取到配置接口名称“AppConfig”和方法名称“isPreEnv”,由此从手机的持久化存储中读取“isPreEnv”的当前值,例如为真,并在APP配置页面中将进行显示。
相应地,写接口逻辑被用于向用户显示配置项并获取用户操作结果,例如在图1A所示的APP配置页面中显示“是否开启预发环境”以及后续开关,并且接收用户对开关的操作。不同于图2B所示需要提供写接口逻辑,添加UI逻辑,并监听UI表单的数据更改,在图4B所示的本发明的操作中,无需为新添加配置项增加任何操作(因为关于新配置项的方法声明以在图4A所示读配置中完成),即,图4B中不包含表示专门为新配置项添加的点划线框,而仅需基于Java的动态代理和反射技术,并结合注解信息来生成配置接口的动态实现类。
具体地,配置接口可以在步骤1通过反射,解析该配置接口中包括的所有方法。在此,每个方法对应于一个配置项。例如,在图1A所示的例子中,配置接口仅包括“是否开启预发环境”这一个配置项,因此此时配置接口可以仅包括一个方法声明,即针对该“是否开启预发环境”配置项的方法声明。而在图1B所示的例子中,配置接口除了包括“是否开启预发环境”这个配置项之外,还包括“首页标题颜色”配置项,因此此时配置接口可以包括两个方法声明,即针对该“是否开启预发环境”配置项的方法声明和针对“首页标题颜色”配置项的方法声明。为此,在图1A的例子中,解析该配置接口中包括的所有方法仅包括解析isPreEnv方法。而在在图1B的例子中,解析该配置接口中包括的所有方法包括解析isPreEnv方法和titleClor方法。
随后,在步骤2,可以通过反射取得配置接口和方法上配置的注解信息,并在步骤3,根据这些配置信息,作为数据来驱动配置页中配置表单的显示。例如,可以通过反射获取配置接口中的初始注解,明了tips对应于配置项名称,并结合获取方法声明中tips=“是否开启预发环境”的注解,实现配置页面中文字内容“是否开启预发环境”的最终显示。
最后,在步骤4,可以监听表单事件。当用户操作表单时,可以根据反射信息,取得写配置需要的参数。例如,当用户操作“是否开启预发环境”对应的开关按钮时,可以需求namespace(即,“AppConfig”)和key(即,“isPreEnv”),并将变更的参数传入并写入APP的持久化层(例如,手机的SD卡)。
由上结合附图描述本发明的配置页面操作方法。相对于现有的客户端动态配置逻辑,本发明包括如下优点:
1.在配置的读逻辑中,声明即使用,不需要对读接口添加任何代码逻辑,甚至不需要关注持久化Key值(默认将函数签名作为默认的Key值)
2.在配置的写逻辑中,实现零代码的能力支持,具体地如下:
在配置解析时,本发明会在初始化阶段解析出所有的配置信息;
在配置回显时,可以在配置的UI界面被唤醒时,根据解析出来的配置信息自动进行持久化信息的读取和UI上的数据回显;
在配置绑定时,UI配置界面和持久化信息的绑定联动通过本发明的抽象层进行统一实现,无需额外的代码开发逻辑。
进一步地,本发明还可以实现为一种配置页面处理方法,该方法通过动态代理和反射,并结合注解,实现对用户(尤其是测试人员)操作的响应。图5示出了根据本发明一个实施例的配置页面处理方法的示意性流程图。
在步骤510,响应于接收到显示配置页面的第一用户操作(例如,用户在设置页面中选择进入配置页面的操作),获取所述配置页面相对应的配置接口信息,通过反射获取所述配置接口中方法声明的注解,并显示包括与所述注解相对应的配置项的所述配置页面;以及
在步骤520,响应于接收到用户对所述配置页面中显示配置项所包括的操作框的第二用户操作(例如,用户关闭图1A所示开关的操作),将具有与所述第二用户操作相对应参数值的操作框参数(例如,IsPreEnv=0)送入所述配置页面所属App,以更改与所述操作框参数的参数值相对应的配置,并将所述参数值进行非易失性存储。
图6示出了根据本发明一个实施例的可用于实现上述配置页面操作方法的计算设备的结构示意图。
参见图6,计算设备600包括存储器610和处理器620。
处理器620可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器620可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器620可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器610可以包括各种类型的存储单元,例如***内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器620或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。***内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。***内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器610可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器610可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器610上存储有可执行代码,当可执行代码被处理器620处理时,可以使处理器620执行上文述及的配置页面操作方法。
上文中已经参考附图详细描述了根据本发明的配置页面操作方案。本发明通过将新配置项的添加抽象成在UI配置界面中配置名称、配置类型的显示和配置对应持久化参数值的存储,将这些配置变化通过注解形式在配置的声明阶段完成注入,从而能够以添加新的配置接口声明来代替针对每个新配置项的读写逻辑的添加,大幅提升针对可配置项的增删效率。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的***和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (9)

1.一种客户端App开发测试阶段的配置页面操作方法,包括:
通过反射来解析配置接口中包含的配置信息并获取配置信息中包含的显示信息;
将所述显示信息作为数据来驱动所述配置页面中对应配置项的显示;以及
监听所述配置项的操作事件并通过反射获取用户设置操作对应的参数值,其中,所述参数值用于更改所述配置页面所属App中与所述配置信息相对应的配置,
其中,所述方法还包括:
在所述参数值已被设置的情况下接收到显示所述配置页面的指令时,通过动态代理获取所述配置信息,并读取所述配置信息下的所述参数值;以及
在所述配置页面中显示与所述参数值相对应的参数设置。
2.如权利要求1所述的方法,其中,获取配置信息中包含的显示信息包括:
获取所述配置信息中包含的注解用于配置表单的显示。
3.如权利要求1所述的方法,其中,所述配置接口中包括用于设置所述配置页面中配置项显示规则的初始注解,并且将所述显示信息作为数据驱动所述配置页面中对应配置项的显示还包括:
基于所述初始注解,解析所述配置信息中包含的注解作为所述显示信息。
4.如权利要求3所述的方法,其中,基于所述初始注解,根据所述配置信息中注解的规定,设置对应的配置项参数操作框的显示默认值。
5.如权利要求1所述的方法,其中,将所述配置信息作为数据驱动所述配置页面中对应配置项的显示包括:
基于所述配置信息中包含的文字内容显示与所述配置项的待配置内容;以及
基于所述配置信息中的类型选项显示所述配置项的参数操作框。
6.如权利要求1所述的方法,包括:
添加对应于新配置项的新配置信息,其中,基于所述新的配置信息通过所述配置接口的动态代理实现在所述配置页面中对应新配置项的显示。
7.如权利要求6所述的方法,其中,添加对应于新配置项的新配置信息包括:
增加所述配置接口的新配置声明;
在所述新配置声明的方法声明中规定配置项内容、配置类型和对应参数的默认值。
8.一种配置页面处理方法,包括:
响应于接收到显示配置页面的第一用户操作,获取所述配置页面相对应的配置接口信息,通过反射获取所述配置接口中方法声明的注解,并显示包括与所述注解相对应的配置项的所述配置页面;以及
响应于接收到用户对所述配置页面中显示配置项所包括的操作框的第二用户操作,将具有与所述第二用户操作相对应参数值的操作框参数送入所述配置页面所属App,以更改与所述操作框参数的参数值相对应的配置,并将所述参数值进行非易失性存储,
其中,在所述参数值已被设置的情况下接收到显示所述配置页面的指令时,通过动态代理获取配置信息,并读取所述配置信息下的所述参数值,并在所述配置页面中显示与所述参数值相对应的参数设置。
9.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-8中任一项所述的方法。
CN202111590619.9A 2021-12-23 2021-12-23 配置页面操作方法、处理方法和计算设备 Active CN114489830B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111590619.9A CN114489830B (zh) 2021-12-23 2021-12-23 配置页面操作方法、处理方法和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111590619.9A CN114489830B (zh) 2021-12-23 2021-12-23 配置页面操作方法、处理方法和计算设备

Publications (2)

Publication Number Publication Date
CN114489830A CN114489830A (zh) 2022-05-13
CN114489830B true CN114489830B (zh) 2024-06-07

Family

ID=81494329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111590619.9A Active CN114489830B (zh) 2021-12-23 2021-12-23 配置页面操作方法、处理方法和计算设备

Country Status (1)

Country Link
CN (1) CN114489830B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117311799B (zh) * 2023-11-30 2024-03-19 钱塘科技创新中心 一种软件项目页面的配置方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017008645A1 (zh) * 2015-07-13 2017-01-19 阿里巴巴集团控股有限公司 对http请求进行统一映射的方法和设备
CN108268289A (zh) * 2016-12-30 2018-07-10 阿里巴巴集团控股有限公司 web应用的参数配置方法、装置及***
CN108415834A (zh) * 2018-02-12 2018-08-17 平安科技(深圳)有限公司 注解后端校验方法、装置、计算机设备及存储介质
CN109254808A (zh) * 2018-07-18 2019-01-22 平安科技(深圳)有限公司 接口调用方法、装置及计算机可读存储介质
CN109739717A (zh) * 2018-04-12 2019-05-10 京东方科技集团股份有限公司 一种页面数据采集的方法及装置、服务器
CN112328322A (zh) * 2020-10-26 2021-02-05 银盛支付服务股份有限公司 一种Apollo配置本地化的方法及***
CN113434582A (zh) * 2021-06-24 2021-09-24 平安国际智慧城市科技股份有限公司 业务数据处理方法、装置、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017008645A1 (zh) * 2015-07-13 2017-01-19 阿里巴巴集团控股有限公司 对http请求进行统一映射的方法和设备
CN108268289A (zh) * 2016-12-30 2018-07-10 阿里巴巴集团控股有限公司 web应用的参数配置方法、装置及***
CN108415834A (zh) * 2018-02-12 2018-08-17 平安科技(深圳)有限公司 注解后端校验方法、装置、计算机设备及存储介质
CN109739717A (zh) * 2018-04-12 2019-05-10 京东方科技集团股份有限公司 一种页面数据采集的方法及装置、服务器
CN109254808A (zh) * 2018-07-18 2019-01-22 平安科技(深圳)有限公司 接口调用方法、装置及计算机可读存储介质
CN112328322A (zh) * 2020-10-26 2021-02-05 银盛支付服务股份有限公司 一种Apollo配置本地化的方法及***
CN113434582A (zh) * 2021-06-24 2021-09-24 平安国际智慧城市科技股份有限公司 业务数据处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN114489830A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
WO2016155388A1 (zh) 应用安装、运行方法及装置
US8997053B2 (en) System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies
US9906622B2 (en) Automated service interface optimization
US9262176B2 (en) Software execution using multiple initialization modes
US20120174068A1 (en) Testing Software Code
CN110321189B (zh) 一种在宿主程序中呈现寄宿程序的方法与设备
US20170230474A1 (en) Service component management methods and systems
CN111190825A (zh) 自动测试方法、***及机器人
CN114489830B (zh) 配置页面操作方法、处理方法和计算设备
CN110290557B (zh) 一种加载应用内页面标签的方法与设备
US10255276B2 (en) Automated translation of screen images for software documentation
CN108345458B (zh) 一种静态编译语言与脚本语言的调用方法及***
CN111444453A (zh) 页面回传数据处理方法及其装置
CN105824647A (zh) 一种表单页面生成方法和装置
CN114048415A (zh) 表单生成方法及装置、电子设备和计算机可读存储介质
CN114328250A (zh) 软件***自动自检方法、介质和装置
CN114970474A (zh) 一种基于数据监听的excel导入导出方法及***
CN111399932A (zh) 调用dll的方法、***、浏览器的处理方法和浏览器
CN108089852B (zh) 建立属性访问的方法、介质、装置和计算设备
CN111198830A (zh) 移动存储设备的识别方法、装置、电子设备以及存储介质
CN111339380A (zh) 一种接口耗时数据处理方法及相关装置
CN113448543B (zh) 页面处理方法、装置、设备及***
CN113449227B (zh) 一种页面信息处理方法及终端设备
CN113419655B (zh) 用于电子终端的应用截屏方法和装置
CN114201253B (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