发明内容
本发明提供了一种多窗口共享对象存储实例的方法、装置及电子设备,以解决现有技术中部分或全部技术问题。
第一方面,本发明提供了一种多窗口共享对象存储实例的方法,该方法由主窗口执行,包括:
获取第一操作指令;
当确定第一操作指令为用户在主窗口中输入的用以执行预设功能的操作指令时,调用预构建的窗口模板,以及与预设功能对应的共享数据;
根据窗口模板、共享数据,创建与预设功能对应的子窗口并展示。
可选的,根据窗口模板、共享数据,创建与预设功能对应的子窗口并展示后,该方法还包括:
生成新的窗口模板,以便后续再次调用新的窗口模板创建子窗口。
可选的,该方法还包括:
获取第二操作指令;
当确定第二操作指令为预创建的任一子窗口传输的操作指令,且第二操作指令用以指示同步更新所有窗口的共享数据时,解析第二操作指令,获取第二操作指令中的第一标识信息和目标数据,第一标识信息用以指示待操作的目标对象;
根据第一标识信息,在主窗口一侧定位目标对象;
调用与第二操作指令对应的操作逻辑,作用在目标对象上,生成第一操作结果,第一操作结果包括将与目标对象对应的数据更新为目标数据;
将第一操作结果反馈至每一个子窗口,以便每一个子窗口同步展示第一操作结果。
可选的,当第二操作指令中携带有传输第二操作指令的子窗口的第二标识信息时,将第一操作结果反馈至每一个子窗口,具体包括:
将第一操作结果优先发送至与第二标识信息对应的子窗口,以便与第二标识信息对应的子窗口优先更新第一操作结果;
将第一操作结果发送至与第二标识信息对应的子窗口后,再将第一操作结果发送至除与第二标识信息对应的子窗口之外的其他子窗口。
可选的,该方法还包括:
获取预设子窗口传输的第三操作指令;
当确定第三操作指令用以指示调用预设方法时,解析第三操作指令,获取与预设方法对应的第三标识信息;
在主窗口一侧,根据第三标识信息,调用并运行与第三标识信息对应的预设方法的操作逻辑,生成第二操作结果;
将第二操作结果反馈至预设子窗口。
可选的,主窗口与任一子窗口之间的通信,通过electron中进程间通信方法实现。
第二方面,本发明提供了一种多窗口共享对象存储实例的方法,该方法由子窗口执行,包括:
获取操作指令;
当识别操作指令为预设类型的操作指令时,将操作指令传输至主窗口,其中,预设类型的操作指令包括更新所有窗口的共享数据,或调用共享方法;
接收主窗口反馈的与操作指令对应的操作结果,并进行显示。
第三方面,本发明提供了一种多窗口共享对象存储实例的装置,该装置包括:
获取模块,用于获取第一操作指令;
处理模块,用于当确定第一操作指令为用户在主窗口中输入的用以执行预设功能的操作指令时,调用预构建的窗口模板,以及与预设功能对应的共享数据;根据窗口模板、共享数据,创建与预设功能对应的子窗口;
展示模块,用于展示子窗口。
第四方面,本发明提供了一种多窗口共享对象存储实例的装置,该装置包括:
获取模块,用于获取操作指令;
处理模块,用于识别操作指令的类型;
发送模块,用于当操作指令的类型为预设类型时,将操作指令传输至主窗口,其中,预设类型的操作指令包括更新所有窗口的共享数据,或调用共享方法;
接收模块,用于接收主窗口反馈的与操作指令对应的操作结果;
展示模块,用于展示操作结果。
第五方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,以及显示器,其中,处理器,通信接口,存储器,以及显示器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一实施例提供的多窗口共享对象存储实例的方法的步骤;或者,实现第二方面任一实施例提供的多窗口共享对象存储实例的方法的步骤;
显示器,用于显示第一方面中任一实施方式所介绍的多窗口共享对象存储实例的方法中的待显示内容,或者,用于显示第二方面所介绍的多窗口共享对象存储实例的方法中的待显示内容,其中,待显示内容包括:主窗口/子窗口中显示的内容。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面任一实施例提供的多窗口共享对象存储实例的方法的步骤;或者,实现第二方面提供的多窗口共享对象存储实例的方法的步骤。
本发明实施例提供的该方法,在创建子窗口时,不再需要像现有技术中那样将与主窗口相同的数据或方法等复制到子窗口,用以完成对子窗口的创建,子窗口也无需再存储这部分数据和方法等。因此,会节省掉这部分数据/方法所占用的存储空间,尤其在子窗口比较多的情况下,节省存储空间这一效果尤为明显。而且,在创建子窗口时,因为不再需要重复创建上述所说明的数据和方法,使得项目开发更加简便和灵活,稳定性更好,也避免了代码冗余情况发生。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
针对背景技术中所提及的技术问题,本发明实施例提供了一种多窗口共享对象存储实例的方法。
下面将详细介绍具体的多窗口共享对象存储实例的方法步骤,可以参见本发明实施例提供的附图,图1为本发明实施例提供的一种多窗口共享对象存储实例的方法流程示意图。在一个可选的例子中,对象存储实例包括但不限于公用数据、公用方法等。也即是多窗口共享的数据,以及方法等。在一个可选的例子中,多窗口共享的数据和方法等可以分别进行封装,并存储在固定存储位置,用以生成对象存储实例。当多个窗口共享数据或方法时,通过共享对象存储实例的形式体现。在一个可选的例子中,多窗口之间的通信可以通过electron中进程间通信(Inter-ProcessCommunication,简称IPC)方法实现。其中,electron 是一个跨平台的、基于 Web 前端技术的桌面 GUI 应用程序开发框架。electron中进程间通信可以包括主窗口和一个或多个子窗口之间的通信。在执行主窗口和一个或多个子窗口之间的通信之前,首先利用本申请实施例提供的方法来创建子窗口。具体参见如下,在一个具体的实施例中,所提供的多窗口共享对象存储实例的方法步骤,将由主窗口执行。具体参见图1所示,该方法步骤包括:
步骤110,获取第一操作指令。
步骤120,当确定第一操作指令为用户在主窗口中输入的用以执行预设功能的操作指令时,调用预构建的窗口模板,以及与预设功能对应的共享数据。
具体的,第一操作指令为用户输入的操作指令。该操作指令用以指示某种预设功能,例如在主窗口进行触发分享功能的操作,将某些内容想要分享给其他用户,那么主窗口需要根据用户的操作指令,创建一个子窗口,也即是渲染一个用以展示分享页面的窗口,以便用户可以在分享页面的窗口执行分享操作。
主窗口一旦检测到第一操作指令为用户在主窗口中输入的用以执行分享功能的操作指令,则会调用预先构建的窗口模板,以及与分享功能对应的渲染页面所需的数据,该部分数据属于共享数据,可以是所有分享功能通用的页面渲染数据。如上所介绍的,该部分数据以封装模式存储在预设存储位置,主窗口执行调用操作即可。
在一个可选的例子中,主窗口一侧始终备份有一个或多个窗口模板。当一个或多个窗口模板被调用后,还会再继续生成新的窗口模板,以备不时之需。
也即是,在一个可选的例子中,根据窗口模板、共享数据,创建与预设功能对应的子窗口并展示后,该方法还包括:
生成新的窗口模板,以便后续再次调用新的窗口模板创建子窗口。
步骤130,根据窗口模板、共享数据,创建与预设功能对应的子窗口并展示。
具体的,主窗口将共享数据填充到窗口模板的相应位置,进行渲染后即可生成与预设功能(例如分享功能)对应的子窗口,然后显示子窗口即可。
进一步的,当用户还需要在子窗口显示某些特定数据时,也可以在生成子窗口后,通过子窗口调用与自身对应的数据进行显示。或者,用户自身在子窗口进行编辑某些数据进行显示。
本发明实施例提供的多窗口共享对象存储实例的方法,在创建子窗口时,不再需要像现有技术中那样将与主窗口相同的数据或方法等复制到子窗口,用以完成对子窗口的创建,子窗口也无需再存储这部分数据和方法等。因此,会节省掉这部分数据/方法所占用的存储空间,尤其在子窗口比较多的情况下,节省存储空间这一效果尤为明显。而且,在创建子窗口时,因为不再需要重复创建上述所说明的数据和方法,使得项目开发更加简便和灵活,稳定性更好,也避免了代码冗余情况发生。
可选的,除了在创建子窗口的过程中可以达到上述效果外,实际上共享对象存储实例的应用效果也可以体现在多窗口的数据更新中。具体参见如下,图2为本发明实施例提供的另一种多窗口共享对象存储实例的方法,具体参见如下方法步骤,包括:
步骤210,获取第二操作指令。
步骤220,当确定第二操作指令为预创建的任一子窗口传输的操作指令,且第二操作指令用以指示同步更新所有窗口的共享数据时,解析第二操作指令,获取第二操作指令中的第一标识信息和目标数据。
其中,第一标识信息用以指示待操作的目标对象。
具体的,用户如果希望对多窗口的共享数据进行更新,不论是在哪一个窗口(主窗口/任一子窗口)输入操作指令,具体执行与该操作指令对应的操作动作的都将是主窗口。因此,当主窗口接收到子窗口传输的第二操作指令后,识别到操作指令对应的操作内容为同步更新所有窗口的共享数据时,就会解析第二操作指令,获取第二操作指令中的第一标识信息和目标数据。
在一个具体的例子中,例如第二操作指令用以指示更新个人信息。个人信息首先在主窗口更新后,将同步在每一个子窗口进行展示。
因此,当子窗口检测到用户在当前显示界面输入某种操作指令后,将会将该操作指令转发至主窗口。然后有主窗口执行相应的操作,并将操作结果同步到每一个子窗口进行展示。
例如,如果更新的是个人签名。那么,目标对象即为个人签名,第一标识信息可以是个人签名本身,也可以是与个人签名对应的编号信息等。目标数据,则为即将更新的个人签名内容。
步骤230,根据第一标识信息,在主窗口一侧定位目标对象。
步骤240,调用与第二操作指令对应的操作逻辑,作用在目标对象上,生成第一操作结果。
如上所介绍的,第一标识信息为与目标对象对应的标识信息,那么,主窗口可以根据第一标识信息定位到目标对象。
然后,调用与第二操作指令对应的操作逻辑,作用在目标对象上,生成第一操作结果。其中,第一操作结果包括将与目标对象对应的数据更新为目标数据。
例如,各窗口界面当前显示的个人签名内容为“祝自己天天开心”,而目标数据为“希望自己一切顺利”。
那么,主窗口在调用更新个人签名内容的操作逻辑后,就会将主窗口所显示的个人签名的内容“祝自己天天开心”更新为“希望自己一切顺利”。然后再将个人签名更新后的签名内容同步到每一个子窗口进行显示。
也即是,步骤250,将第一操作结果反馈至每一个子窗口,以便每一个子窗口同步展示第一操作结果。
进一步可选的,当第二操作指令中携带有传输第二操作指令的子窗口的第二标识信息时,将第一操作结果反馈至每一个子窗口,具体包括如下方法步骤,具体参见图3所示:
步骤310,将第一操作结果优先发送至与第二标识信息对应的子窗口。
以便与第二标识信息对应的子窗口优先更新第一操作结果。
步骤320,将第一操作结果发送至与第二标识信息对应的子窗口后,再将第一操作结果发送至除与第二标识信息对应的子窗口之外的其他子窗口。
具体的,假设向主窗口发送第二操作指令的是子窗口A。那么,当主窗口执行完与第二操作指令对应的操作,生成相应的第一操作结果后,将会优先将第一操作结果发送至子窗口A。用以在子窗口A优先进行展示,其主要原因就是考虑到用户在子窗口A输入的操作指令,所以优先在子窗口A进行展示,方便用户在第一时间查看到第一操作结果。
对于其他子窗口而言,用户的关注力并不在其他子窗口上,对于其他子窗口展示第一操作结果的时效性并不是很重要,所以可以延迟展示。
在一个可选的例子中,第二标识信息可以是子窗口的会话ID,因为会话ID可以保证子窗口的唯一性,所以通过会话ID可以轻易的识别传输第二操作指令的子窗口,保证第一操作结果优先传输至该子窗口的准确性。
进一步可选的,主窗口除了可以执行上述操作外,也可以单独执行某种操作,例如某个子窗口期望调用某种方法,执行某个操作。而这种操作同样需要通过主窗口执行,然后将结果在该子窗口进行显示。例如,当用户在某个子窗口执行个人信息更新操作时,实际也是通过主窗口调用更新方法(共享方法)的运行逻辑,并执行操作后,将操作结果在该子窗口进行显示。具体的,该方法步骤具体参见图4所示,该方法步骤包括:
步骤410,获取预设子窗口传输的第三操作指令。
在一个可选的例子中,预设子窗口传输的第三操作指令中,可以包括预设子窗口对应的第二标识信息。以便于主窗口通过第二标识信息识别预设子窗口。或者,预设子窗口通过固定的传输通道传输第三操作指令,那么主窗口也可以通过传输通道识别是哪一个子窗口传输的第三操作指令。具体不做任何限定。
步骤420,当确定第三操作指令用以指示调用预设方法时,解析第三操作指令,获取与预设方法对应的第三标识信息。
具体的,第三标识信息即为与预设方法对应的标识信息,例如可以是预设方法对应的名称,或者编号信息等等。
步骤430,在主窗口一侧,根据第三标识信息,调用并运行与第三标识信息对应的预设方法的操作逻辑,生成第二操作结果。
步骤440,将第二操作结果反馈至预设子窗口。
具体的,如上所介绍的,主窗口可以根据第三标识信息,调用并运行与该预设方法,获取运行该方法后生成的数据。然后,将该数据反馈至预设子窗口,以便预设子窗口进行展示。
图5为本发明实施例提供的另一种多窗口共享对象存储实例的方法流程示意图,该方法由任一子窗口执行,该方法步骤包括:
步骤510,获取操作指令;
步骤520,当识别操作指令为预设类型的操作指令时,将操作指令传输至主窗口。
其中,预设类型的操作指令包括更新所有窗口的共享数据,或调用共享方法;
步骤530,接收主窗口反馈的与操作指令对应的操作结果,并进行显示。
可选的,除了包括上述方式可以主动获取到主窗口反馈的操作结果并显示外,也可能被动接收到主窗口反馈的操作结果,这种情况为用户在主窗口输入了某种操作指令,或者在其他子窗口输入了某种操作指令,而执行的操作也同样需要在所有子窗口同步更新,因此子窗口也可以接收到主窗口主动反馈的操作结果,并根据该操作结果完成更新操作。
本发明实施例提供的一种多窗口共享对象存储实例的方法,子窗口中将不再存储有共享数据或共享方法,需要执行某种操作时,将会直接发送指令至主窗口,通过主窗口调用相应的运行逻辑执行操作,并将反馈结果反馈至子窗口进行展示即可。整个过程中,会节省掉这部分数据/方法所占用的存储空间,尤其在子窗口比较多的情况下,节省存储空间这一效果尤为明显。而且,在创建子窗口时,因为不再需要重复创建上述所说明的数据和方法,使得项目开发更加简便和灵活,稳定性更好,也避免了代码冗余情况发生。
图6为本发明实施例提供的一种多窗口共享对象存储实例的装置的结构示意图,该装置包括:获取模块601、处理模块602,以及展示模块603。
获取模块601,用于获取第一操作指令;
处理模块602,用于当确定第一操作指令为用户在主窗口中输入的用以执行预设功能的操作指令时,调用预构建的窗口模板,以及与预设功能对应的共享数据;根据窗口模板、共享数据,创建与预设功能对应的子窗口;
展示模块603,用于展示子窗口。
可选的,该装置还包括:生成模块604。
生成模块604,用于生成新的窗口模板,以便后续再次调用新的窗口模板创建子窗口。
可选的,该装置还包括发送模块605;
获取模块601,还用于获取第二操作指令;
处理模块602,还用于当确定第二操作指令为预创建的任一子窗口传输的操作指令,且第二操作指令用以指示同步更新所有窗口的共享数据时,解析第二操作指令,获取第二操作指令中的第一标识信息和目标数据,第一标识信息用以指示待操作的目标对象;根据第一标识信息,在主窗口一侧定位目标对象;调用与第二操作指令对应的操作逻辑,作用在目标对象上,生成第一操作结果,第一操作结果包括将与目标对象对应的数据更新为目标数据;
发送模块605,还用于将第一操作结果反馈至每一个子窗口,以便每一个子窗口同步展示第一操作结果。
可选的,当第二操作指令中携带有传输第二操作指令的子窗口的第二标识信息时,发送模块605,具体用于:
将第一操作结果优先发送至与第二标识信息对应的子窗口,以便与第二标识信息对应的子窗口优先更新第一操作结果;
将第一操作结果发送至与第二标识信息对应的子窗口后,再将第一操作结果发送至除与第二标识信息对应的子窗口之外的其他子窗口。
可选的,获取模块601,还用于获取预设子窗口传输的第三操作指令;
处理模块602,还用于当确定第三操作指令用以指示调用预设方法时,解析第三操作指令,获取与预设方法对应的第三标识信息;在主窗口一侧,根据第三标识信息,调用并运行与第三标识信息对应的预设方法的操作逻辑,生成第二操作结果;
发送模块605,用于将第二操作结果反馈至预设子窗口。
进一步可选的,主窗口与任一子窗口之间的通信,通过electron中进程间通信方法实现。
本发明实施例提供的多窗口共享对象存储实例的装置中各部件所执行的功能均已在上述实施例中做了详细的描述,因此这里不再赘述。
本发明实施例提供的一种多窗口共享对象存储实例的装置,在创建子窗口时,不再需要像现有技术中那样将与主窗口相同的数据或方法等复制到子窗口,用以完成对子窗口的创建,子窗口也无需再存储这部分数据和方法等。因此,会节省掉这部分数据/方法所占用的存储空间,尤其在子窗口比较多的情况下,节省存储空间这一效果尤为明显。而且,在创建子窗口时,因为不再需要重复创建上述所说明的数据和方法,使得项目开发更加简便和灵活,稳定性更好,也避免了代码冗余情况发生。
图7为本发明实施例提供的另一种多窗口共享对象存储实例的装置的结构示意图,具体参见图7所示,该装置包括:获取模块701、处理模块702、发送模块703、接收模块704,以及展示模块705。
获取模块701,用于获取操作指令;
处理模块702,用于识别操作指令的类型;
发送模块703,用于当操作指令的类型为预设类型时,将操作指令传输至主窗口,其中,预设类型的操作指令包括更新所有窗口的共享数据,或调用共享方法;
接收模块704,用于接收主窗口反馈的与操作指令对应的操作结果;
展示模块705,用于展示操作结果。
本发明实施例提供的多窗口共享对象存储实例的装置中各部件所执行的功能均已在上述实施例中做了详细的描述,因此这里不再赘述。
本发明实施例提供的一种多窗口共享对象存储实例的装置,子窗口中将不再存储有共享数据或共享方法,需要执行某种操作时,将会直接发送指令至主窗口,通过主窗口调用相应的运行逻辑执行操作,并将反馈结果反馈至子窗口进行展示即可。整个过程中,会节省掉这部分数据/方法所占用的存储空间,尤其在子窗口比较多的情况下,节省存储空间这一效果尤为明显。而且,在创建子窗口时,因为不再需要重复创建上述所说明的数据和方法,使得项目开发更加简便和灵活,稳定性更好,也避免了代码冗余情况发生。
如图8所示,本发明实施例提供了一种电子设备实体结构示意图,包括处理器111、通信接口112、存储器113和通信总线114,以及显示器115,其中,处理器111,通信接口112,存储器113,以及显示器115通过通信总线114完成相互间的通信。
存储器113,用于存放计算机程序;
在本发明一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述图1至图4任一方法实施例提供的多窗口共享对象存储实例的方法,该方法包括:
获取第一操作指令;
当确定第一操作指令为用户在主窗口中输入的用以执行预设功能的操作指令时,调用预构建的窗口模板,以及与预设功能对应的共享数据;
根据窗口模板、共享数据,创建与预设功能对应的子窗口并展示。
可选的,根据窗口模板、共享数据,创建与预设功能对应的子窗口并展示后,方法还包括:
生成新的窗口模板,以便后续再次调用新的窗口模板创建子窗口。
可选的,方法还包括:
获取第二操作指令;
当确定第二操作指令为预创建的任一子窗口传输的操作指令,且第二操作指令用以指示同步更新所有窗口的共享数据时,解析第二操作指令,获取第二操作指令中的第一标识信息和目标数据,第一标识信息用以指示待操作的目标对象;
根据第一标识信息,在主窗口一侧定位目标对象;
调用与第二操作指令对应的操作逻辑,作用在目标对象上,生成第一操作结果,第一操作结果包括将与目标对象对应的数据更新为目标数据;
将第一操作结果反馈至每一个子窗口,以便每一个子窗口同步展示第一操作结果。
可选的,当第二操作指令中携带有传输第二操作指令的子窗口的第二标识信息时,将第一操作结果反馈至每一个子窗口,具体包括:
将第一操作结果优先发送至与第二标识信息对应的子窗口,以便与第二标识信息对应的子窗口优先更新第一操作结果;
将第一操作结果发送至与第二标识信息对应的子窗口后,再将第一操作结果发送至除与第二标识信息对应的子窗口之外的其他子窗口。
可选的,方法还包括:
获取预设子窗口传输的第三操作指令;
当确定第三操作指令用以指示调用预设方法时,解析第三操作指令,获取与预设方法对应的第三标识信息;
在主窗口一侧,根据第三标识信息,调用并运行与第三标识信息对应的预设方法的操作逻辑,生成第二操作结果;
将第二操作结果反馈至预设子窗口。
可选的,主窗口与任一子窗口之间的通信,通过electron中进程间通信方法实现。
处理器111,用于执行存储器113上所存放的程序时,实现前述图5方法实施例提供的多窗口共享对象存储实例的方法,该方法包括:
获取操作指令;
当识别操作指令为预设类型的操作指令时,将操作指令传输至主窗口,其中,预设类型的操作指令包括更新所有窗口的共享数据,或调用共享方法;
接收主窗口反馈的与操作指令对应的操作结果,并进行显示;
显示器115,用于显示前述任一方法实施例中的待显示的内容,其中,待显示内容包括:主窗口/子窗口中显示的内容,子窗口包括新建子窗口,以及之前已创建的子窗口等。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如前方法实施例提供的多窗口共享对象存储实例的方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。