本技术涉及计算机领域,尤其涉及一种页面开发方法、系统及相关设备。
背景技术:
1、页面开发过程中,一个页面通常由一个开发人员开发完成,但是如果页面内容较多,由一个开发人员完成需要消耗很长时间,影响开发效率,如果将一个页面分成多个区域交由不同的开发人员完成,由于开发人员无法看到其他区域的开发进度,很难确保多个区域拥有相同的风格,使得多人协同开发的网页效果差。
技术实现思路
1、本技术提供了一种页面开发方法、系统及相关设备,用于解决当前单人完成页面开发效率低、多人完成页面开发效果差的问题。
2、第一方面,提供了一种页面开发方法,该方法应用于页面开发系统,页面开发系统与多个客户端之间存在通信连接,多个客户端用于实现同一个页面的开发,页面包括多个区域,该方法包括以下步骤:页面开发系统接收多个客户端中的第一客户端发送的第一区域的写入请求,写入请求包括写入内容以及第一区域的区域信息,其中,第一区域由第一客户端控制,向多个客户端发送渲染请求,渲染请求包括写入内容以及第一区域的区域信息,渲染请求用于供多个客户端对各自显示的页面中的第一区域进行渲染。需要说明的,一个客户端可以对一个或者多个区域进行控制,但是一个区域对应的客户端只有一个。
3、实施第一方面描述的方法,通过将页面划分为多个区域,使得多个用户可以控制各自的客户端,对同一个页面进行协同开发,一个用户负责开发该页面的一个区域,从而解决多人开发容易出现的冲突问题,同时,每个用户在开发过程中,可以实时看到其他区域的开发内容,每个用户可以及时根据其他分区的开发情况调整自己的开发内容,使得网页整体风格保持一致,从而解决单人开发效率低、多人开发效果差的问题,提高用户的使用体验。
4、在一可能的实现方式中,渲染请求包括版本信息,版本信息用于供多个客户端将当前显示的页面中第一区域的区域内容的版本信息与渲染请求携带的写入内容的版本信息进行匹配,匹配不一致的客户端对页面中的第一区域进行渲染,匹配一致的客户端不处理渲染请求。
5、上述实现方式,通过记录版本信息,使得每个客户端可以即时显示出每个区域的最新版本的区域内容,使得用户可以及时获知其他用户的开发内容,提高用户的使用体验。并且,每次渲染只对区域进行渲染,网页不会整体刷新,使得用户在看到其他区域更新时,自己的区域不会随之更新,避免其他区域更新对本地的影响,提高用户的使用体验。
6、在一可能的实现方式中,页面开发系统存储有区域与客户端之间的第一对应关系,写入请求包括客户端信息,页面开发系统将客户端信息和第一区域的区域信息与第一对应关系进行匹配,在匹配一致的情况下,向多个客户端发送渲染请求。具体实现中,上述第一对应关系可以以表结构的形式进行存储,比如存储于区域分配表中。
7、上述实现方式,这样当用户发送写入请求时,通过确定区域分配表可以获知发起写入请求的用户是否拥有区域权限,从而确保拥有区域权限的用户才能进行区域编辑,从而避免多人开发同一个页面容易出现的冲突问题,提高用户的使用体验。
8、在一可能的实现方式中,页面开发系统接收多个客户端中的第一客户端发送的第一区域的写入请求之前,可接收第一客户端发送的第一区域的区域权限获取请求,确定第一对应关系中的第一区域不存在对应的客户端的情况下,根据区域权限获取请求更新第一对应关系,向第一客户端返回区域权限获取成功的通知,确定第一对应关系中的第一区域存在对应的客户端的情况下,向第一客户端返回区域权限获取失败的通知。
9、上述实现方式,用户通过发送第一区域的区域权限获取请求申请第一区域的区域权限,页面开发系统通过记录的第一对应关系确定是否发放区域权限,该方式使得每个区域的区域权限只能分配给一个用户,该用户拥有该区域的最高编辑权限,其他人需要编辑该区域时,需要通过该区域对应用户的同意,从而确保多人开发同一个页面时,不会出现冲突的问题。
10、在一可能的实现方式中,页面开发系统存储有多个区域中每个区域的区域锁状态,区域锁状态包括区域上锁状态和区域解锁状态,区域上锁状态用于指示区域对应的客户端拥有区域的独占权,区域解锁状态用于指示区域不限制客户端编辑,第一对应关系中记录的每个客户端拥有修改对应区域的区域锁状态的修改权限。
11、上述实现方式,每个区域的用户可以通过区域锁对自己控制的区域进行上锁或者解锁,这样用户不希望别人修改自己区域的开发内容时,可以对区域进行上锁,用户希望别人修改自己区域的开发内容时,可以对区域进行解锁。通过上述第一对应关系,可以保证每个区域有唯一的用户能对其保有控制权,通过上述区域锁,可以保证每个区域在唯一用户的控制下,也能根据业务需求被其他用户短暂控制。
12、在一可能的实现方式中,页面开发系统存储有公共资源的资源锁状态,资源锁状态包括资源上锁状态和资源解锁状态,资源上锁状态用于指示公共资源对应的客户端拥有公共资源的独占权,资源解锁状态用于指示公共资源不限制客户端使用,公共资源是页面开发过程中多个区域共享和协调使用的资源,公共资源的修改会影响多个区域的开发。
13、可选地,公共资源包括公共js文件、层叠样式表文件css文件、数据源请求、图片、文字格式、样式中的一种或者多种。
14、上述实现方式,当用户使用第一公共资源时,可以将第一公共资源进行上锁,使得其他用户无法使用该第一公共资源,从而避免公共资源冲突问题。应理解,由于多个用户协同开发同一个页面时,可能会使用一些公共资源,这些公共资源会同时影响多个区域,多个用户同时使用同一个公共资源,也可能会出现冲突,比如页面的样式可以是一种公共资源,第一区域的页面样式发生修改,第二区域、第三区域的页面样式也可能会发生修改,如果第一区域、第二区域以及第三区域对应的用户同时修改页面的样式,将会产生冲突,而通过上述公共资源锁可以良好地解决该问题。
15、在一可能的实现方式中,页面开发系统存储有公共资源与客户端之间的第二对应关系,方法还包括:接收第一客户端发送的第一公共资源的资源权限获取请求,确定第二对应关系中的第一公共资源不存在对应客户端的情况下,根据资源权限获取请求更新第二对应关系,向第一客户端返回资源权限获取成功的通知,确定第二对应关系中的第一公共资源存在对应客户端的情况下,向第一客户端返回资源权限获取失败的通知。
16、上述实现方式,用户通过发送第一公共资源的资源权限获取请求申请使用第一公共资源,页面开发系统通过记录的第二对应关系确定是否发放该资源权限,该方式使得每个公共资源只能分配给一个用户,该用户拥有该公共资源的最高使用权限,通过公共资源锁,用户可以根据实际的业务需求确定是否独占该公共资源,从而确保多人开发同一个页面时,不会出现公共资源冲突的问题。
17、在一可能的实现方式中,页面开发系统还可存储有公共资源的分配策略,该分配策略用于供页面开发系统处理上述资源权限获取请求,当第二对应关系中的第一公共资源不存在对应客户端时,再结合该分配策略确定是否发放该资源权限。具体可根据实际的应用场景用户自行设定所需的分配策略,从而实现对公共资源的协调,避免多个用户同时修改公共资源导致的冲突问题。
18、举例来说,分配策略可以根据用户权限等级来确定,比如两个用户发起第一公共资源的资源权限获取请求时,可以根据两个用户的权限等级确定将第一公共资源分配给哪个用户,比如第一用户的权限更高,那么该第一公共资源可以分配给第一用户;分配策略还可以根据用户申请权限的时间确定,采用“先到先得”的原则,为先发起请求的第一用户分配公共资源的使用权限,第一用户使用该公共资源进行页面开发时,其他用户都无法使用该公共资源;分配策略还可以根据黑白名单确定,比如设定无法使用公共资源的黑名单,若黑名单上的用户发起资源权限获取请求,可以向该用户返回无权限的通知。应理解,上述分配策略用于举例说明,本技术不作具体限定。
19、上述实现方式,通过配置公共资源的分配策略,使得用户可根据实际的业务需求灵活发放公共资源的使用权限,为人协同开发页面带来便利。
20、在一可能的实现方式中,多个客户端用于通过低代码技术实现同一个页面的开发。
21、具体实现中,在低代码场景下,每个页面可以包括多个页面容器(pagecontainer),因此页面开发系统可以基于页面容器确定页面的多个分区,一个容器对应一个分区。举例来说,对于web页面的开发设计,页面容器可以使用不同的html元素来实现,如<header>、<section>、<article>等。对于app页面的开发设计,页面容器可包括视图容器、模态容器、卡片容器等,具体可参考图2实施例中的相关举例,这里不重复赘述。
22、进一步地,在低代码场景下,每个区域的区域权限可以理解为该区域对应容器的结构(schema)片段的控制权,其中,schema实际上是一个用于描述页面结构、布局、组件和行为的配置文件,其内容包括但不限于布局信息、组件配置、交互行为、数据绑定、样式信息等。需要说明的是,一个schema文件通常描述的是整个页面的结构、布局、组件和行为的配置,而不仅仅局限于单个容器,所以一个容器的内容可以对应该页面的schema文件的一个schema片段,每个用户所获取的区域权限可以理解为对应容器的schema片段的控制权。
23、应理解,schema是为了完成用户的低代码配置而存在的配置文件,低代码平台的目标是让非专业开发人员也能够快速构建页面,而不需要深入编写大量的代码。为了实现这一目标,这些平台通常提供了可视化的界面,允许用户通过拖拽、设置参数等方式来配置页面的各个部分,根据这些配置即可生成页面的schema,schema可以看作是这些可配置元素的背后结构,它描述了元素之间的关系、如何响应用户的操作、数据的流动等,拥有schema权限的用户可以通过上述拖拽、设置参数的方式完成页面开发,因此,在低代码页面设计的场景下,每个区域的区域权限可以理解为schema片段的控制权。
24、上述实现方式,在低代码场景下,通过页面容器将页面划分为多个区域,每个用户通过客户端所获取的区域权限为每个容器对应的schema片段的控制权,在这一架构下,用户开始对页面进行开发时,可以将容器拖拽在需要开发的第一区域中,即可触发第一区域的区域权限获取请求,系统确定授予区域权限后,用户即可对第一区域进行编辑,为了避免其他用户对第一区域编辑导致开发冲突问题,用户可以点击上锁控件,对第一区域进行上锁,触发第一锁定请求,即可实现对第一区域的锁定。用户开始编辑第一区域后,点击保存控件,触发第一区域的写入请求,即可将第一区域的开发内容同步给开发该页面其他区域的用户,使得每个用户都可以及时获知其他用户的开发内容,并且每个用户也无法对其他用户的开发内容产生影响,从而解决多人协同开发同一个页面产生的冲突问题。
25、如果开发过程中用户需要使用公共资源,可以点击公共资源组件,申请公共资源的资源权限,并在获取到权限后根据需求对公共资源进行上锁,使得其他用户无法使用该公共资源,进一步解决多人协同开发同一个页面所产生的公共资源冲突问题。
26、第二方面,提供了一种页面开发系统,其特征在于,页面开发系统与多个客户端之间存在通信连接,多个客户端用于实现同一个页面的开发,页面包括多个区域,系统包括:更新单元,用于接收多个客户端中的第一客户端发送的第一区域的写入请求,写入请求包括写入内容以及第一区域的区域信息,其中,第一区域由第一客户端控制,同步单元,用于向多个客户端发送渲染请求,渲染请求包括写入内容以及第一区域的区域信息,渲染请求用于供多个客户端对各自显示的页面中的第一区域进行渲染。
27、实施第二方面描述的方法,通过将页面划分为多个区域,使得多个用户可以控制各自的客户端,对同一个页面进行协同开发,一个用户负责开发该页面的一个区域,从而解决多人开发容易出现的冲突问题,同时,每个用户在开发过程中,可以实时看到其他区域的开发内容,每个用户可以及时根据其他分区的开发情况调整自己的开发内容,使得网页整体风格保持一致,从而解决单人开发效率低、多人开发效果差的问题,提高用户的使用体验。
28、在一可能的实现方式中,渲染请求包括版本信息,版本信息用于供多个客户端将当前显示的页面中第一区域的区域内容的版本信息与渲染请求携带的写入内容的版本信息进行匹配,匹配不一致的客户端对页面中的第一区域进行渲染,匹配一致的客户端不处理渲染请求。
29、在一可能的实现方式中,述页面开发系统存储有区域与客户端之间的第一对应关系,写入请求包括客户端信息,同步单元,用于将客户端信息和第一区域的区域信息与第一对应关系进行匹配,在匹配一致的情况下,向多个客户端发送渲染请求。
30、在一可能的实现方式中,系统包括区域管理单元,区域管理单元,用于接收第一客户端发送的第一区域的区域权限获取请求,区域管理单元,用于确定第一对应关系中的第一区域不存在对应的客户端的情况下,根据区域权限获取请求更新第一对应关系,向第一客户端返回区域权限获取成功的通知,区域管理单元,用于确定第一对应关系中的第一区域存在对应的客户端的情况下,向第一客户端返回区域权限获取失败的通知。
31、在一可能的实现方式中,页面开发系统存储有多个区域中每个区域的区域锁状态,区域锁状态包括区域上锁状态和区域解锁状态,区域上锁状态用于指示区域对应的客户端拥有区域的独占权,区域解锁状态用于指示区域不限制客户端编辑,第一对应关系中记录的每个客户端拥有修改对应区域的区域锁状态的修改权限。
32、在一可能的实现方式中,页面开发系统存储有公共资源的资源锁状态,资源锁状态包括资源上锁状态和资源解锁状态,资源上锁状态用于指示公共资源对应的客户端拥有公共资源的独占权,资源解锁状态用于指示公共资源不限制客户端使用,公共资源是页面开发过程中多个区域共享和协调使用的资源,公共资源的修改会影响多个区域的开发。
33、在一可能的实现方式中,页面开发系统存储有公共资源与客户端之间的第二对应关系,系统包括公共资源管理单元,公共资源管理单元,用于接收第一客户端发送的第一公共资源的资源权限获取请求,公共资源管理单元,用于确定第二对应关系中的第一公共资源不存在对应客户端的情况下,根据资源权限获取请求更新第二对应关系,向第一客户端返回资源权限获取成功的通知,公共资源管理单元,用于确定第二对应关系中的第一公共资源存在对应客户端的情况下,向第一客户端返回资源权限获取失败的通知。
34、在一可能的实现方式中,公共资源包括公共js文件、层叠样式表文件css文件、数据源请求、图片、文字格式、样式中的一种或者多种。
35、在一可能的实现方式中,多个客户端用于通过低代码技术实现同一个页面的开发。
36、第三方面,提供了一种计算设备,该计算设备包括处理器和存储器,存储器用于存储指令,处理器用于执行指令,以使得计算设备实现如第一方面描述的方法。
37、第四方面,提供了一种计算设备集群,该计算设备集群包括至少一个计算设备,至少一个计算设备中的每个计算设备包括处理器和存储器,至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群实现如第一方面描述的方法。
38、第五方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,指令被计算设备或者计算设备集群运行时实现如第一方面描述的方法。
39、第六方面,提供了一种包含指令的计算机程序产品,计算机程序产品包括指令,该指令能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品,当计算机程序产品在计算设备或者计算设备集群上运行时,使得计算设备或者计算设备集群执行第一方面描述的方法。