应用程序换肤方法、装置、存储介质及计算机设备与流程

未命名 09-03 阅读:103 评论:0


1.本技术涉及互联网技术领域,尤其涉及一种应用程序换肤方法、装置、存储介质及计算机设备。


背景技术:

2.ios是由苹果公司开发的移动操作系统,随着智能手机屏幕技术的不断改进,苹果公司从ios13开始推出黑暗模式,通过系统自带的黑暗模式主题换肤框架进行黑暗模式的切换,ios应用程序开发者遵循苹果公司规定的规范即可适配黑暗模式。
3.但对于第三方ios应用程序而言,ios自带的换肤框架仅用于黑暗模式适配,使得适配了ios自带的黑暗模式的第三方应用程序不能实现多套不同主题风格的界面换肤,限制了第三方应用程序界面皮肤多样性的发展。


技术实现要素:

4.本技术的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中适配了ios自带的黑暗模式的第三方应用程序不能实现多套不同主题风格的界面换肤,限制了第三方应用程序界面皮肤多样性的发展的技术缺陷。
5.第一方面,本技术提供了一种应用程序换肤方法,所述方法应用于终端,包括:
6.当接收到应用程序发起的换肤请求时,获取所述换肤请求中包含的用户id和换肤信息;
7.根据所述用户id,确定与所述用户id对应的资源库;
8.根据所述换肤信息,确定目标页面和目标皮肤模式;
9.判断所述目标皮肤模式是否满足预设条件,若所述目标皮肤模式满足所述预设条件,则根据所述目标皮肤模式和所述目标页面,在所述资源库中获取视图皮肤资源;
10.在所述资源库中获取与所述目标页面中的每个目标控件对应的控件皮肤资源;
11.根据所述视图皮肤资源和各个所述控件皮肤资源,进行代理换肤。
12.在其中一个实施例中,所述判断所述目标皮肤模式是否满足预设条件,包括:
13.判断所述目标皮肤模式是否为黑暗模式,若所述目标皮肤模式不是黑暗模式,则所述目标皮肤模式满足所述预设条件;
14.若所述目标皮肤模式为黑暗模式,则判断所述终端的黑暗模式系统开关是否处于关闭状态,若所述终端的黑暗模式系统开关处于关闭状态,则所述目标皮肤模式满足所述预设条件。
15.在其中一个实施例中,所述判断所述目标皮肤模式是否满足预设条件,还包括:
16.若所述终端的黑暗模式系统开关处于开启状态,则所述目标皮肤模式不满足所述预设条件。
17.在其中一个实施例中,所述根据所述目标皮肤模式和所述目标页面,在所述资源库中获取视图皮肤资源,包括:
18.在所述资源库中,根据所述目标皮肤模式,确定与所述目标皮肤模式对应的目标资源;
19.在所述目标资源中,查询并获取与所述目标页面对应的视图皮肤资源。
20.在其中一个实施例中,所述在所述资源库中获取与所述目标页面中的每个目标控件对应的控件皮肤资源,包括:
21.在所述资源库中查询与每个目标控件对应的控件皮肤资源;
22.在各个目标控件中,将存在与其对应的控件皮肤资源的目标控件确定为第一目标控件;
23.在所述资源库中获取与所述第一目标控件对应的控件皮肤资源。
24.在其中一个实施例中,所述在所述资源库中获取与所述目标页面中的每个目标控件对应的控件皮肤资源,还包括:
25.在各个目标控件中,将不存在与其对应的控件皮肤资源的目标控件确定为第二目标控件;
26.在所述资源库中获取与所述第二目标控件对应的默认控件皮肤资源。
27.第二方面,本技术提供了一种应用程序换肤装置,所述装置应用于终端,包括:
28.第一获取模块,用于当接收到应用程序发起的换肤请求时,获取所述换肤请求中包含的用户id和换肤信息;
29.第一确定模块,用于根据所述用户id,确定与所述用户id对应的资源库;
30.第二确定模块,用于根据所述换肤信息,确定目标页面和目标皮肤模式;
31.第二获取模块,用于判断所述目标皮肤模式是否满足预设条件,若所述目标皮肤模式满足所述预设条件,则根据所述目标皮肤模式和所述目标页面,在所述资源库中获取视图皮肤资源;
32.第三获取模块,用于在所述资源库中获取与所述目标页面中的每个目标控件对应的控件皮肤资源;
33.换肤模块,用于根据所述视图皮肤资源和各个所述控件皮肤资源,进行代理换肤。
34.在其中一个实施例中,所述第二获取模块包括:
35.第一判断子模块,用于判断所述目标皮肤模式是否为黑暗模式,若所述目标皮肤模式不是黑暗模式,则所述目标皮肤模式满足所述预设条件;
36.第二判断子模块,用于若所述目标皮肤模式为黑暗模式,则判断所述终端的黑暗模式系统开关是否处于关闭状态,若所述终端的黑暗模式系统开关处于关闭状态,则所述目标皮肤模式满足所述预设条件。
37.第三方面,本技术提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述任一项实施例所述应用程序换肤方法的步骤。
38.第四方面,本技术提供了一种计算机设备,包括:一个或多个处理器,以及存储器;
39.所述存储器中存储有计算机可读指令,所述一个或多个处理器执行时所述计算机可读指令时,执行如上述任一项实施例所述应用程序换肤方法的步骤。
40.从以上技术方案可以看出,本技术实施例具有以下优点:
41.本技术提供的应用程序换肤方法、装置、存储介质及计算机设备,当终端接收到应
用程序发起的换肤请求时,获取换肤请求中包含的用户id和换肤信息;根据获取到的用户id,确定与用户id对应的资源库;进而根据换肤信息,确定目标页面和目标皮肤模式;判断目标皮肤模式是否满足预设条件,若目标皮肤模式满足预设条件,则根据目标皮肤模式和目标页面,在资源库中获取视图皮肤资源;并在所述资源库中获取与目标页面中的每个目标控件对应的控件皮肤资源;最终根据视图皮肤资源和各个控件皮肤资源,进行代理换肤。通过构建一整套的第三方换肤业务逻辑,以满足ios应用程序多套主题换肤的需求,且由于第三方换肤业务逻辑与ios系统耦合程度较低,有利于ios应用程序研发人员进行动态扩展。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
43.图1为本技术实施例提供的一种应用程序换肤方法的流程示意图;
44.图2为本技术实施例提供的判断目标皮肤模式是否满足预设条件的步骤的流程示意图;
45.图3为本技术实施例提供的根据目标皮肤模式和目标页面,在资源库中获取视图皮肤资源的步骤的流程示意图;
46.图4为本技术实施例提供的在资源库中获取与目标页面中的每个目标控件对应的控件皮肤资源的步骤的流程示意图;
47.图5为本技术实施例提供的一种应用程序换肤框架设计的类图;
48.图6为本技术实施例提供的一种应用程序换肤装置的结构示意图;
49.图7为本技术实施例提供的一种计算机设备的内部结构图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.在其中一个实施例中,本技术提供了一种应用程序换肤方法,下述实施例以该方法应用于终端进行说明。
52.如图1所示,本发明实施例提供了一种应用程序换肤方法,所述方法应用于终端,包括:
53.步骤s101:当接收到应用程序发起的换肤请求时,获取换肤请求中包括的用户id和换肤信息。
54.其中,用户id为用户在应用程序中注册时,应用程序给用户分配的id号码,用户id和用户是一一对应的。
55.步骤s102:根据用户id,确定与用户id对应的资源库。
56.可以理解的是,当用户id在预设时间内未登录过应用程序,将会清除该用户id对应的资源库中的资源数据以节约系统存储空间,当该用户id再次登录该应用程序时,将会对该用户id进行初始化,即从服务端下载被清除的资源数据。
57.更进一步地,预设时间可以由研发人员设置一个默认值,也可以由研发人员设置规则以自动化更新预设时间,本技术对此不作具体限制。
58.步骤s103:根据换肤信息,确定目标页面和目标皮肤模式。
59.具体而言,当用户注册应用程序并分配到用户id时,该用户id会对应一个资源库,在首次注册并登录该应用程序时,该用户id对应的资源库是空的,当用户在使用该应用程序时,用户根据自己的需求,可以下载不同的主题皮肤以切换到目标皮肤模式,而经过下载的主题皮肤的资源会存储在该用户id对应的资源库中。
60.步骤s104:判断目标皮肤模式是否满足预设条件,若目标皮肤模式满足预设条件,则根据目标皮肤模式和目标页面,在资源库中获取视图皮肤资源。
61.可以理解的是,由于用户登录应用程序后不一定会访问应用程序中的所有页面,因此,视图皮肤资源是动态加载的,那么需要根据目标皮肤模式和目标页面,确定对应的视图皮肤资源,在一定程度上能够节约系统资源,提高换肤的效率。
62.示例性地,假设应用程序a存在页面a、页面b和页面c,应用程序a存在主题皮肤d、主题皮肤e,通过应用程序发起的换肤请求,可以确定目标皮肤模式为主题皮肤e,目标页面为页面b,此时只需要获取主题皮肤e对应的资源中的页面b的资源即可,无需一次性获取页面a、页面b和页面c对应的资源,由此可见,应用程序的换肤复杂度,可以由需要换肤的页面元素数量决定。
63.步骤s105:在资源库中获取与目标页面中的每个目标控件对应的控件皮肤资源。
64.其中,目标页面中包含至少一个控件,而每一个控件均对应一个控件皮肤资源。
65.步骤s106:根据视图皮肤资源和各个控件皮肤资源,进行代理换肤。
66.本技术提供的应用程序换肤方法,当终端接收到应用程序发起的换肤请求时,获取换肤请求中包含的用户id和换肤信息;根据获取到的用户id,确定与用户id对应的资源库;进而根据换肤信息,确定目标页面和目标皮肤模式;判断目标皮肤模式是否满足预设条件,若目标皮肤模式满足预设条件,则根据目标皮肤模式和目标页面,在资源库中获取视图皮肤资源;并在所述资源库中获取与目标页面中的每个目标控件对应的控件皮肤资源;最终根据视图皮肤资源和各个控件皮肤资源,进行代理换肤。通过构建一整套的第三方换肤业务逻辑,以满足ios应用程序多套主题换肤的需求,且由于第三方换肤业务逻辑与ios系统耦合程度较低,有利于ios应用程序研发人员进行动态扩展。
67.如图2所示,在其中一个实施例中,判断目标皮肤模式是否满足预设条件,包括:
68.步骤s201:判断目标皮肤模式是否为黑暗模式。
69.其中,黑暗模式为苹果在ios13上推出的模式,通过系统sdk自带的黑暗模式主题框架,ios应用程序开发者遵循既定的规范即可适配黑暗模式。
70.步骤s202:若目标皮肤模式不是黑暗模式,则目标皮肤模式满足预设条件。
71.步骤s203:若目标皮肤模式为黑暗模式,则判断终端的黑暗模式系统开关是否处于关闭状态。
72.步骤s204:若终端的黑暗模式系统开关处于关闭状态,则目标皮肤模式满足预设
条件。
73.其中,终端的黑暗模式系统开关是指ios系统自带的黑暗模式的状态,当终端的黑暗模式系统开关处于开启状态时,那么ios系统自带的黑暗模式的状态为启用状态,当终端的黑暗模式系统开关处于关闭状态时,那么ios系统自带的黑暗模式的状态为停用状态。
74.具体而言,当目标皮肤模式是黑暗模式且终端的黑暗模式系统开关处于关闭状态时,则判断该目标皮肤模式满足预设条件,当目标皮肤模式是除了黑暗模式以外的其它皮肤模式时,则判断该目标皮肤模式满足预设条件。
75.步骤s205:若终端的黑暗模式系统开关处于开启状态,则所目标皮肤模式不满足预设条件。
76.当目标皮肤模式是黑暗模式且终端的黑暗模式系统开关处于开启状态时,则表示用户想要切换的主题皮肤为黑暗模式,但此时ios系统自带的黑暗模式的状态处于启用状态,那么此时不需要进行应用程序换肤。
77.如图3所示,在其中一个实施例中,根据目标皮肤模式和目标页面,在资源库中获取视图皮肤资源,包括:
78.步骤s301:在资源库中,根据目标皮肤模式,确定与目标皮肤模式对应的目标资源。
79.步骤s302:在目标资源中,查询并获取与目标页面对应的视图皮肤资源。
80.首先可以根据目标皮肤模式,确定对应的资源的集合,即目标资源,在所述目标资源中,再根据目标页面,查询与所述目标页面对应的视图皮肤资源。
81.更进一步地,若查询结果为空,则读取目标皮肤模式在默认模式下与该目标页面对应的视图皮肤资源。
82.示例性地,假设应用程序a存在页面a、页面b和页面c,当目标页面为页面c且用户需要切换的皮肤模式为主题皮肤b时,确定与主题皮肤b对应的目标资源,并在所述目标资源中,查询与页面c对应的视图皮肤资源,若不存在与页面c对应的视图皮肤资源,可以获取主题皮肤b在默认模式下与页面c对应的视图皮肤资源。
83.如图4所示,在其中一个实施例中,在资源库中获取与目标页面中的每个目标控件对应的控件皮肤资源,包括:
84.步骤s401:在资源库中查询与每个目标控件对应的控件皮肤资源。
85.步骤s402:在各个目标控件中,将存在与其对应的控件皮肤资源的目标控件确定为第一目标控件。
86.步骤s403:在资源库中获取与所述第一目标控件对应的控件皮肤资源。
87.在其中一个实施例中,在资源库中获取与目标页面中的每个目标控件对应的控件皮肤资源,还包括:
88.在各个目标控件中,将不存在与其对应的控件皮肤资源的目标控件确定为第二目标控件;
89.在资源库中获取与所述第二目标控件对应的默认控件皮肤资源。
90.可以理解的是,获取控件对应的控件皮肤资源时,若不存在该控件对应的控件皮肤资源时,则读取默认模式下与该控件对应的控件皮肤资源。
91.示例性地,假设页面a存在控件a、控件b和控件c,在资源库中,控件a存在与其对应
的控件皮肤资源,控件b存在与其对应的控件皮肤资源,但控件c不存在与其对应的控件皮肤资源,则将控件a和控件b确定为第一目标控件,将控件c确定为第二目标控件,对于第二目标控件,可以获取与其对应的默认皮肤资源。
92.如图5所示,本发明实施例提供了一种应用程序换肤框架的类图,包括:
93.ui模式管理模块,采用单例模式,用于统一管理换肤元素,监听应用程序激活事件以获悉ios系统黑暗模式的变化,提供ui模式切换接口,分发ui模式切换通知,该ui模式管理模块对ui模式换肤过程进行抽象,还用于管理ui模式代理的弱引用集合,整体切换界面主题皮肤。
94.基础视图,通过ios分类进行扩展,实现配置ui模式的背景色、刷新等接口,持有ui模式代理。由业务规范约定,由视图实例控制ui模式代理的生命周期,以懒加载方式动态创建,即没有配置ui模式资源的视图,将不会增加冗余的代理,以保证换肤效率。
95.ui模式代理,通过弱引用关联视图实例,代替视图处理ui模式变化,可以降低耦合度。
96.控件,继承于基础视图,同样通过ios分类进行扩展,根据控件的特性实现相关ui模式配置接口,持有对应控件的ui模式代理,控件的ui模式代理继承于基础视图的ui模式代理,可增加与控件相关的图片和颜色属性等等。
97.每个ui模式代理通过字典数据结构存取ui模式资源,实现快速查找和替换。由于字典数据结构可与json或者xml相互转换,所以任何控件乃至整个页面的ui模式资源,都可以转换成json或者xml文件,从而满足页面ui模式资源的缓存和下载、主题皮肤版本管理等可能的业务扩展需求。
98.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
99.下面对本技术实施例提供的应用程序换肤装置进行描述,下文描述的应用程序换肤装置与上文描述的应用程序换肤方法可相互对应参照。
100.如图6所示,本技术实施例提供了一种应用程序换肤装置500,所述装置应用于终端,包括:
101.第一获取模块501,用于当接收到应用程序发起的换肤请求时,获取换肤请求中包括的用户id和换肤信息;
102.第一确定模块502,用于根据用户id,确定与用户id对应的资源库;
103.第二确定模块503,用于根据换肤信息,确定目标页面和目标皮肤模式;
104.第二获取模块504,用于判断目标皮肤模式是否满足预设条件,若目标皮肤模式满足预设条件,则根据目标皮肤模式和目标页面,在资源库中获取视图皮肤资源;
105.第三获取模块505,用于在资源库中获取与目标页面中的每个目标控件对应的控件皮肤资源;
106.换肤模块506,用于根据视图皮肤资源和各个控件皮肤资源,进行代理换肤。
107.在其中一个实施例中,所述第二获取模块504包括:
108.第一判断子模块,用于判断目标皮肤模式是否为黑暗模式,若目标皮肤模式不是黑暗模式,则目标皮肤模式满足预设条件;
109.第二判断子模块,用于若目标皮肤模式为黑暗模式,则判断终端的黑暗模式系统开关是否处于关闭状态,若终端的黑暗模式系统开关处于关闭状态,则目标皮肤模式满足预设条件。
110.在其中一个实施例中,所述第二获取模块504还包括:
111.第三判断子模块,用于若终端的黑暗模式系统开关处于开启状态,则所目标皮肤模式不满足预设条件。
112.在其中一个实施例中,所述第二获取模块504包括:
113.第一确定子模块,用于在资源库中,根据目标皮肤模式,确定与目标皮肤模式对应的目标资源;
114.第一获取子模块,用于在目标资源中,查询并获取与目标页面对应的视图皮肤资源。
115.在其中一个实施例中,所述第三获取模块505包括:
116.查询子模块,用于在资源库中查询与每个目标控件对应的控件皮肤资源;
117.第二确定子模块,用于在各个目标控件中,将存在与其对应的控件皮肤资源的目标控件确定为第一目标控件;
118.第二获取子模块,用于在资源库中获取与所述第一目标控件对应的控件皮肤资源。
119.在其中一个实施例中,所述第三获取模块505还包括:
120.第三确定子模块,用于在各个目标控件中,将不存在与其对应的控件皮肤资源的目标控件确定为第二目标控件;
121.第三获取子模块,用于在资源库中获取与所述第二目标控件对应的默认控件皮肤资源。
122.上述应用程序换肤装置中各个模块的划分仅仅用于举例说明,在其他实施例中,可将应用程序换肤装置按照需要划分为不同的模块,以完成上述应用程序换肤装置的全部或部分功能。上述应用程序换肤装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
123.在一个实施例中,本技术还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
124.当接收到应用程序发起的换肤请求时,获取换肤请求中包括的用户id和换肤信息;
125.根据用户id,确定与用户id对应的资源库;
126.根据换肤信息,确定目标页面和目标皮肤模式;
127.判断目标皮肤模式是否满足预设条件,若目标皮肤模式满足预设条件,则根据目标皮肤模式和目标页面,在资源库中获取视图皮肤资源;
128.在资源库中获取与目标页面中的每个目标控件对应的控件皮肤资源;
129.根据视图皮肤资源和各个控件皮肤资源,进行代理换肤。
130.在其中一个实施例中,计算机可读指令被处理器执行时还实现以下步骤:
131.判断目标皮肤模式是否为黑暗模式,若目标皮肤模式不是黑暗模式,则目标皮肤模式满足预设条件;
132.若目标皮肤模式为黑暗模式,则判断终端的黑暗模式系统开关是否处于关闭状态,若终端的黑暗模式系统开关处于关闭状态,则目标皮肤模式满足预设条件。
133.在其中一个实施例中,计算机可读指令被处理器执行时还实现以下步骤:
134.若终端的黑暗模式系统开关处于开启状态,则所目标皮肤模式不满足预设条件。
135.在其中一个实施例中,计算机可读指令被处理器执行时还实现以下步骤:
136.在资源库中,根据目标皮肤模式,确定与目标皮肤模式对应的目标资源;
137.在目标资源中,查询并获取与目标页面对应的视图皮肤资源。
138.在其中一个实施例中,计算机可读指令被处理器执行时还实现以下步骤:
139.在资源库中查询与每个目标控件对应的控件皮肤资源;
140.在各个目标控件中,将存在与其对应的控件皮肤资源的目标控件确定为第一目标控件;
141.在资源库中获取与所述第一目标控件对应的控件皮肤资源。
142.在其中一个实施例中,计算机可读指令被处理器执行时还实现以下步骤:
143.在各个目标控件中,将不存在与其对应的控件皮肤资源的目标控件确定为第二目标控件;
144.在资源库中获取与所述第二目标控件对应的默认控件皮肤资源。
145.在一个实施例中,本技术还提供了一种计算机设备,所述计算机设备中存储有计算机可读指令,所述一个或多个处理器执行所述计算机可读指令时,执行以下步骤:
146.当接收到应用程序发起的换肤请求时,获取换肤请求中包括的用户id和换肤信息;
147.根据用户id,确定与用户id对应的资源库;
148.根据换肤信息,确定目标页面和目标皮肤模式;
149.判断目标皮肤模式是否满足预设条件,若目标皮肤模式满足预设条件,则根据目标皮肤模式和目标页面,在资源库中获取视图皮肤资源;
150.在资源库中获取与目标页面中的每个目标控件对应的控件皮肤资源;
151.根据视图皮肤资源和各个控件皮肤资源,进行代理换肤。
152.在其中一个实施例中,处理器执行计算机可读指令时还执行以下步骤:
153.判断目标皮肤模式是否为黑暗模式,若目标皮肤模式不是黑暗模式,则目标皮肤模式满足预设条件;
154.若目标皮肤模式为黑暗模式,则判断终端的黑暗模式系统开关是否处于关闭状态,若终端的黑暗模式系统开关处于关闭状态,则目标皮肤模式满足预设条件。
155.在其中一个实施例中,处理器执行计算机可读指令时还执行以下步骤:
156.若终端的黑暗模式系统开关处于开启状态,则所目标皮肤模式不满足预设条件。
157.在其中一个实施例中,处理器执行计算机可读指令时还执行以下步骤:
158.在资源库中,根据目标皮肤模式,确定与目标皮肤模式对应的目标资源;
159.在目标资源中,查询并获取与目标页面对应的视图皮肤资源。
160.在其中一个实施例中,处理器执行计算机可读指令时还执行以下步骤:
161.在资源库中查询与每个目标控件对应的控件皮肤资源;
162.在各个目标控件中,将存在与其对应的控件皮肤资源的目标控件确定为第一目标控件;
163.在资源库中获取与所述第一目标控件对应的控件皮肤资源。
164.在其中一个实施例中,处理器执行计算机可读指令时还执行以下步骤:
165.在各个目标控件中,将不存在与其对应的控件皮肤资源的目标控件确定为第二目标控件;
166.在资源库中获取与所述第二目标控件对应的默认控件皮肤资源。
167.示意性地,如图7所示,图7为本技术实施例提供的一种计算机设备的内部结构示意图,该计算机设备600可以被提供为一服务器。参照图7,计算机设备600包括处理组件602,其进一步包括一个或多个处理器,以及由存储器601所代表的存储器资源,用于存储可由处理组件602的执行的指令,例如应用程序。存储器601中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件602被配置为执行指令,以执行上述任意实施例的应用程序换肤方法。
168.计算机设备600还可以包括一个电源组件603被配置为执行计算机设备600的电源管理,一个有线或无线网络接口604被配置为将计算机设备600连接到网络,和一个输入输出(i/o)接口605。计算机设备600可以操作基于存储在存储器601的操作系统,例如windows server tm、mac os xtm、unix tm、linux tm、free bsdtm或类似。
169.本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
170.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本文中,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。
171.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即
可。
172.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种应用程序换肤方法,其特征在于,所述方法应用于终端,包括:当接收到应用程序发起的换肤请求时,获取所述换肤请求中包含的用户id和换肤信息;根据所述用户id,确定与所述用户id对应的资源库;根据所述换肤信息,确定目标页面和目标皮肤模式;判断所述目标皮肤模式是否满足预设条件,若所述目标皮肤模式满足所述预设条件,则根据所述目标皮肤模式和所述目标页面,在所述资源库中获取视图皮肤资源;在所述资源库中获取与所述目标页面中的每个目标控件对应的控件皮肤资源;根据所述视图皮肤资源和各个所述控件皮肤资源,进行代理换肤。2.根据权利要求1所述的应用程序换肤方法,其特征在于,所述判断所述目标皮肤模式是否满足预设条件,包括:判断所述目标皮肤模式是否为黑暗模式,若所述目标皮肤模式不是黑暗模式,则所述目标皮肤模式满足所述预设条件;若所述目标皮肤模式为黑暗模式,则判断所述终端的黑暗模式系统开关是否处于关闭状态,若所述终端的黑暗模式系统开关处于关闭状态,则所述目标皮肤模式满足所述预设条件。3.根据权利要求2所述的应用程序换肤方法,其特征在于,所述判断所述目标皮肤模式是否满足预设条件,还包括:若所述终端的黑暗模式系统开关处于开启状态,则所述目标皮肤模式不满足所述预设条件。4.根据权利要求1所述的应用程序换肤方法,其特征在于,所述根据所述目标皮肤模式和所述目标页面,在所述资源库中获取视图皮肤资源,包括:在所述资源库中,根据所述目标皮肤模式,确定与所述目标皮肤模式对应的目标资源;在所述目标资源中,查询并获取与所述目标页面对应的视图皮肤资源。5.根据权利要求4所述的应用程序换肤方法,其特征在于,所述在所述资源库中获取与所述目标页面中的每个目标控件对应的控件皮肤资源,包括:在所述资源库中查询与每个目标控件对应的控件皮肤资源;在各个目标控件中,将存在与其对应的控件皮肤资源的目标控件确定为第一目标控件;在所述资源库中获取与所述第一目标控件对应的控件皮肤资源。6.根据权利要求5所述的应用程序换肤方法,其特征在于,所述在所述资源库中获取与所述目标页面中的每个目标控件对应的控件皮肤资源,还包括:在各个目标控件中,将不存在与其对应的控件皮肤资源的目标控件确定为第二目标控件;在所述资源库中获取与所述第二目标控件对应的默认控件皮肤资源。7.一种应用程序换肤装置,其特征在于,所述装置应用于终端,包括:第一获取模块,用于当接收到应用程序发起的换肤请求时,获取所述换肤请求中包含的用户id和换肤信息;第一确定模块,用于根据所述用户id,确定与所述用户id对应的资源库;
第二确定模块,用于根据所述换肤信息,确定目标页面和目标皮肤模式;第二获取模块,用于判断所述目标皮肤模式是否满足预设条件,若所述目标皮肤模式满足所述预设条件,则根据所述目标皮肤模式和所述目标页面,在所述资源库中获取视图皮肤资源;第三获取模块,用于在所述资源库中获取与所述目标页面中的每个目标控件对应的控件皮肤资源;换肤模块,用于根据所述视图皮肤资源和各个所述控件皮肤资源,进行代理换肤。8.根据权利要求7所述的应用程序换肤装置,其特征在于,所述第二获取模块包括:第一判断子模块,用于判断所述目标皮肤模式是否为黑暗模式,若所述目标皮肤模式不是黑暗模式,则所述目标皮肤模式满足所述预设条件;第二判断子模块,用于若所述目标皮肤模式为黑暗模式,则判断所述终端的黑暗模式系统开关是否处于关闭状态,若所述终端的黑暗模式系统开关处于关闭状态,则所述目标皮肤模式满足所述预设条件。9.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任一项所述应用程序换肤方法的步骤。10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1至6中任一项所述应用程序换肤方法的步骤。

技术总结
本申请提供的应用程序换肤方法、装置、存储介质及计算机设备,当接收到应用程序发起的换肤请求时,获取换肤请求中包含的用户ID和换肤信息;根据获取到的用户ID,确定与用户ID对应的资源库;根据换肤信息,确定目标页面和目标皮肤模式;判断目标皮肤模式是否满足预设条件,若目标皮肤模式满足预设条件,则根据目标皮肤模式和目标页面,在资源库中获取视图皮肤资源;在所述资源库中获取与目标页面中的每个目标控件对应的控件皮肤资源;根据视图皮肤资源和各个控件皮肤资源,进行代理换肤。通过构建一整套的第三方换肤业务逻辑,满足iOS应用程序多套主题换肤的需求,且由于第三方换肤业务逻辑与iOS系统耦合程度较低,有利于研发人员进行动态扩展。员进行动态扩展。员进行动态扩展。


技术研发人员:区忠勇 王刚 陈天明 陶智明 邓文钊
受保护的技术使用者:天翼数字生活科技有限公司
技术研发日:2023.05.31
技术公布日:2023/8/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐