一种页面生成方法和装置与流程

文档序号:27904696发布日期:2021-12-11 03:47阅读:77来源:国知局
一种页面生成方法和装置与流程

1.本发明涉及信息处理技术领域,特别涉及一种页面生成方法和装置。


背景技术:

2.目前,应用的页面都通过设置模块实现,如登录、头像、昵称、意见反馈等页面的实现。
3.在实现本技术的过程中,发明人发现每个app都需要重新开发一套设置模块来生成应用的页面,导致开发时间周期长、成本高,效率低;如果应用采用原生android或ios开发,需要开发两种语言,效率更低。


技术实现要素:

4.有鉴于此,本技术提供一种页面生成方法,能够在低成本条件下,提高页面生成效率。
5.为解决上述技术问题,本技术的技术方案是这样实现的:
6.在一个实施例中,提供了一种页面生成方法,所述方法包括:
7.加载插件;
8.确定是否有对象简谱json串作为所述插件对应的页面的入参;
9.当确定有json串作为所述插件对应的页面的入参时,解析获取所述json串中的对象;
10.按照所述对象在所述josn串中的先后顺序处理所述对象,生成所述插件对应的页面。
11.在另一个实施例中,提供了一种页面生成装置,其特征在于,所述装置包括:加载单元、确定单元、解析单元和处理单元;
12.所述加载单元,用于加载插件;
13.所述确定单元,用于确定是否有对象简谱json串作为所述加载单元加载的插件对应的页面的入参;
14.所述解析单元,用于当所述确定单元确定有json串作为所述插件对应的页面的入参时,解析获取所述json串中的对象;
15.所述处理单元,用于按照所述解析单元解析获取的对象在所述josn串中的先后顺序处理所述对象,生成所述插件对应的页面。
16.在另一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述页面生成方法的步骤。
17.在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述页面生成方法的步骤。
18.由上面的技术方案可见,上述实施例中通过预先配置json作为插件的页面的入
参,在插件运行时,根据所述josn串所配置的对象生成所述插件的页面。通过预先对插件的页面的入参进行设置来实现设置模块,能够在低成本条件下,提高页面生成效率。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1为本技术实施例中josn串配置流程示意图;
21.图2为本技术实施例一中页面生成流程示意图;
22.图3为本技术实施例二中页面生成流程示意图;
23.图4为本技术实施例三中页面生成流程示意图;
24.图5为本技术实施例中应用于上述技术的装置结构示意图;
25.图6为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
26.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
28.下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
29.本技术实施例中提供一种页面生成方法,基于flutter技术,快速生成设置模块,进而快速生成相关页面,达到快速上线应用的目的。
30.本技术实施例中提供的技术方案适用于app起步时快速上线的场景,使用flutter技术,无论是android还是ios接入成本都比较低,并且flutter可以流畅的运行在android和ios平台,实现一套代码运行两端的目的。
31.本技术实施例中,利用flutter能流畅运行在android和ios的特性,编写一套通用的设置作为sdk提供给需要的app使用,同时可以接受用户配置以满足用户的个性化需求。这样的实现方案中flutter只写一套代码,就能运行在android和ios两端,极大减少了研发和维护的工作量。
32.本技术实施例中下文给出针对每个插件的相关处理过程:
33.针对插件的相关处理过程包括配置和加载两个过程:
34.针对配置为根据实际需要配置对象简谱(javascript object notation,josn)串,也可以不配置,则自动提供默认配置。
35.参见图1,图1为本技术实施例中josn串配置流程示意图。具体步骤为:
36.步骤101,在配置文件中引入插件。
37.这里的配置文件指对应app的配置文件。
38.引入的插件为实现app的应用页面,如登录、昵称、意见反馈等页面。
39.步骤102,指定引用所述插件对应的页面的位置。
40.即使用者根据需要在使用者指定的位置引用对应插件的页面。
41.步骤103,配置josn串,并将所述josn串作为所述插件对应的页面的入参。
42.根据页面实现的需要可以配置josn串,josn串包含一个或多个对象,每个对象包含的字段如下:
43.字段关键字(key)和字段样式(styles);
44.其中,key用于标识对象对应的内容为功能标识或新增类型;其中,功能标识为预先封装在skd中的功能的标识,如登录,可以直接调用预先已开发完成的功能模块实现对应的功能即可,如果key的内容为新增类型(new_type),表示用户自定义,此时,用户需要传入自定义的文件(用于实现自定义的页面的功能的代码文件)的路径,以便生成页面时调用。
45.字段styles用于描述生成页面的样式,如高度(hight)、字体大小(fontsize)、上下距离、文字颜色等。
46.每个对象还可以包含如下字段,也可以不包含:
47.字段des、字段url、字段action、字段child。
48.其中,字段des用于描述功能显示的名称,如头像、客服等;
49.字段url,如果有网络图片,对应网络图片的链接地址;如果有网络文件,对应网络文件的链接地址;
50.字段action,用于绑定动作,如跳转到指定页面,或者是删除指定信息等。
51.字段child,表示当前页面的下一级页面,即当前页面的二级页面。
52.上述给出的字段仅是一种举例,具体实现时,可以根据实际需要进行字段的增加或减少设置。
53.下面结合附图,给出加载插件生成页面的具体过程。
54.实施例一
55.参见图2,图2为本技术实施例一中页面生成流程示意图。具体步骤为:
56.步骤201,加载插件。
57.步骤202,确定是否有json串作为所述插件对应的页面的入参。
58.当确定没有josn串作为所述插件对应的页面的入参时,根据默认的配置表生成所述插件对应的页面,供app使用。
59.步骤203,当确定有json串作为所述插件对应的页面的入参时,解析获取所述json串中的对象。
60.一个josn串包含的对象为一个,或多个,在一个josn串中一个大括号对应的对象为一个,如下述josn串:
61.{{"key":"headimg","des":"头像","url":"https://xxxxxxx","styles":{"hight"
62.:"70","fontsize":"30"},"child":{"key":"name","action":"https:xxxxx"}},{"key":"customer_service","action":"https:xxxxx","des":"客服","styles":{"hight":"70",
63."fontsize":"30"},},{"key":"new_type","classname":"xxxxx"}}。
64.该josn串包含三个对象,第一个对象为:{{"key":"headimg","des":"头像","url":"https://xxxxxxx","styles":{"hight":"70","fontsize":"30"},"child":
65.{"key":"name","action":"https:xxxxx"}};第二个对象为:{"key":"customer_service","action":"https:xxxxx","des":"客服","styles":
66.{"hight":"70","fontsize":"30"},};第三个对象为:{"key":"new_type","classname":"xxxxx"}}。
67.步骤204,按照所述对象在所述josn串中的先后顺序处理所述对象,生成所述插件对应的页面。
68.在生成对应的页面时,按照每个对象在josn串中的先后顺序,顺序执行每个对象,即先处理第一个对象,再处理第二个对象,最后再处理第三个对象,第三个对象处理完成时,整个josn串处理完成。
69.本实施例中通过预先配置json作为插件的页面的入参,在插件运行时,根据所述josn串所配置的对象生成所述插件的页面。通过预先对插件的页面的入参进行设置来实现设置模块,能够在低成本条件下,提高页面生成效率。
70.实施例二
71.参见图3,图3为本技术实施例二中页面生成流程示意图。具体步骤为:
72.步骤301,加载插件。
73.步骤302,确定是否有json串作为所述插件对应的页面的入参。
74.当确定没有josn串作为所述插件对应的页面的入参时,根据默认的配置表生成所述插件对应的页面,供app使用。
75.步骤303,当确定有json串作为所述插件对应的页面的入参时,解析获取所述json串中的对象。
76.一个josn串包含的对象为一个,或多个,在一个josn串中一个大括号对应的对象为一个,如下述josn串:
77.{{"key":"headimg","des":"头像","url":"https://xxxxxxx","styles":{"hight"
78.:"70","fontsize":"30"},"child":{"key":"name","action":"https:xxxxx"}},{"key":"customer_service","action":"https:xxxxx","des":"客服","styles":{"hight":"70",
79."fontsize":"30"},},{"key":"new_type","classname":"xxxxx"}}。
80.该josn串包含三个对象,第一个对象为:{{"key":"headimg","des":"头像","url":"https://xxxxxxx","styles":{"hight":"70","fontsize":"30"},"child":
81.{"key":"name","action":"https:xxxxx"}};第二个对象为:{"key":"customer_
service","action":"https:xxxxx","des":"客服","styles":
82.{"hight":"70","fontsize":"30"},};第三个对象为:{"key":"new_type","classname":"xxxxx"}}。
83.步骤304,按照所述对象在所述josn串中的先后顺序处理所述对象时,确定所述对象的字段key的内容是否为新增类型,如果是,执行步骤305;否则,执行步骤306。
84.解析获取josn串中的对象,针对每个对象均执行确定所述对象的字段key的内容是否为新增类型的操作。
85.步骤305,根据指定的页面生成文件生成对应的页面,执行步骤307。
86.如上述举例中的第三个对象字段key的内容为新增类型,则按照用户指定的页面生成文件生成对应的页面,如具体实现时,classname可以对应一个链接地址,使用链接地址对应的文件进行页面生成。
87.步骤306,根据所述字段key的功能标识查找到存储的对应功能模板,使用所述功能模板生成对应的页面。
88.如上述举例中的第一和第二个对象中,分别使用sdk中封装的已有功能:headimg和customer_service对应的功能实现页面的生成。
89.在一个对象中若存在styles字段,且确定所述styles字段对应的内容为空,则使用配置的默认样式进行加载生成对应页面的样式。
90.若存在styles字段,且确定所述styles字段对应的内容不为空,则使用所述styles字段对应的内容进行加载生成对应页面的样式。
91.如第一个对象中的styles字段对应的内容为:"hight":"70","fontsize":"30",则设置页面的样式为高度70,字体大小为30。
92.步骤307,当所述josn串中的最后一个对象处理完成时,生成所述插件对应的页面。
93.以上述举例的三个对象为例,依次处理完所有对象,则处理完所述josn串,即生成了插件对应的页面。
94.本实施例中通过预先配置json作为插件的页面的入参,在插件运行时,根据所述josn串所配置的对象生成所述插件的页面,不仅支持使用已设置的功能的直接调用,还支持用户自定义实现页面的入参。通过预先对插件的页面的入参进行设置来实现设置模块,能够在低成本条件下,提高页面生成效率;并满足用户的个性化需求,从而提高了用户体验。
95.实施例三
96.参见图4,图4为本技术实施例三中页面生成流程示意图。具体步骤为:
97.步骤401,加载插件。
98.步骤402,确定是否有json串作为所述插件对应的页面的入参。
99.当确定没有josn串作为所述插件对应的页面的入参时,根据默认的配置表生成所述插件对应的页面,供app使用。
100.步骤403,当确定有json串作为所述插件对应的页面的入参时,解析获取所述json串中的对象。
101.一个josn串包含的对象为一个,或多个,在一个josn串中一个大括号对应的对象
为一个,如下述josn串:
102.{{"key":"headimg","des":"头像","url":"https://xxxxxxx","styles":{"hight"
103.:"70","fontsize":"30"},"child":{"key":"name","action":"https:xxxxx"}},{"key":"customer_service","action":"https:xxxxx","des":"客服","styles":{"hight":"70",
104."fontsize":"30"},},{"key":"new_type","classname":"xxxxx"}}。
105.该josn串包含三个对象,第一个对象为:{{"key":"headimg","des":"头像","url":"https://xxxxxxx","styles":{"hight":"70","fontsize":"30"},"child":
106.{"key":"name","action":"https:xxxxx"}};第二个对象为:{"key":"customer_service","action":"https:xxxxx","des":"客服","styles":
107.{"hight":"70","fontsize":"30"},};第三个对象为:{"key":"new_type","classname":"xxxxx"}}。
108.步骤404,按照所述对象在所述josn串中的先后顺序处理所述对象。
109.步骤405,处理所述对象时,确定所述对象的字段key的内容是否为新增类型,如果是,执行步骤406;否则,执行步骤407。
110.解析获取josn串中的对象,针对每个对象均执行确定所述对象的字段key的内容是否为新增类型的操作。
111.步骤406,根据指定的页面生成文件生成对应的页面,执行步骤408。
112.如上述举例中的第三个对象字段key的内容为新增类型,则按照用户指定的页面生成文件生成对应的页面,如具体实现时,classname可以对应一个链接地址,使用链接地址对应的文件进行页面生成。
113.步骤407,根据所述字段key的功能标识查找到存储的对应功能模板,使用所述功能模板生成对应的页面。
114.如上述举例中的第一和第二个对象中,分别使用sdk中封装的已有功能:headimg和customer_service对应的功能实现页面的生成。
115.在一个对象中若存在styles字段,且确定所述styles字段对应的内容为空,则使用配置的默认样式进行加载生成对应页面的样式。
116.若存在styles字段,且确定所述styles字段对应的内容不为空,则使用所述styles字段对应的内容进行加载生成对应页面的样式。
117.步骤408,针对所述字段key对应的内容生成对应的页面时,确定所述页面是否存在下一级页面,如果是,执行步骤409;否则,执行步骤410。
118.在具体实现时,确定所述页面是否存在下一级页面,即确定所述字段key之后是否存在字段child。
119.步骤409,绑定动作为跳转到下一级页面,并根据所述下一级页面的字段key对应的内容生成页面,执行步骤408。
120.一个对象中可能存在多个下一级页面,直到当前的页面不存在下一级页面时,结束该对象的处理,如举例中的第一个对象,存在一个二级页面,即整个对象处理流程为:首先执行第一个对象中的headimg对应的页面,再处理第一个对象中的child对应的下一级页
面;然后再处理第二个对象,最后处理第三个对象,当第三个对象处理完成时,处理完所述插件对应的页面的入参(josn串)。
121.步骤410,当所述josn串中的最后一个对象处理完成时,生成所述插件对应的页面。
122.本技术实施例中通过预先配置json作为插件的页面的入参,在插件运行时,根据所述josn串所配置的对象生成所述插件的页面,在执行所述对象时,若key对应的内容是自定义类型,则使用用户自己提供的文件生成页面;若key对应的内容为功能标识,则使用对应的已存在的功能模板生成页面;针对一个对象中若存在二级页面,则使用所述二级页面的key对一个的内容生成所述二级页面,直到一个对象中不再存在下一级页面,完成对该对象的处理;当所有对象都顺序处理完成时,生成所述插件对应的页面。通过预先对插件的页面的入参进行设置来实现设置模块,能够在低成本条件下,提高页面生成效率;并满足用户的个性化需求,从而提高了用户体验。
123.基于同样的发明构思,本技术实施例中还提供一种页面生成装置。参见图5,图5为本技术实施例中应用于上述技术的装置结构示意图。所述装置包括:加载单元501、确定单元502、解析单元503和处理单元504;
124.加载单元501,用于加载插件;
125.确定单元502,用于确定是否有对象简谱json串作为加载单元501加载的插件对应的页面的入参;
126.解析单元503,用于当确定单元502确定有json串作为所述插件对应的页面的入参时,解析获取所述json串中的对象;
127.处理单元504,用于按照解析单元503解析获取的对象在所述josn串中的先后顺序处理所述对象,生成所述插件对应的页面。
128.优选地,所述装置进一步包括:配置单元504;
129.配置单元504,用于在配置文件中引入插件;指定引用所述插件对应的页面的位置;并配置josn串;并将所述josn串作为所述插件对应的页面的入参。
130.其中,处理单元504,进一步用于处理所述对象时,若所述对象包括styles字段,且确定所述styles字段对应的内容为空,则使用配置的默认样式进行加载生成对应页面的样式。
131.较佳地,
132.处理单元504,具体用于确定所述对象的字段key的内容是否为新增类型,如果是,根据指定的页面生成文件生成对应的页面;否则,根据所述字段key的功能标识查找到存储的对应功能模板,使用所述功能模板生成对应的页面;其中,所述josn串包含字段key,其中,所述字段key对应的内容为功能标识或新增类型。
133.较佳地,
134.处理单元504,进一步用于针对所述字段key对应的内容生成对应的页面时,确定所述页面是否存在下一级页面,如果是,绑定动作为跳转到下一级页面,并根据所述下一级页面的字段key对应的内容生成页面,确定根据所述下一级页面的字段key对应的内容生成页面是否存在下一级页面,以此类推,直到当前生成的页面不存在下一级页面,结束对所述对象的处理。
135.上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
136.在另一个实施例中,还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述页面生成方法的步骤。
137.在另一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时可实现所述页面生成方法中的步骤。
138.图6为本发明实施例提供的一种电子设备的实体结构示意图。如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行如下方法:
139.加载插件;
140.确定是否有对象简谱json串作为所述插件对应的页面的入参;
141.当确定有json串作为所述插件对应的页面的入参时,解析获取所述json串中的对象;
142.按照所述对象在所述josn串中的先后顺序处理所述对象,生成所述插件对应的页面。
143.此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
144.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
145.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
146.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1