CN115834685A - 基于动态代理的屏幕适配方法及其相关设备 - Google Patents
基于动态代理的屏幕适配方法及其相关设备 Download PDFInfo
- Publication number
- CN115834685A CN115834685A CN202211436313.2A CN202211436313A CN115834685A CN 115834685 A CN115834685 A CN 115834685A CN 202211436313 A CN202211436313 A CN 202211436313A CN 115834685 A CN115834685 A CN 115834685A
- Authority
- CN
- China
- Prior art keywords
- screen
- proxy
- attribute
- related attributes
- request
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例属于金融科技技术领域,应用于金融APP屏幕适配领域中,涉及一种基于动态代理的屏幕适配方法及其相关设备,包括获取屏幕对象访问请求;根据所述访问请求,向代理中间件发送服务代理请求;根据所述服务代理请求和预设原始屏幕对象,生成代理对象;访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。本申请在不对展示代码进行变动的情况下,将页面内容适配到不同的屏幕上,方便后期对代码内容进行定位和维护。
Description
技术领域
本申请涉及金融科技及金融APP屏幕适配技术领域,尤其涉及一种基于动态代理的屏幕适配方法及其相关设备。
背景技术
随着业务场景新增,需要开发的APP的页面也越来越多,经常存在一个APP需要在多个不同比例的设备屏幕上进行展示。
以金融科技业务中的好车主和好生活APP为例,好车主和好生活APP需要展示在不同比例的电脑屏幕,不同型号的手机屏幕上,屏幕适配是同一种样式的代码在不同大小的屏幕上显示保持一致的一种方式。在手机或者H5开发的时侯,屏幕适配是个尤其痛苦的事,各种屏幕尺寸适配起来让人头疼,往往没法根据设计图的标注数值直接填写在样式表中,需要经过转换,不仅浪费了开发时间,破坏了代码的可读性,也破坏了样式分离的设计,使得整个代码难以定位和维护。
发明内容
本申请实施例的目的在于提出一种基于动态代理的屏幕适配方法及其相关设备,以便于在不对展示代码进行变动的情况下,将页面内容适配到不同的屏幕上,方便后期对代码内容进行定位和维护。
为了解决上述技术问题,本申请实施例提供一种基于动态代理的屏幕适配方法,采用了如下所述的技术方案:
一种基于动态代理的屏幕适配方法,包括下述步骤:
服务端获取由客户端发来的屏幕对象访问请求,并根据所述访问请求,向代理中间件发送代理对象创建请求;
所述代理中间件获取所述代理对象创建请求,并根据所述代理对象创建请求和预设原始屏幕对象,生成代理对象;
所述客户端访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;
所述客户端根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。
进一步的,所述根据所述服务代理请求和预设原始屏幕对象,生成代理对象的步骤,具体包括:
根据所述代理对象生成请求,将所述原始屏幕对象作为入参对象输入预设代理对象生成方法,生成代理对象。
进一步的,所述根据所述代理对象生成请求,将所述原始屏幕对象作为入参对象输入预设代理对象生成方法,生成代理对象的步骤,具体包括:
获取所述原始屏幕对象中所有的属性名称和属性值,并构建键对值型数据集合;
根据预设用于表征屏幕相关属性的属性名称,依次判断所述数据集合中当前属性值对应的属性名称是否为屏幕相关属性;
若当前属性值对应的属性名称为屏幕相关属性,则获取所述当前属性值和所述当前属性值对应的属性名称,存入通过代理中间件生成的新集合中,将最终填值完成的新集合作为所述代理对象。
进一步的,所述识别所述代理对象里的屏幕相关属性的步骤,具体包括:
分别将表征屏幕宽度和屏幕高度的属性字段作为检索字段,获取所述属性字段分别对应的属性值,将所述属性值作为所述代理对象里的屏幕相关属性。
进一步的,在所述客户端根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性的步骤之前,所述方法还包括:
所述客户端根据预设监听组件,判断是否获取到屏幕页面渲染请求;
若未获取到所述屏幕页面渲染请求,则根据预设延迟器,延迟执行根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤;
若获取到所述屏幕页面渲染请求,则停止所述延迟器,执行根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤。
进一步的,在所述根据所述服务代理请求和预设原始屏幕对象,生成代理对象的步骤之前,所述方法还包括:
获取预创建的原始屏幕对象,其中,所述原始屏幕对象中的属性至少包括初始化的屏幕高度和初始化的屏幕宽度;
通过对所述原始屏幕对象进行正向序列化处理,再对正向序列化处理结果进行反向序列化处理,获取到反向序列化处理结果;
获取所述反向序列化处理结果作为深拷贝对象。
进一步的,所述根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤,具体包括:
将所述深拷贝对象中的屏幕相关属性作为待转换值;
通过预设数据缩放算法和目标屏幕的像素比例,对所述待转换值进行像素缩放转换,获得与所述屏幕相适配的像素值,其中,所述数据缩放算法为预先定义的像素转换算法。
为了解决上述技术问题,本申请实施例还提供一种基于动态代理的屏幕适配装置,采用了如下所述的技术方案:
一种基于动态代理的屏幕适配装置,包括服务端、代理中间件和客户端,其中:
所述服务端用于获取由客户端发来的屏幕对象访问请求,并根据所述访问请求,向代理中间件发送代理对象创建请求;
所述代理中间件用于获取所述代理对象创建请求,并根据所述代理对象创建请求和预设原始屏幕对象,生成代理对象,
所述客户端用于访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;
所述客户端还用于根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述所述的基于动态代理的屏幕适配方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述所述的基于动态代理的屏幕适配方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例所述基于动态代理的屏幕适配方法,获取屏幕对象访问请求;根据所述访问请求,向代理中间件发送服务代理请求;根据所述服务代理请求和预设原始屏幕对象,生成代理对象;访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。本申请在不对展示代码进行变动的情况下,将页面内容适配到不同的屏幕上,方便后期对代码内容进行定位和维护。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的基于动态代理的屏幕适配方法的一个实施例的流程图;
图3是图2所示步骤202的一种具体实施方式的流程图;
图4根据本申请的基于动态代理的屏幕适配装置的一个实施例的结构示意图;
图5根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Mov i ng P i ctureExpertsGroup Aud i o Layer I I I,动态影像专家压缩标准音频层面3)、MP4(Mov i ngP i ctureExperts Group Aud i o Layer I V,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基于动态代理的屏幕适配方法一般由服务器/终端设备执行,相应地,基于动态代理的屏幕适配装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的基于动态代理的屏幕适配方法的一个实施例的流程图。所述的基于动态代理的屏幕适配方法,包括以下步骤:
步骤201,服务端获取由客户端发来的屏幕对象访问请求,并根据所述访问请求,向代理中间件发送代理对象创建请求。
本实施例中,可采用触发器的形式,当获取的屏幕对象访问请求时,通过所述触发器执行预先写入的向代理中间件发送服务代理请求的方法。
通过设置触发器,能够在获取到屏幕对象访问请求,及时向代理中间件发送服务代理请求,提高了处理效率。
步骤202,所述代理中间件获取所述代理对象创建请求,并根据所述代理对象创建请求和预设原始屏幕对象,生成代理对象。
本实施例中,在所述根据所述服务代理请求和预设原始屏幕对象,生成代理对象的步骤之前,所述方法还包括:获取预创建的原始屏幕对象,其中,所述原始屏幕对象中的属性至少包括初始化的屏幕高度和初始化的屏幕宽度;通过对所述原始屏幕对象进行正向序列化处理,再对正向序列化处理结果进行反向序列化处理,获取到反向序列化处理结果;获取所述反向序列化处理结果作为深拷贝对象。
本实施例中,所述深拷贝对象指的是原始屏幕对象的复制对象,避免了直接调用原始屏幕对象对应的原始数据,防止原始数据被污染。
通过对所述原始屏幕对象进行正向序列化处理,再对正向序列化处理结果进行反向序列化处理,获取到反向序列化处理结果;获取所述反向序列化处理结果作为深拷贝对象,避免了程序后期进行屏幕适配时从原始屏幕对象中取值,改变原始数据,直接通过调用深拷贝对象实现屏幕适配。
本实施例中,所述根据所述代理对象创建请求和预设原始屏幕对象,生成代理对象的步骤,具体包括:若根据预设监听组件,获取到所述服务代理请求,则向所述代理中间件发送代理对象生成请求;根据所述代理对象生成请求,将所述原始屏幕对象作为入参对象输入预设代理对象生成方法,生成代理对象。
通过原始屏幕对象,生成代理对象,保证了代理对象的属性值和属性名称都来源于原始屏幕对象。
继续参考图3,图3是图2所示步骤202的一种具体实施例的流程图,包括:
步骤301,获取所述原始屏幕对象中所有的属性名称和属性值,并构建键对值型数据集合;
步骤302,根据预设用于表征屏幕相关属性的属性名称,依次判断所述数据集合中当前属性值对应的属性名称是否为屏幕相关属性;
步骤303,若当前属性值对应的属性名称为屏幕相关属性,则获取所述当前属性值和所述当前属性值对应的属性名称,存入通过代理中间件生成的新集合中,将最终填值完成的新集合作为所述代理对象。
通过获取所述原始屏幕对象中屏幕相关属性,构建代理对象,实质上是对所述原始屏幕对象中非屏幕相关属性进行了删减,只保留屏幕适配所使用的属性重构对象,避免了进行屏幕适配时耗时查找到非相关属性。
步骤203,所述客户端访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度。
本实施例中,所述识别所述代理对象里的屏幕相关属性的步骤,具体包括:分别将表征屏幕宽度和屏幕高度的属性字段作为检索字段,获取所述属性字段分别对应的属性值,将所述属性值作为所述代理对象里的屏幕相关属性。
步骤204,所述客户端根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。
本实施例中,在所述根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性的步骤之前,所述方法还包括:所述客户端根据预设监听组件,判断是否获取到屏幕页面渲染请求;若未获取到所述屏幕页面渲染请求,则根据预设延迟器,延迟执行根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤;若获取到所述屏幕页面渲染请求,则停止所述延迟器,执行根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤。
通过延迟控制,等到页面渲染的时候再执行屏幕适配,这样做的好处是避免获取到屏幕对象直接渲染,相当于做个中间控制,实现了屏幕对象访问请求和页面渲染请求分离。
通过所述监听组件和所述延迟器,保证了屏幕适配相关属性在页面渲染时被调用,避免了屏幕适配相关属性的过早调用。
本实施例中,所述根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤,具体包括:将所述深拷贝对象中的屏幕相关属性作为待转换值;通过预设数据缩放算法和目标屏幕的像素比例,对所述待转换值进行像素缩放转换,获得与所述屏幕相适配的像素值,其中,所述数据缩放算法为预先定义的像素转换算法。
本申请获取屏幕对象访问请求;根据所述访问请求,向代理中间件发送服务代理请求;根据所述服务代理请求和预设原始屏幕对象,生成代理对象;访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。本申请在不对展示代码进行变动的情况下,将页面内容适配到不同的屏幕上,方便后期对代码内容进行定位和维护。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Art i f i c i a l I nte l l i gence,A I)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例中,可以根据所述基于动态代理的屏幕适配方法训练出基于动态代理的屏幕适配模型,使用人工智能模型进行目标屏幕适配,更加智能化和自动化。
进一步参考图4,作为对上述图2所示方法的实现,本申请提供了一种基于动态代理的屏幕适配装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例所述的基于动态代理的屏幕适配装置400包括:服务端401、代理中间件402和客户端403,其中:
所述服务端401用于获取由客户端403发来的屏幕对象访问请求,并根据所述访问请求,向代理中间件402发送代理对象创建请求;
所述代理中间件402用于获取所述代理对象创建请求,并根据所述代理对象创建请求和预设原始屏幕对象,生成代理对象;
所述客户端403用于访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;
所述客户端403还用于根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。
本申请获取屏幕对象访问请求;根据所述访问请求,向代理中间件发送服务代理请求;根据所述服务代理请求和预设原始屏幕对象,生成代理对象;访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。本申请在不对展示代码进行变动的情况下,将页面内容适配到不同的屏幕上,方便后期对代码内容进行定位和维护。
在本申请的一些具体实施方式中,所述基于动态代理的屏幕适配装置还包括对象深拷贝组件,所述对象深拷贝组件,用于获取预创建的原始屏幕对象,其中,所述原始屏幕对象中的属性至少包括初始化的屏幕高度和初始化的屏幕宽度;通过对所述原始屏幕对象进行正向序列化处理,再对正向序列化处理结果进行反向序列化处理,获取到反向序列化处理结果;获取所述反向序列化处理结果作为深拷贝对象。
在本申请的一些具体实施方式中,所述基于动态代理的屏幕适配装置还包括延迟控制组件,所述延迟控制组件,用于根据预设监听组件,判断是否获取到屏幕页面渲染请求;若未获取到所述屏幕页面渲染请求,则根据预设延迟器,延迟执行根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤;若获取到所述屏幕页面渲染请求,则停止所述延迟器,执行根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-On l y Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。
所述计算机设备5包括通过系统总线相互通信连接存储器51、处理器52、网络接口53。需要指出的是,图中仅示出了具有组件51-53的计算机设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(App l i cat i onSpec i f i c I ntegrated C i rcu i t,AS I C)、可编程门阵列(F i e l d-Programmab l e Gate Ar ray,FPGA)、数字处理器(D i g i ta l S i gna l Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器51至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器51可以是所述计算机设备5的内部存储单元,例如该计算机设备5的硬盘或内存。在另一些实施例中,所述存储器51也可以是所述计算机设备5的外部存储设备,例如该计算机设备5上配备的插接式硬盘,智能存储卡(Smart Med i a Card,SMC),安全数字(Secure Di gi ta l,SD)卡,闪存卡(Fl ash Card)等。当然,所述存储器51还可以既包括所述计算机设备5的内部存储单元也包括其外部存储设备。本实施例中,所述存储器51通常用于存储安装于所述计算机设备5的操作系统和各类应用软件,例如基于动态代理的屏幕适配方法的计算机可读指令等。此外,所述存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器52在一些实施例中可以是中央处理器(Centra l Process i ng Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制所述计算机设备5的总体操作。本实施例中,所述处理器52用于运行所述存储器51中存储的计算机可读指令或者处理数据,例如运行所述基于动态代理的屏幕适配方法的计算机可读指令。
所述网络接口53可包括无线网络接口或有线网络接口,该网络接口53通常用于在所述计算机设备5与其他电子设备之间建立通信连接。
本实施例提出的计算机设备,属于金融APP屏幕适配技术领域。本申请获取屏幕对象访问请求;根据所述访问请求,向代理中间件发送服务代理请求;根据所述服务代理请求和预设原始屏幕对象,生成代理对象;访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。本申请在不对展示代码进行变动的情况下,将页面内容适配到不同的屏幕上,方便后期对代码内容进行定位和维护。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被处理器执行,以使所述处理器执行如上述的基于动态代理的屏幕适配方法的步骤。
本实施例提出的计算机可读存储介质,属于金融APP屏幕适配技术领域。本申请获取屏幕对象访问请求;根据所述访问请求,向代理中间件发送服务代理请求;根据所述服务代理请求和预设原始屏幕对象,生成代理对象;访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。本申请在不对展示代码进行变动的情况下,将页面内容适配到不同的屏幕上,方便后期对代码内容进行定位和维护。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种基于动态代理的屏幕适配方法,其特征在于,包括下述步骤:
服务端获取由客户端发来的屏幕对象访问请求,并根据所述访问请求,向代理中间件发送代理对象创建请求;
所述代理中间件获取所述代理对象创建请求,并根据所述代理对象创建请求和预设原始屏幕对象,生成代理对象;
所述客户端访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;
所述客户端根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。
2.根据权利要求1所述的基于动态代理的屏幕适配方法,其特征在于,所述根据所述服务代理请求和预设原始屏幕对象,生成代理对象的步骤,具体包括:
根据所述代理对象生成请求,将所述原始屏幕对象作为入参对象输入预设代理对象生成方法,生成代理对象。
3.根据权利要求2所述的基于动态代理的屏幕适配方法,其特征在于,所述根据所述代理对象生成请求,将所述原始屏幕对象作为入参对象输入预设代理对象生成方法,生成代理对象的步骤,具体包括:
获取所述原始屏幕对象中所有的属性名称和属性值,并构建键对值型数据集合;
根据预设用于表征屏幕相关属性的属性名称,依次判断所述数据集合中当前属性值对应的属性名称是否为屏幕相关属性;
若当前属性值对应的属性名称为屏幕相关属性,则获取所述当前属性值和所述当前属性值对应的属性名称,存入通过代理中间件生成的新集合中,将最终填值完成的新集合作为所述代理对象。
4.根据权利要求1所述的基于动态代理的屏幕适配方法,其特征在于,所述识别所述代理对象里的屏幕相关属性的步骤,具体包括:
分别将表征屏幕宽度和屏幕高度的属性字段作为检索字段,获取所述属性字段分别对应的属性值,将所述属性值作为所述代理对象里的屏幕相关属性。
5.根据权利要求1所述的基于动态代理的屏幕适配方法,其特征在于,在所述客户端根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性的步骤之前,所述方法还包括:
所述客户端根据预设监听组件,判断是否获取到屏幕页面渲染请求;
若未获取到所述屏幕页面渲染请求,则根据预设延迟器,延迟执行根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤;
若获取到所述屏幕页面渲染请求,则停止所述延迟器,执行根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤。
6.根据权利要求5所述的基于动态代理的屏幕适配方法,其特征在于,在所述根据所述服务代理请求和预设原始屏幕对象,生成代理对象的步骤之前,所述方法还包括:
获取预创建的原始屏幕对象,其中,所述原始屏幕对象中的属性至少包括初始化的屏幕高度和初始化的屏幕宽度;
通过对所述原始屏幕对象进行正向序列化处理,再对正向序列化处理结果进行反向序列化处理,获取到反向序列化处理结果;
获取所述反向序列化处理结果作为深拷贝对象。
7.根据权利要求6所述的基于动态代理的屏幕适配方法,其特征在于,所述根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换的步骤,具体包括:
将所述深拷贝对象中的屏幕相关属性作为待转换值;
通过预设数据缩放算法和目标屏幕的像素比例,对所述待转换值进行像素缩放转换,获得与所述屏幕相适配的像素值,其中,所述数据缩放算法为预先定义的像素转换算法。
8.一种基于动态代理的屏幕适配装置,包括服务端、代理中间件和客户端,其特征在于,
所述服务端用于获取由客户端发来的屏幕对象访问请求,并根据所述访问请求,向代理中间件发送代理对象创建请求;
所述代理中间件用于获取所述代理对象创建请求,并根据所述代理对象创建请求和预设原始屏幕对象,生成代理对象,
所述客户端用于访问所述代理对象,并识别所述代理对象里的屏幕相关属性,其中,所述屏幕相关属性包括屏幕宽度和屏幕高度;
所述客户端还用于根据所述屏幕相关属性和预设数据转换规则,对所述屏幕相关属性进行屏幕适应性转换,生成适配的屏幕相关属性。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的基于动态代理的屏幕适配方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的基于动态代理的屏幕适配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436313.2A CN115834685A (zh) | 2022-11-16 | 2022-11-16 | 基于动态代理的屏幕适配方法及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436313.2A CN115834685A (zh) | 2022-11-16 | 2022-11-16 | 基于动态代理的屏幕适配方法及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115834685A true CN115834685A (zh) | 2023-03-21 |
Family
ID=85528541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211436313.2A Pending CN115834685A (zh) | 2022-11-16 | 2022-11-16 | 基于动态代理的屏幕适配方法及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115834685A (zh) |
-
2022
- 2022-11-16 CN CN202211436313.2A patent/CN115834685A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115712422A (zh) | 表单页面的生成方法、装置、计算机设备及存储介质 | |
CN115455058A (zh) | 缓存数据的处理方法、装置、计算机设备及存储介质 | |
CN117195886A (zh) | 基于人工智能的文本数据处理方法、装置、设备及介质 | |
CN116774973A (zh) | 数据渲染方法、装置、计算机设备及存储介质 | |
CN116383787A (zh) | 页面创建方法、装置、计算机设备及存储介质 | |
CN114221964B (zh) | 一种访问请求处理方法、装置、计算机设备及存储介质 | |
CN115330396A (zh) | 支付状态获取方法、装置、计算机设备及存储介质 | |
CN115834685A (zh) | 基于动态代理的屏幕适配方法及其相关设备 | |
CN114510908A (zh) | 数据导出方法、装置、计算机设备及存储介质 | |
CN117874073A (zh) | 一种搜索优化方法、装置、设备及其存储介质 | |
CN114842097A (zh) | 图片格式的转换方法及其相关设备 | |
CN117971215A (zh) | 页面生成方法、装置、计算机设备及存储介质 | |
CN115794110A (zh) | 多路网络数据源处理方法及其相关设备 | |
CN115578050A (zh) | 审批进度识别方法、装置、计算机设备及存储介质 | |
CN114969482A (zh) | 在线配置接口自动完成请求的方法、及其相关设备 | |
CN117632331A (zh) | 数据展示方法、装置、计算机设备及存储介质 | |
CN116932090A (zh) | 工具包加载方法、装置、计算机设备及存储介质 | |
CN116932739A (zh) | 基于人工智能的数据生成方法、装置、设备及存储介质 | |
CN115186196A (zh) | 一种内容推荐方法、装置、计算机设备及存储介质 | |
CN115546356A (zh) | 动画生成方法、装置、计算机设备及存储介质 | |
CN117591190A (zh) | 一种应用数据加载优化方法、装置、设备及其存储介质 | |
CN115222545A (zh) | 报文模块化处理方法、装置、计算机设备及存储介质 | |
CN116775193A (zh) | 页面检测方法、装置、设备及存储介质 | |
CN117828221A (zh) | 一种基于埋点技术的页面事件统计方法及其相关设备 | |
CN115080045A (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 |