首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 区块链账本 / 一种小程序调试方法、装置、设备及存储介质

一种小程序调试方法、装置、设备及存储介质

阅读:265发布:2020-05-11

专利汇可以提供一种小程序调试方法、装置、设备及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种小程序调试方法、装置、 电子 设备及存储介质;方法包括:小程序调试工具获取用于登录小程序 服务器 的虚拟测试账号,并在所述小程序调试工具的 人机交互 界面中呈现所述虚拟测试账号;响应于针对所述虚拟测试账号的选用操作,基于每个被选用的虚拟测试账号登录所述小程序服务器,并在所述人机交互界面中显示处于登录状态的小程序窗口;响应于针对所述小程序的调试 请求 ,在每个所述小程序窗口中运行待调试项目的代码,并在所述小程序窗口中显示所述代码被执行时所输出的调试信息。通过本发明,能够通过虚拟测试账号代替真实账号对小程序进行调试,减小开发成本,提高小程序的开发效率。,下面是一种小程序调试方法、装置、设备及存储介质专利的具体信息内容。

1.一种小程序调试方法,其特征在于,所述方法包括:
小程序调试工具获取用于登录小程序服务器的虚拟测试账号,并
在所述小程序调试工具的人机交互界面中呈现所述虚拟测试账号;
响应于针对所述虚拟测试账号的选用操作,基于每个被选用的虚拟测试账号登录所述小程序服务器,并
在所述人机交互界面中显示处于登录状态的小程序窗口;
响应于针对所述小程序的调试请求,在每个所述小程序窗口中运行待调试项目的代码,并
在所述小程序窗口中显示所述代码被执行时所输出的调试信息。
2.根据权利要求1所述的方法,其特征在于,所述小程序调试工具获取用于登录小程序服务器的虚拟测试账号,包括:
根据所述小程序的运行模式,确定用于登录小程序服务器的虚拟测试账号的数量,并在虚拟测试账号数据集中随机抽取所述数量的虚拟测试账号;
其中,所述运行模式包括单账号在线模式和多账号在线模式,所述多账号在线模式下的虚拟测试账号的数量大于所述单账号在线模式下的虚拟测试账号的数量。
3.根据权利要求1所述的方法,其特征在于,所述小程序调试工具获取用于登录小程序服务器的虚拟测试账号,包括:
获取所述小程序调试工具中预先设置的用于登录所述小程序服务器的虚拟测试账号;
或者,
从小程序服务器获取所述小程序的历史调试数据,以及
根据所述小程序的历史调试数据,确定用于登录所述小程序服务器的虚拟测试账号。
4.根据权利要求3所述的方法,其特征在于,所述根据所述小程序的历史调试数据,确定用于登录所述小程序服务器的虚拟测试账号,包括以下至少之一:
对所述小程序的历史调试数据进行遍历处理,得到历史虚拟测试账号调试失败的频次,当所述调试失败的频次大于调试失败阈值时,将所述历史虚拟测试账号确定为用于登录所述小程序服务器的虚拟测试账号;
对所述小程序的历史调试数据进行遍历处理,得到调试失败的第一历史虚拟测试账号以及调试成功的第二历史虚拟测试账号,将至少一个第一历史虚拟测试账号、以及至少一个第二历史虚拟测试账号确定为用于登录所述小程序服务器的虚拟测试账号;
对所述小程序的历史调试数据进行遍历处理,得到历史虚拟测试账号被开发者选用的次数,当被选用的次数大于选用阈值时,将所述历史虚拟测试账号确定为用于登录所述小程序服务器的虚拟测试账号。
5.根据权利要求1所述的方法,其特征在于,所述小程序窗口的类型包括调试主窗口和调试子窗口,所述在所述人机交互界面中显示处于登录状态的小程序窗口,包括:
将在所述被选用的虚拟测试账号中随机抽取的一个虚拟测试账号确定为目标虚拟测试账号,将所述目标虚拟测试账号对应的小程序窗口确定为调试主窗口;
将所述被选用的虚拟测试账号中,除所述目标虚拟测试账号之外的虚拟测试账号对应的小程序窗口确定为调试子窗口;
在所述人机交互界面中显示处于登录状态的调试主窗口和调试子窗口;
其中,所述调试主窗口用于接收开发者提交的待调试项目的代码,并通过所述调试主窗口的占用内存将所述待调试项目的代码共享给所述调试子窗口。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述响应于针对所述虚拟测试账号的选用操作之前,所述方法还包括:
在所述小程序调试工具的人机交互界面中呈现登录界面;
响应于在所述登录界面中基于真实账号登录所述小程序服务器的登录操作,基于所述真实账号的登录信息登录所述小程序服务器,并
在登录成功时在所述人机交互界面中显示所述真实账号的处于登录状态的调试主窗口;
所述在所述人机交互界面中显示处于登录状态的小程序窗口,包括:
将所述被选用的虚拟测试账号对应的小程序窗口确定为调试子窗口;
在所述人机交互界面中显示处于登录状态的调试子窗口。
7.根据权利要求6所述的方法,其特征在于,所述基于所述真实账号的登录信息登录所述小程序服务器之前,所述方法还包括:
基于所述真实账号的登录信息检测所述真实账号的状态;
所述基于所述真实账号的登录信息登录所述小程序服务器,包括:
当确定所述真实账号的状态为未登录状态时,基于所述真实账号的登录信息登录所述小程序服务器。
8.根据权利要求1-5或7任一项所述的方法,其特征在于,所述在所述人机交互界面中显示处于登录状态的小程序窗口之前,所述方法还包括:
响应于针对所述人机交互界面中真实测试账号的添加操作,对所述真实测试账号进行验证,当验证通过时,在所述小程序调试工具的人机交互界面中呈现所述真实测试账号,并基于所述真实测试账号登录所述小程序服务器;
响应于针对所述人机交互界面中真实测试账号的删除操作,删除在所述人机交互界面中显示所述真实测试账号的处于登录状态的小程序窗口。
9.根据权利要求1所述的方法,其特征在于,所述在每个所述小程序窗口中运行待调试项目的代码,包括:
根据所述待调试项目的代码中设置的多个断点,将所述待调试项目的代码划分为N个代码段;
在第i小程序窗口中运行第[(1+N//M)*(i-1)+1]代码段至第i*(1+N//M)代码段;
其中,010.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述小程序调试工具基于真实账号成功登录所述小程序服务器后,将基于所述真实账号进行调试获取的调试错误信息发送至链网络,以使
所述区块链网络中的共识节点通过部署的智能合约对所述调试错误信息进行验证;
当验证通过时,将所述调试错误信息以及对应所述真实账号产生的积分记录到所述区块链网络的账本中。
11.根据权利要求10所述的方法,其特征在于,所述小程序调试工具获取用于登录小程序服务器的虚拟测试账号,包括:
当所述小程序调试工具基于真实账号登录所述小程序服务器后,向所述小程序服务器发送虚拟测试账号请求,以使
所述小程序服务器确定响应所述虚拟测试账号请求需要消耗的积分,在所述区块链网络的账本中扣除所述需要消耗的积分,生成能够用于登录所述小程序服务器且满足所述虚拟测试账号请求的虚拟测试账号;
接收所述小程序服务器生成的虚拟测试账号。
12.根据权利要求11所述的方法,其特征在于,所述生成能够用于登录所述小程序服务器且满足所述虚拟测试账号请求的虚拟测试账号,包括:
根据所述虚拟测试账号请求中包括的权限和功能,生成具有所述权限和功能的虚拟测试账号;
将所述生成的虚拟测试账号记录为所述小程序服务器的已登录账号。
13.一种小程序调试装置,其特征在于,所述装置包括:
第一处理模块,用于小程序调试工具获取用于登录小程序服务器的虚拟测试账号,并在所述小程序调试工具的人机交互界面中呈现所述虚拟测试账号;
第二处理模块,用于响应于针对所述虚拟测试账号的选用操作,基于每个被选用的虚拟测试账号登录所述小程序服务器,并在所述人机交互界面中显示处于登录状态的小程序窗口;
调试模块,用于响应于针对所述小程序的调试请求,在每个所述小程序窗口中运行待调试项目的代码,并在所述小程序窗口中显示所述代码被执行时所输出的调试信息。
14.一种小程序调试设备,其特征在于,所述设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的小程序调试方法。
15.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至12任一项所述的小程序调试方法。

说明书全文

一种小程序调试方法、装置、设备及存储介质

技术领域

[0001] 本发明涉及计算机技术,尤其涉及一种小程序调试方法、装置、电子设备及存储介质。

背景技术

[0002] 小程序(Mini Program)是一种不需要下载安装即可使用的应用程序,其可以运行在跨平台客户端上。小程序的最大特点是使用便捷,用户通过扫码或者搜索即可打开应用,无需手动在终端的操作系统中安装,从而解决终端安装太多应用程序的问题。
[0003] 与一般的应用程序的发布程序相同,小程序在被发布之前,也需要对小程序进行调试,以便对该小程序中存在的语法错误和逻辑错误进行及时地修正。
[0004] 但是,在开发者使用多账号对小程序进行调试时,相关技术提供的小程序调试工具只能支持开发者通过真实账号(例如,真实微信账号)来调试小程序,影响了小程序的开发效率。

发明内容

[0005] 本发明实施例提供一种小程序调试方法、装置、电子设备及存储介质,能够通过虚拟测试账号代替真实账号对小程序进行调试,减小开发成本,提高小程序的开发效率。
[0006] 本发明实施例的技术方案是这样实现的:
[0007] 本发明实施例提供一种小程序调试方法,所述方法包括:
[0008] 小程序调试工具获取用于登录小程序服务器的虚拟测试账号,并
[0009] 在所述小程序调试工具的人机交互界面中呈现所述虚拟测试账号;
[0010] 响应于针对所述虚拟测试账号的选用操作,基于每个被选用的虚拟测试账号登录所述小程序服务器,并
[0011] 在所述人机交互界面中显示处于登录状态的小程序窗口;
[0012] 响应于针对所述小程序的调试请求,在每个所述小程序窗口中运行待调试项目的代码,并
[0013] 在所述小程序窗口中显示所述代码被执行时所输出的调试信息。
[0014] 本发明实施例提供一种小程序调试装置,所述装置包括:
[0015] 第一处理模,用于小程序调试工具获取用于登录小程序服务器的虚拟测试账号,并在所述小程序调试工具的人机交互界面中呈现所述虚拟测试账号;
[0016] 第二处理模块,用于响应于针对所述虚拟测试账号的选用操作,基于每个被选用的虚拟测试账号登录所述小程序服务器,并在所述人机交互界面中显示处于登录状态的小程序窗口;
[0017] 调试模块,用于响应于针对所述小程序的调试请求,在每个所述小程序窗口中运行待调试项目的代码,并在所述小程序窗口中显示所述代码被执行时所输出的调试信息。
[0018] 上述技术方案中,所述第一处理模块还用于根据所述小程序的运行模式,确定用于登录小程序服务器的虚拟测试账号的数量,并
[0019] 在虚拟测试账号数据集中随机抽取所述数量的虚拟测试账号;
[0020] 其中,所述运行模式包括单账号在线模式和多账号在线模式,所述多账号在线模式下的虚拟测试账号的数量大于所述单账号在线模式下的虚拟测试账号的数量。
[0021] 上述技术方案中,所述第一处理模块还用于获取所述小程序调试工具中预先设置的用于登录所述小程序服务器的虚拟测试账号;或者,
[0022] 从小程序服务器获取所述小程序的历史调试数据,以及
[0023] 根据所述小程序的历史调试数据,确定用于登录所述小程序服务器的虚拟测试账号。
[0024] 上述技术方案中,所述第一处理模块还用于包括以下至少之一:
[0025] 对所述小程序的历史调试数据进行遍历处理,得到历史虚拟测试账号调试失败的频次,当所述调试失败的频次大于调试失败阈值时,将所述历史虚拟测试账号确定为用于登录所述小程序服务器的虚拟测试账号;
[0026] 对所述小程序的历史调试数据进行遍历处理,得到调试失败的第一历史虚拟测试账号以及调试成功的第二历史虚拟测试账号,将至少一个第一历史虚拟测试账号、以及至少一个第二历史虚拟测试账号确定为用于登录所述小程序服务器的虚拟测试账号;
[0027] 对所述小程序的历史调试数据进行遍历处理,得到历史虚拟测试账号被开发者选用的次数,当被选用的次数大于选用阈值时,将所述历史虚拟测试账号确定为用于登录所述小程序服务器的虚拟测试账号。
[0028] 上述技术方案中,所述小程序窗口的类型包括调试主窗口和调试子窗口,所述第一处理模块还用于将在所述被选用的虚拟测试账号中随机抽取的一个虚拟测试账号确定为目标虚拟测试账号,将所述目标虚拟测试账号对应的小程序窗口确定为调试主窗口;
[0029] 将所述被选用的虚拟测试账号中,除所述目标虚拟测试账号之外的虚拟测试账号对应的小程序窗口确定为调试子窗口;
[0030] 在所述人机交互界面中显示处于登录状态的调试主窗口和调试子窗口;
[0031] 其中,所述调试主窗口用于接收开发者提交的待调试项目的代码,并通过所述调试主窗口的占用内存将所述待调试项目的代码共享给所述调试子窗口。
[0032] 上述技术方案中,所述小程序调试装置还包括:
[0033] 第三处理模块,用于在所述小程序调试工具的人机交互界面中呈现登录界面;
[0034] 响应于在所述登录界面中基于真实账号登录所述小程序服务器的登录操作,基于所述真实账号的登录信息登录所述小程序服务器,并
[0035] 在登录成功时在所述人机交互界面中显示所述真实账号的处于登录状态的调试主窗口;
[0036] 所述第二处理模块还用于将所述被选用的虚拟测试账号对应的小程序窗口确定为调试子窗口;
[0037] 在所述人机交互界面中显示处于登录状态的调试子窗口。
[0038] 上述技术方案中,所述小程序调试装置还包括:
[0039] 检测模块,用于基于所述真实账号的登录信息检测所述真实账号的状态;
[0040] 所述第三处理模块还用于当确定所述真实账号的状态为未登录状态时,基于所述真实账号的登录信息登录所述小程序服务器。
[0041] 上述技术方案中,所述小程序调试装置还包括:
[0042] 第四处理模块,用于响应于针对所述人机交互界面中真实测试账号的添加操作,对所述真实测试账号进行验证,当验证通过时,在所述小程序调试工具的人机交互界面中呈现所述真实测试账号,并基于所述真实测试账号登录所述小程序服务器;
[0043] 响应于针对所述人机交互界面中真实测试账号的删除操作,删除在所述人机交互界面中显示所述真实测试账号的处于登录状态的小程序窗口。
[0044] 上述技术方案中,所述调试模块还用于根据所述待调试项目的代码中设置的多个断点,将所述待调试项目的代码划分为N个代码段;
[0045] 在第i小程序窗口中运行第[(1+N//M)*(i-1)+1]代码段至第i*(1+N//M)代码段;
[0046] 其中,0
[0047] 上述技术方案中,所述小程序调试装置还包括:
[0048] 记录模块,用于当所述小程序调试工具基于真实账号成功登录所述小程序服务器后,将基于所述真实账号进行调试获取的调试错误信息发送至区块链网络,以使[0049] 所述区块链网络中的共识节点通过部署的智能合约对所述调试错误信息进行验证;
[0050] 当验证通过时,将所述调试错误信息以及对应所述真实账号产生的积分记录到所述区块链网络的账本中。
[0051] 上述技术方案中,所述第一处理模块还用于当所述小程序调试工具基于真实账号登录所述小程序服务器后,向所述小程序服务器发送虚拟测试账号请求,以使[0052] 所述小程序服务器确定响应所述虚拟测试账号请求需要消耗的积分,在所述区块链网络的账本中扣除所述需要消耗的积分,生成能够用于登录所述小程序服务器且满足所述虚拟测试账号请求的虚拟测试账号;
[0053] 接收所述小程序服务器生成的虚拟测试账号。
[0054] 上述技术方案中,所述第一处理模块还用于根据所述虚拟测试账号请求中包括的权限和功能,生成具有所述权限和功能的虚拟测试账号;
[0055] 将所述生成的虚拟测试账号记录为所述小程序服务器的已登录账号。
[0056] 本发明实施例提供一种小程序调试设备,所述设备包括:
[0057] 存储器,用于存储可执行指令;
[0058] 处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的小程序调试方法。
[0059] 本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的小程序调试方法。
[0060] 本发明实施例具有以下有益效果:
[0061] 小程序调试工具支持选择虚拟测试账号并创建对应登录状态的小程序窗口,从而进行小程序的项目代码的调试,从而使得开发者根据具体的测试需求而灵活选择测试账号来进行小程序的调试,提高了调试效率。附图说明
[0062] 图1是本发明实施例提供的小程序调试系统10的应用场景示意图;
[0063] 图2是本发明实施例提供的小程序调试方法的一个可选的应用模式100示意图;
[0064] 图3是本发明实施例提供的小程序调试设备的结构示意图;
[0065] 图4A-4D是本发明实施例提供的小程序调试方法的流程示意图;
[0066] 图5是本发明实施例提供的调试子窗口示意图;
[0067] 图6是本发明实施例提供的调试主窗口示意图;
[0068] 图7是本发明实施例提供的真实账号通过用户名登录的示意图;
[0069] 图8是本发明实施例提供的真实账号通过二维码登录的示意图;
[0070] 图9是本发明实施例提供的虚拟测试账号和真实账号展示示意图;
[0071] 图10是本发明实施例提供的虚拟测试账号模拟多账号在线调试的示意图。

具体实施方式

[0072] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0073] 在以下的描述中,所涉及的术语“第一\第二\第三\第四”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三\第四”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
[0074] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
[0075] 对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
[0076] 1)小程序(Mini Program):一种基于面向前端的语言(例如JavaScript)开发的、在超文本标记语言(HTML,Hyper Text Markup Language)页面中实现服务的程序,由客户端(例如浏览器或内嵌浏览器核心的任意客户端)经由网络(如互联网)下载、并在客户端的浏览器环境中解释和执行的软件,节省在客户端中安装的步骤。例如,在社交网络客户端中可以下载、运行用于实现机票购买、乘车码等各种服务的小程序。
[0077] 2)集成开发环境(IDE,Integrated Development Environment):一类辅助开发计算机程序应用软件,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务,所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。例如,微软的Visual Studio系列,Borland的C++Builder、Delphi系列等都属于IDE。该IDE程序可以独立运行,也可以和其它程序并用。本发明实施例主要指小程序调试工具。
[0078] 3)运行时刻(runtime):程序运行时执行的软件/指令,特别是没有被明确写出,却对于程序正常运行至关重要的指令。小程序运行时刻软件开发工具包(SDK,Software Development Kit)特指小程序运行时所依赖的环境以及库。
[0079] 4)应用程序编程接口(API,Application Programming Interface):一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能,使得开发人员无需访问源码,或理解内部工作机制的细节。
[0080] 5)小程序调试工具:提供一个小程序在客户端(例如微信)中运行时所需的浏览器环境(小程序的代码是需要浏览器中解释器/执行器来解释/执行的)。本发明的小程序调试工具可以是IDE形式的开发工具,具有一个可视化的人机交互界面。
[0081] 6)虚拟测试账号/真实测试账号:虚拟测试账号是在小程序服务器的运维方维护的,即在小程序后台开通的专用于测试的账号,而真实测试账号是自然人持有的可以登陆小程序后台的客户端(即小程序上线后,下载小程序并运行小程序的客户端,例如微信)的账号。虚拟测试账号可以拥有与真实测试账号相同的属性和权限,当然,出于某些需要(例如安全)也可以进行部分限制,例如虚拟测试账号不能登录微信客户端,但是真实测试账号可以登录微信客户端。
[0082] 7)小程序窗口:也称为调试窗口,可以是运行了小程序的实例的窗口,也可以是运行小程序的待调试项目的代码(代码中植入了调试,例如断点调试),因此,在小程序窗口运行代码的过程中可以输出调试信息。
[0083] 8)区块链(Blockchain):由区块(Block)形成的加密的、链式的交易的存储结构。
[0084] 9)区块链网络(Blockchain Network):通过共识的方式将新区块纳入区块链的一系列的节点的集合。
[0085] 本发明实施例提供一种小程序调试方法、装置、电子设备和存储介质,能够通过虚拟测试账号代替真实账号对小程序进行调试,减小开发成本,提高小程序的开发效率。下面说明本发明实施例提供的基于小程序调试设备的示例性应用,本发明实施例提供的小程序调试设备可以是服务器,例如部署在端的服务器,根据其他设备或者用户提供的虚拟测试账号,对该虚拟测试账号进行一系列处理,得到处于登录状态的小程序窗口,在每个小程序窗口中运行待调试项目的代码,并在小程序窗口中显示代码被执行时所输出的调试信息;也可是笔记本电脑平板电脑,台式计算机,移动设备(例如,移动电话个人数字助理)等各种类型的用户终端,例如手持终端,根据手持终端获得本地虚拟测试账号,对该虚拟测试账号进行一系列处理,得到处于登录状态的小程序窗口,在每个小程序窗口中运行待调试项目的代码,并在小程序窗口中显示代码被执行时所输出的调试信息。
[0086] 作为示例,参见图1,图1是本发明实施例提供的小程序调试系统10的应用场景示意图,终端200通过网络300连接服务器100,网络300可以是广域网或者局域网,又或者是二者的组合。
[0087] 终端200可以被用来获取虚拟测试账号,例如,终端自动获取本地的虚拟测试账号。
[0088] 在一些实施例中,终端200本地执行本发明实施例提供的小程序调试方法来完成根据本地的虚拟测试账号,在虚拟测试账号处于登录状态的小程序窗口中显示代码被执行时所输出的调试信息,例如,在终端200上安装小程序调试工具,用户启动小程序调试工具后,获取本地的虚拟测试账号,终端200根据本地的虚拟测试账号,在小程序调试工具的人机交互界面中呈现虚拟测试账号;响应于针对虚拟测试账号的选用操作,基于每个被选用的虚拟测试账号登录小程序服务器,并在人机交互界面中显示处于登录状态的小程序窗口;响应于针对小程序的调试请求,在每个小程序窗口中运行待调试项目的代码,并在小程序窗口中显示代码被执行时所输出的调试信息,即并将调试信息显示在终端200的显示界面210上。
[0089] 在一些实施例中,终端200也可以通过网络300向服务器100发送虚拟测试账号的需求,并调用服务器100提供的小程序调试功能,服务器100通过本发明实施例提供的小程序调试方法根据虚拟测试账号的需求,得到用于登录小程序服务器的虚拟测试账号,在服务器100中小程序调试工具的人机交互界面中呈现虚拟测试账号;响应于针对虚拟测试账号的选用操作,基于每个被选用的虚拟测试账号登录小程序服务器,并在人机交互界面中显示处于登录状态的小程序窗口;响应于针对小程序的调试请求,在每个小程序窗口中运行待调试项目的代码,并在小程序窗口中显示代码被执行时所输出的调试信息,还可以将输出的调试信息发送至终端200,以在终端200的显示界面显示调试信息。
[0090] 参见图2,图2是本发明实施例提供的小程序调试方法的一个可选的应用模式100示意图,包括区块链网络400(示例性示出了共识节点410-1至共识节点410-3)、认证中心500、客户端节点600和客户端节点700,下面分别进行说明。
[0091] 区块链网络400的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如终端200和服务器300,都可以在不需要授权的情况下接入区块链网络400;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端200/服务器300)可以接入区块链网络400,此时,成为区块链网络400中的客户端节点。
[0092] 在一些实施例中,客户端节点可以只作为区块链网络400的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络400的共识节点410(例如,共识节点410-1至共识节点410-3)的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络400中,通过区块链网络400实现数据和业务处理过程的可信和可追溯。
[0093] 区块链网络400中的共识节点接收来自不同的客户端节点(例如图2中示出的客户端节点600和客户端节点700)提交的交易,执行交易以更新账本或者查询账本,执行交易的各种中间结果或最终结果可以返回业务主体的客户端节点中显示。
[0094] 例如,客户端节点600/700可以订阅区块链网络400中感兴趣的事件,例如区块链网络400中特定的组织/通道中发生的交易,由共识节点410推送相应的交易通知到客户端节点600/700,从而触发客户端节点600/700中相应的业务逻辑。
[0095] 下面以多个客户端接点接入区块链网络以实现小程序调试的管理为例,说明区块链网络的示例性应用。
[0096] 参见图2,管理环节涉及的多个客户端接点,如客户端节点600可以为小程序调试工具对应的客户端节点,客户端节点700可以为小程序服务器对应的客户端节点,客户端节点600从认证中心500进行登记注册获得各自的数字证书,数字证书中包括客户端节点600的公钥、以及认证中心500对客户端节点600的公钥和身份信息签署的数字签名,用来与客户端节点600针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(即是否未经篡改)和发送消息的客户端节点600的身份信息,区块链网络会根据身份进行验证,例如是否具有发起交易的权限。业务主体下辖的电子设备(例如终端或者服务器)运行的客户端都可以向区块链网络400请求接入而成为客户端节点。
[0097] 客户端节点600用于将基于真实账号进行调试获取的调试错误信息发送至区块链网络400中。客户端节点600根据将调试错误信息生成对应更新操作的交易,在交易中指定了实现更新操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点600的数字证书、签署的数字签名(例如,使用客户端节点600的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络400中的共识节点410。
[0098] 区块链网络400中的共识节点410中接收到交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的身份,确认客户端节点600是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点自己的数字签名(例如,共识节点410-1的私钥对交易的摘要进行加密得到),将调试错误信息以及对应真实账号产生的积分记录到区块链网络的账本中。
[0099] 当客户端节点600基于真实账号登录客户端节点700后,向客户端节点700发送虚拟测试账号请求,客户端节点700响应虚拟测试账号请求,根据虚拟测试账号请求定制虚拟测试账号,并根据定制的虚拟测试账号确定需要消耗的积分,向区块链网络400发送需要消耗的积分,区块链网络400查询账本中真实账号的积分,并验证积分足够时,在区块链网络400的账本中扣除需要消耗的积分,客户端节点700向客户端节点下发定制的虚拟测试账号。
[0100] 下面说明实现本发明实施例的小程序调试设备的示例性结构,小程序调试设备可以是各种终端,例如手机、电脑等,也可以是服务器。
[0101] 参见图3,图3是本发明实施例提供的小程序调试设备500的结构示意图,图3所示的小程序调试设备包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。小程序调试设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统540。
[0102] 处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0103] 用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘鼠标、麦克、触屏显示屏、摄像头、其他输入按钮和控件。
[0104] 存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
[0105] 在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0106] 操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0107] 网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
[0108] 显示模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
[0109] 输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0110] 在一些实施例中,本发明实施例提供的图像处理装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的图像处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的图像处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Progra mmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
[0111] 在另一些实施例中,本发明实施例提供的小程序调试装置可以采用软件方式实现,图3示出了存储在存储器550中的小程序调试装置555,其可以是程序和插件等形式的软件,并包括一系列的模块,包括第一处理模块5551、第二处理模块5552、调试模块5553、第三处理模块5554、检测模块5555、第四处理模块5556以及记录模块5557;其中,第一处理模块5551、第二处理模块5552、调试模块5553、第三处理模块5554、检测模块5555、第四处理模块
5556以及记录模块5557用于实现本发明实施例提供的小程序调试方法。
[0112] 下面结合本发明实施例提供的终端的示例性应用和实施,说明本发明实施例提供的小程序调试方法。参见图4A,图4A是本发明实施例提供的小程序调试方法的流程示意图,结合图4A示出的步骤进行说明。
[0113] 在步骤101中,小程序调试工具获取用于登录小程序服务器的虚拟测试账号。
[0114] 开发者启动终端上的小程序调试工具后,小程序调试工具可以获取用于登录小程序服务器的虚拟测试账号,以便后续通过虚拟测试账号进行小程序调试。
[0115] 在一些实施例中,小程序调试工具获取用于登录小程序服务器的虚拟测试账号,包括:根据小程序的运行模式,确定用于登录小程序服务器的虚拟测试账号的数量,并在虚拟测试账号数据集中随机抽取数量的虚拟测试账号;其中,运行模式包括单账号在线模式和多账号在线模式,多账号在线模式下的虚拟测试账号的数量大于单账号在线模式下的虚拟测试账号的数量。
[0116] 开发者启动小程序调试工具后,确定待调试的小程序的运行模式,并根据小程序的运行模式,确定虚拟测试账号的数量,在虚拟测试账号数据集中随机抽取该数量的虚拟测试数据。例如,当确定待调试的小程序(购票小程序)的运行模式为单账号在线模式时,可以确定虚拟测试账号的数量为3个;当确定待调试的小程序(多人对战的小游戏)的运行模式为多账号在线模式时,可以确定虚拟测试账号的数量为8个,也就是多账号在线模式下的虚拟测试账号的数量大于单账号在线模式下的虚拟测试账号的数量。
[0117] 在一些实施例中,小程序调试工具获取用于登录小程序服务器的虚拟测试账号,包括:获取小程序调试工具中预先设置的用于登录小程序服务器的虚拟测试账号。
[0118] 开发者可以在小程序调试工具中预先设置虚拟测试账号,以便后续直接调用该虚拟测试账号。开发者启动小程序调试工具后,小程序调试工具可以直接获取小程序调试工具中预先设置的用于登录小程序服务器的虚拟测试账号。
[0119] 参见图4B,图4B是本发明实施例提供的一个可选的流程示意图,在一些实施例中,图4B示出图4A中的步骤101可以通过图4B示出的步骤1011至步骤1012实现。
[0120] 在步骤1011中,从小程序服务器获取小程序的历史调试数据。
[0121] 开发者启动小程序调试工具后,小程序调试工具可以向小程序服务器发送请求,小程序服务器接收该请求后,根据该请求查询该小程序对应的历史调试数据,并将该小程序的历史调试数据发送至小程序调试工具,从而实现小程序调试工具从小程序服务器获取小程序的历史调试数据。
[0122] 在步骤1012中,根据小程序的历史调试数据,确定用于登录小程序服务器的虚拟测试账号。
[0123] 在小程序调试工具从小程序服务器获取小程序的历史调试数据后,可以根据小程序的历史调试数据,确定用于登录小程序服务器的虚拟测试账号,以便根据历史调试数据获取合适的虚拟测试账号。
[0124] 在一些实施例中,根据小程序的历史调试数据,确定用于登录小程序服务器的虚拟测试账号,包括:对小程序的历史调试数据进行遍历处理,得到历史虚拟测试账号调试失败的频次;当调试失败的频次大于调试失败阈值时,将历史虚拟测试账号确定为用于登录小程序服务器的虚拟测试账号。
[0125] 在小程序调试工具从小程序服务器获取小程序的历史调试数据后,可以对小程序的历史调试数据进行遍历处理,统计历史虚拟测试账号调试失败的频次,当确定调试失败的频次大于调试失败阈值时,将历史虚拟测试账号确定为用于登录小程序服务器的虚拟测试账号。由于历史虚拟测试账号调试失败的频次大于调试失败阈值,说明采用该历史虚拟测试账号进行小程序调试经常出现问题,为了提高开发效率,可以针对该历史虚拟测试账号进行小程序调试。
[0126] 在一些实施例中,根据小程序的历史调试数据,确定用于登录小程序服务器的虚拟测试账号,包括:对小程序的历史调试数据进行遍历处理,得到调试失败的第一历史虚拟测试账号以及调试成功的第二历史虚拟测试账号;将至少一个第一历史虚拟测试账号、以及至少一个第二历史虚拟测试账号确定为用于登录小程序服务器的虚拟测试账号。
[0127] 在小程序调试工具从小程序服务器获取小程序的历史调试数据后,可以对小程序的历史调试数据进行遍历处理,统计调试失败的第一历史虚拟测试账号以及调试成功的第二历史虚拟测试账号,并将至少一个第一历史虚拟测试账号、以及至少一个第二历史虚拟测试账号确定为用于登录小程序服务器的虚拟测试账号,例如,将5个第一历史虚拟测试账号、以及3个第二历史虚拟测试账号确定为用于登录小程序服务器的虚拟测试账号。为了提高开发的准确性,可以针对不同类型的历史虚拟测试账号进行小程序调试,使得该小程序覆盖所有虚拟测试账号,不会出现特殊的虚拟测试账号,提高小程序的兼容性。其中,第一历史虚拟测试账号的数量可以大于第二历史虚拟测试账号,使得小程序调试侧重于调试失败的虚拟测试账号。
[0128] 在一些实施例中,根据小程序的历史调试数据,确定用于登录小程序服务器的虚拟测试账号,包括:对小程序的历史调试数据进行遍历处理,得到历史虚拟测试账号被开发者选用的次数;当被选用的次数大于选用阈值时,将历史虚拟测试账号确定为用于登录小程序服务器的虚拟测试账号。
[0129] 在小程序调试工具从小程序服务器获取小程序的历史调试数据后,可以对小程序的历史调试数据进行遍历处理,统计历史虚拟测试账号被开发者选用的次数,当被选用的次数大于选用阈值时,则将历史虚拟测试账号确定为用于登录小程序服务器的虚拟测试账号。为了提高开发者的体验感,可以针对经常被开发者选用的历史虚拟测试账号进行小程序调试,使得虚拟测试账号更符合开发者的喜好。
[0130] 在步骤102中,在小程序调试工具的人机交互界面中呈现虚拟测试账号。
[0131] 在小程序调试工具获取虚拟测试账号后,可以在人机交互界面中呈现虚拟测试账号,以便后续开发者对虚拟测试账号进行选用。
[0132] 在步骤103中,响应于针对虚拟测试账号的选用操作,基于每个被选用的虚拟测试账号登录小程序服务器,并在人机交互界面中显示处于登录状态的小程序窗口。
[0133] 在小程序调试工具呈现虚拟测试账号后,开发者可以根据人机交互界面上显示的虚拟测试账号列表进行选择,以确认进行调试的虚拟测试账号。小程序调试工具响应于开发者针对虚拟测试账号的选用操作,基于每个被选用的虚拟测试账号登录小程序服务器,并在人机交互界面中显示处于登录状态的小程序窗口。当确认被选用的虚拟测试账号后,可以向小程序服务器发送虚拟测试账号登录请求,小程序服务器接收虚拟测试账号登录请求后,建立虚拟测试账号与小程序服务器的连接,基于虚拟测试账号以进行小程序的调试工作,并在人机交互界面中显示处于登录状态的小程序窗口。
[0134] 在一些实施例中,小程序窗口的类型包括调试主窗口和调试子窗口,在人机交互界面中显示处于登录状态的小程序窗口,包括:将在被选用的虚拟测试账号中随机抽取的一个虚拟测试账号确定为目标虚拟测试账号,将目标虚拟测试账号对应的小程序窗口确定为调试主窗口;将被选用的虚拟测试账号中,除目标虚拟测试账号之外的虚拟测试账号对应的小程序窗口确定为调试子窗口;在人机交互界面中显示处于登录状态的调试主窗口和调试子窗口;其中,调试主窗口用于接收开发者提交的待调试项目的代码,并通过调试主窗口的占用内存将待调试项目的代码共享给调试子窗口。
[0135] 当没有真实账号登录所述小程序调试工具,或者小程序调试工具中没有真实账号进行调试调试工具,则可以在被选用的虚拟测试账号中随机抽取的一个虚拟测试账号,并将其确定为目标虚拟测试账号,而被选用的虚拟测试账号中,除目标虚拟测试账号之外的虚拟测试账号对应的小程序窗口确定为调试子窗口。如图5所示,图5是本发明实施例提供的调试子窗口示意图,调试子窗口只有模拟器501和调试器502,其中模拟器用于模拟终端的显示界面,调试器用于调试显示界面的样式;如图6所示,图6是本发明实施例提供的调试主窗口示意图,调试主窗口具有编码器601,可以对项目代码进行编辑,在保存项目代码后,各个调试子窗口可以同步执行该保存后的项目代码。
[0136] 参见图4C,图4C是本发明实施例提供的一个可选的流程示意图,在一些实施例中,图4C示出图4A中的步骤103之前,还包括步骤105。
[0137] 在步骤105中,在小程序调试工具的人机交互界面中呈现登录界面;响应于在登录界面中基于真实账号登录小程序服务器的登录操作,基于真实账号的登录信息登录小程序服务器,并在登录成功时在人机交互界面中显示真实账号的处于登录状态的调试主窗口。
[0138] 在小程序调试工具获取用于登录小程序服务器的虚拟测试账号之前,即在开发者启动小程序调试工具后,可以在小程序调试工具的人机交互界面中呈现登录界面,开发者可以基于登录界面登录真实账号,并基于真实账号登录信息登录小程序服务器,并在登录成功时在人机交互界面中显示真实账号的处于登录状态的调试主窗口。其中,在人机交互界面中显示处于登录状态的小程序窗口,包括:将被选用的虚拟测试账号对应的小程序窗口确定为调试子窗口;在人机交互界面中显示处于登录状态的调试子窗口。例如,开发者开启小程序调试工具后,小程序调试工具中呈现登录界面,如图7-8所示,图7是本发明实施例提供的真实账号通过用户名登录的示意图,开发者可以在登录界面上输入真实账号的用户名以及用户密码,并基于真实账号的用户名以及用户密码登录小程序服务器,并在登录成功时在人机交互界面中显示真实账号的处于登录状态的调试主窗口;图8是本发明实施例提供的真实账号通过二维码登录的示意图,开发者可以在登录界面上基于真实账号扫描二维码,并基于真实账号扫描的二维码登录小程序服务器,并在登录成功时在人机交互界面中显示真实账号的处于登录状态的调试主窗口。当然,还可以通过语音、短信等方式登录真实账号。
[0139] 在响应于针对虚拟测试账号的选用操作之前,也可以在小程序调试工具的人机交互界面中呈现登录界面,开发者可以基于登录界面登录真实账号,并基于真实账号登录信息登录小程序服务器,并在登录成功时在人机交互界面中显示真实账号的处于登录状态的调试主窗口。其中,在人机交互界面中显示处于登录状态的小程序窗口,包括:将被选用的虚拟测试账号对应的小程序窗口确定为调试子窗口;在人机交互界面中显示处于登录状态的调试子窗口。
[0140] 在一些实施例中,基于真实账号的登录信息登录小程序服务器之前,所述方法还包括:基于真实账号的登录信息检测真实账号的状态;
[0141] 所述基于真实账号的登录信息登录小程序服务器,包括:当确定真实账号的状态为未登录状态时,基于真实账号的登录信息登录小程序服务器。
[0142] 在真实账号的登录信息登录小程序服务器之前,还需要检测该真实账号是否已登录其他调试设备,即检测真实账号的登录状态,当确定该真实账号未登录其他设备时,说明该真实账号没有被占用,可以基于该真实账号的登录信息登录小程序服务器。
[0143] 在一些实施例中,在人机交互界面中显示处于登录状态的小程序窗口之前,所述方法还包括:响应于针对人机交互界面中真实测试账号的添加操作,对真实测试账号进行验证,当验证通过时,在小程序调试工具的人机交互界面中呈现真实测试账号,并基于真实测试账号登录小程序服务器;响应于针对人机交互界面中真实测试账号的删除操作,删除在人机交互界面中显示真实测试账号的处于登录状态的小程序窗口。
[0144] 在在人机交互界面中显示处于登录状态的小程序窗口之前,可以在小程序调试工具的人机交互界面中呈现添加真实测试账号按钮,开发者可以点击添加真实测试按钮,并呈现登录界面,以添加真实测试账号,并基于真实测试账号登录信息登录小程序服务器。例如,如图9所示,图9是本发明实施例提供的虚拟测试账号和真实账号展示示意图,开发者可以点击图9中真实测试账号界面中的“添加”按钮,从而在小程序调试工具中呈现登录界面,并集登录界面登录真实测试账号,以实现添加真实测试账号。
[0145] 在在人机交互界面中显示处于登录状态的小程序窗口之前,可以在小程序调试工具的人机交互界面中呈现删除真实测试账号按钮,开发者可以点击删除真实测试按钮,从而删除在人机交互界面中显示真实测试账号的处于登录状态的小程序窗口,或者直接退出小程序调试工具。
[0146] 在步骤104中,响应于针对小程序的调试请求,在每个小程序窗口中运行待调试项目的代码,并在小程序窗口中显示代码被执行时所输出的调试信息。
[0147] 在人机交互界面中显示处于登录状态的小程序窗口后,开发者可以点击调试按钮,启动调试工作,小程序调试工具响应于针对小程序的调试请求,在每个小程序窗口中运行同一待调试项目的代码,并在小程序窗口中显示代码被执行时所输出的调试信息,以便开发者确定该小程序的调试信息,进行后续操作。
[0148] 在一些实施例中,在每个小程序窗口中运行待调试项目的代码,包括:根据待调试项目的代码中设置的多个断点,将待调试项目的代码划分为N个代码段;在第i小程序窗口中运行第[(1+N//M)*(i-1)+1]代码段至第i*(1+N//M)代码段;其中,0
[0149] 为了提高调试的效率,可以让小程序窗口调试待调试项目的部分代码,可以根据待调试项目的代码中设置的多个断点,将待调试项目的代码划分为N个代码段,使得第i小程序窗口中运行第[(1+N//M)*(i-1)+1]代码段至第i*(1+N//M)代码段,例如,将待调试项目的代码划分为6个代码段,使得第1小程序窗口中运行第1代码段至第2代码段、第2小程序窗口中运行第3代码段至第4代码段、第3小程序窗口中运行第5代码段至第6代码段。
[0150] 参见图4D,图4D是本发明实施例提供的一个可选的流程示意图,在一些实施例中,图4D示出图4A还包括步骤106。
[0151] 在步骤106中,当小程序调试工具基于真实账号成功登录小程序服务器后,将基于真实账号进行调试获取的调试错误信息发送至区块链网络,以使区块链网络中的共识节点通过部署的智能合约对调试错误信息进行验证;当验证通过时,将调试错误信息以及对应真实账号产生的积分记录到区块链网络的账本中。
[0152] 当小程序调试工具基于开发者的真实账号成功登录小程序服务器后,开发者可以提交在小程序窗口中显示代码被执行时所输出的调试错误信息,小程序调试工具将调试错误信息的交易发送至区块链网络,区块链网络根据调试错误信息的交易调用区块链网络中部署的智能合约,区块链网络中的共识节点通过部署的智能合约对调试错误信息进行验证,当验证通过时,根据调试错误信息确定对应真实账号产生的积分,并将调试错误信息以及对应真实账号产生的积分记录到区块链网络的账本中,以便后续开发者需要定制虚拟测试账号而消耗积分。
[0153] 在一些实施例中,小程序调试工具获取用于登录小程序服务器的虚拟测试账号,包括:当小程序调试工具基于真实账号登录小程序服务器后,向小程序服务器发送虚拟测试账号请求,以使小程序服务器确定响应虚拟测试账号请求需要消耗的积分,在区块链网络的账本中扣除需要消耗的积分,生成能够用于登录小程序服务器且满足虚拟测试账号请求的虚拟测试账号;接收小程序服务器生成的虚拟测试账号。
[0154] 虚拟测试账号可以是针对每个开发者的小程序的开发需求生成的。例如,小程序的开发者在利用真实账号登录小程序服务器后,可以提交开发需求,例如数量、属性和权限等,小程序服务器的运维方可以根据开发者的需求为开发者在小程序服务器中定制符合需求的虚拟测试账号,并发送到开发者的小程序调试工具。例如,小程序调试工具可以接收开发者提交的虚拟测试账号的需求,开发者提交需求之前,需要利用真实账号在小程序调试工具登录。小程序后台可以对开发者的真实账号进行认证(例如是否有定制虚拟测试账号的权限)。
[0155] 真实账号的认证,可以是扣除真实账户的积分(扣除的数量根据定制情况例如账号数量、属性的类型和权限的等级而确定),积分可以是根据开发者对小程序调试工具的贡献而分配,例如向区块链网络提交调试错误信息可以获得积分。
[0156] 当小程序调试工具基于真实账号登录小程序服务器后,可以向小程序服务器发送真实账号提交的虚拟测试账号请求(虚拟测试账号的需求,例如账号数量、属性的类型和权限的等级),小程序服务器接收到虚拟测试账号请求后,根据虚拟测试账号请求确定需要消耗的积分,并向区块链网络发送基于真实账号的积分查询交易,该积分查询交易包括需要消耗的积分,区块链网络响应于积分查询交易,通过区块链网络中的共识节点通过部署的智能合约查询账本中真实账号的积分,当确定真实账号的积分大于或者等于需要消耗的积分时,在账本中扣除真实账号对应的需要消耗的积分,在扣除积分成功后,小程序服务器向小程序调试工具发送根据虚拟测试账号请求定制的虚拟测试账号。
[0157] 在一些实施例中,生成能够用于登录小程序服务器且满足虚拟测试账号请求的虚拟测试账号,包括:根据虚拟测试账号请求中包括的权限和功能,生成具有权限和功能的虚拟测试账号;将生成的虚拟测试账号记录为小程序服务器的已登录账号。
[0158] 在区块链扣除积分成功后,说明真实账号的积分足够,该真实账号具有定制虚拟测试账号的权限,小程序服务器可以根据虚拟测试账号请求中包括的权限和功能,生成具有权限和功能的虚拟测试账号,并将生成的虚拟测试账号记录为小程序服务器的已登录账号。例如,虚拟测试账号请求中包括任何真实用户的用户信息的权限、调试任何断点的功能,则小程序服务器生成对应权限和功能的虚拟测试账号。
[0159] 在一些实施例中,当小程序调试工具基于真实账号登录小程序服务器后,向小程序服务器发送虚拟测试账号请求,小程序服务器根据虚拟测试账号的需求确定虚拟测试账号的费用,当确定真实账号关联的支付方式缴纳费用时,小程序服务器向小程序调试工具发送所述虚拟测试账号。
[0160] 至此已经结合本发明实施例提供的终端的示例性应用和实施,说明本发明实施例提供的小程序调试方法,下面继续说明本发明实施例提供的小程序调试装置555中各个模块配合实现小程序调试的方案。
[0161] 第一处理模块5551,用于小程序调试工具获取用于登录小程序服务器的虚拟测试账号,并在所述小程序调试工具的人机交互界面中呈现所述虚拟测试账号;
[0162] 第二处理模块5552,用于响应于针对所述虚拟测试账号的选用操作,基于每个被选用的虚拟测试账号登录所述小程序服务器,并在所述人机交互界面中显示处于登录状态的小程序窗口;
[0163] 调试模块5553,用于响应于针对所述小程序的调试请求,在每个所述小程序窗口中运行待调试项目的代码,并在所述小程序窗口中显示所述代码被执行时所输出的调试信息。
[0164] 在一些实施例中,所述第一处理模块5551还用于根据所述小程序的运行模式,确定用于登录小程序服务器的虚拟测试账号的数量,并在虚拟测试账号数据集中随机抽取所述数量的虚拟测试账号;其中,所述运行模式包括单账号在线模式和多账号在线模式,所述多账号在线模式下的虚拟测试账号的数量大于所述单账号在线模式下的虚拟测试账号的数量。
[0165] 在一些实施例中,所述第一处理模块5551还用于获取所述小程序调试工具中预先设置的用于登录所述小程序服务器的虚拟测试账号;或者,从小程序服务器获取所述小程序的历史调试数据,以及根据所述小程序的历史调试数据,确定用于登录所述小程序服务器的虚拟测试账号。
[0166] 在一些实施例中,所述第一处理模块5551还用于包括以下至少之一:
[0167] 对所述小程序的历史调试数据进行遍历处理,得到历史虚拟测试账号调试失败的频次,当所述调试失败的频次大于调试失败阈值时,将所述历史虚拟测试账号确定为用于登录所述小程序服务器的虚拟测试账号;
[0168] 对所述小程序的历史调试数据进行遍历处理,得到调试失败的第一历史虚拟测试账号以及调试成功的第二历史虚拟测试账号,将至少一个第一历史虚拟测试账号、以及至少一个第二历史虚拟测试账号确定为用于登录所述小程序服务器的虚拟测试账号;
[0169] 对所述小程序的历史调试数据进行遍历处理,得到历史虚拟测试账号被开发者选用的次数,当被选用的次数大于选用阈值时,将所述历史虚拟测试账号确定为用于登录所述小程序服务器的虚拟测试账号。
[0170] 在一些实施例中,所述小程序窗口的类型包括调试主窗口和调试子窗口,所述第一处理模块5551还用于将在所述被选用的虚拟测试账号中随机抽取的一个虚拟测试账号确定为目标虚拟测试账号,将所述目标虚拟测试账号对应的小程序窗口确定为调试主窗口;将所述被选用的虚拟测试账号中,除所述目标虚拟测试账号之外的虚拟测试账号对应的小程序窗口确定为调试子窗口;在所述人机交互界面中显示处于登录状态的调试主窗口和调试子窗口;其中,所述调试主窗口用于接收开发者提交的待调试项目的代码,并通过所述调试主窗口的占用内存将所述待调试项目的代码共享给所述调试子窗口。
[0171] 在一些实施例中,所述小程序调试装置555还包括:
[0172] 第三处理模块5554,用于在所述小程序调试工具的人机交互界面中呈现登录界面;响应于在所述登录界面中基于真实账号登录所述小程序服务器的登录操作,基于所述真实账号的登录信息登录所述小程序服务器,并在登录成功时在所述人机交互界面中显示所述真实账号的处于登录状态的调试主窗口;
[0173] 所述第二处理模块5552还用于将所述被选用的虚拟测试账号对应的小程序窗口确定为调试子窗口;在所述人机交互界面中显示处于登录状态的调试子窗口。
[0174] 在一些实施例中,所述小程序调试装置555还包括:
[0175] 检测模块5555,用于基于所述真实账号的登录信息检测所述真实账号的状态;
[0176] 所述第三处理模块5554还用于当确定所述真实账号的状态为未登录状态时,基于所述真实账号的登录信息登录所述小程序服务器。
[0177] 在一些实施例中,所述小程序调试装置555还包括:
[0178] 第四处理模块5556,用于响应于针对所述人机交互界面中真实测试账号的添加操作,对所述真实测试账号进行验证,当验证通过时,在所述小程序调试工具的人机交互界面中呈现所述真实测试账号,并基于所述真实测试账号登录所述小程序服务器;响应于针对所述人机交互界面中真实测试账号的删除操作,删除在所述人机交互界面中显示所述真实测试账号的处于登录状态的小程序窗口。
[0179] 在一些实施例中,所述调试模块5553还用于根据所述待调试项目的代码中设置的多个断点,将所述待调试项目的代码划分为N个代码段;在第i小程序窗口中运行第[(1+N//M)*(i-1)+1]代码段至第i*(1+N//M)代码段;其中,0
[0180] 在一些实施例中,所述小程序调试装置555还包括:
[0181] 记录模5557块,用于当所述小程序调试工具基于真实账号成功登录所述小程序服务器后,将基于所述真实账号进行调试获取的调试错误信息发送至区块链网络,以使所述区块链网络中的共识节点通过部署的智能合约对所述调试错误信息进行验证;当验证通过时,将所述调试错误信息以及对应所述真实账号产生的积分记录到所述区块链网络的账本中。
[0182] 在一些实施例中,所述第一处理模块5551还用于当所述小程序调试工具基于真实账号登录所述小程序服务器后,向所述小程序服务器发送虚拟测试账号请求,以使所述小程序服务器确定响应所述虚拟测试账号请求需要消耗的积分,在所述区块链网络的账本中扣除所述需要消耗的积分,生成能够用于登录所述小程序服务器且满足所述虚拟测试账号请求的虚拟测试账号;接收所述小程序服务器生成的虚拟测试账号。
[0183] 在一些实施例中,所述第一处理模块5551还用于根据所述虚拟测试账号请求中包括的权限和功能,生成具有所述权限和功能的虚拟测试账号;将所述生成的虚拟测试账号记录为所述小程序服务器的已登录账号。
[0184] 本发明实施例还提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的小程序调试方法,例如,如图4A-4D示出的小程序调试方法。
[0185] 在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0186] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0187] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0188] 作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0189] 下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
[0190] 小程序作为一种新的产品和技术形态,可运行于移动客户端(iOS、安卓)中,小程序开发者们可以使用IDE来开发、调试小程序。
[0191] 小程序调试工具(IDE)可以采用真实账号(真实微信号)登录,并以此账号作为所有打开调试的项目的主账号,当登录的账号改变时,其登录态将同步到所有已打开的项目窗口(小程序窗口);当小程序(例如小游戏)需要多个真实账号(多个微信号)才能共同完成一项调试工作时,小程序调试工具提供了多账号调试的功能。使用不同于主账号的真实账号扫描二维码可以添加真实测试账号,如果该真实测试账号登录了其他调试工具客户端,则该真实测试账号的登录态将失效。
[0192] 小程序调试工具可以支持开发者同时勾选多个账号,打开多个调试子窗口(账号与子窗口一一对应)来调试同一个调试项目;调试子窗口与调试主窗口不同,如图5所示,图5是本发明实施例提供的调试子窗口示意图,调试子窗口只有模拟器501和调试器502,其中模拟器用于模拟终端的显示界面,调试器用于调试显示界面的样式;如图6所示,图6是本发明实施例提供的调试主窗口示意图,调试主窗口具有编码器601,可以对项目代码进行编辑,在保存项目代码后,各个调试子窗口可以同步执行该保存后的项目代码。
[0193] 目前,多账号调试仅支持添加真实账号(例如微信号)进行调试。本发明实施例提供虚拟测试账号(例如虚拟的微信账号),调试系统会自动为每个小程序添加该虚拟测试账号,开发者只需选中其中的虚拟测试账号,然后点击确定,即可通过选中的虚拟测试账号进行同一调试项目的功能调试。
[0194] 开发者使用多账号调试时,只能添加真实微信号进行调试,开发成本非常高,小程序开发者体验差,开发者较难获得足够的微信号协助调试,开发效率低,并且浪费资源。通过为小程序添加虚拟测试账号来模拟多微信号的在线调试,提升了小程序开发者在多账号调试时的开发效率。
[0195] 本发明实施例在小程序开发者进行多账号调试时,调试系统自动为每个小程序分配虚拟测试账号,模拟多微信号的在线调试。所有小程序账号可以公用该虚拟测试账号,并且考虑到小游戏存在多人对战的模式,可以同时提供多个虚拟测试账号。该虚拟测试账号仅供小程序调试工具进行多账号调试,无法在客户端登录和使用。并且虚拟测试账号无需扫码即可默认添加到小程序调试工具的多账号调试的账号列表中。由于所有小程序都可以公用虚拟测试账号,因此该虚拟测试账号可以支持在多个小程序调试工具中登录,且登录态长期不会失效。
[0196] 本发明实施例提供的小程序调试方法包括三个部分,分别为:1)虚拟测试账号的生成和使用;2)使用虚拟测试账号实现多账号调试的原理;3)虚拟测试账号的状态维护。以下具体解释这三个部分:
[0197] 1)虚拟测试账号的生成和使用:虚拟测试账号由调试系统自动分配给每个小程序。可以在小程序调试工具中添加虚拟测试账号信息,虚拟测试账号模拟真实账号所包含的所有用户信息。小程序调试工具在读取虚拟测试账号和真实微信账号时,可以区分这两种账号,但是由于两种账号信息的属性相同,因此,虚拟测试账号可以实现模拟真实账号的所有功能和权限。但是,基于开发的考虑,虚拟测试账号不能够用于微信登录等。
[0198] 2)使用虚拟测试账号实现多账号调试的原理:小程序调试工具可以从本地获取虚拟测试账号信息,调试系统可以提供多个虚拟测试账号。在展示测试账号时,可以按照虚拟测试账号和真实账号区分展示,如图9所示,图9是本发明实施例提供的虚拟测试账号和真实账号展示示意图,并且虚拟测试账号没有增加及删除入口,可以限制用户交互,避免开发混乱,信息不可修改。而真实账号则可以保留增加、删除功能,用户可以根据需要修改,以便开发者根据自身真实账号的情况进行小程序调试。
[0199] 3)虚拟测试账号的状态维护:虚拟测试账号的状态可以默认为登录成功,便于小程序调试工具的维护,并且用户不可修改虚拟测试账号登录状态。而真实账号则需要其他工具检测登录状态。
[0200] 如图10所示,图10是本发明实施例提供的虚拟测试账号模拟多账号在线调试的示意图。首先,小程序调试工具对真实账号进行检测,当确定真实账号登录后,将该真实账号加入到账号列表中,而虚拟测试账号无需检测登录状态直接添加到多账号调试列表;然后,对账号列表中的真实账号以及虚拟测试账号进行多账号调试,并生成对应真实账号的调试窗口,以及对应虚拟测试账号的调试窗口(例如测试账号1调试窗口、测试账号2调试窗口、测试账号3调试窗口、测试账号4调试窗口)。
[0201] 1、获取虚拟测试账号,虚拟测试账号可以是针对所有的开发者公用的,例如,小程序调试工具从本地获取预置的(即小程序调试工具发行时,在小程序调试工具的安装包中预置的)公用的虚拟测试账号,也可以是在启动时从小程序服务器获取公用的虚拟测试账号。
[0202] 需要说明的是,虚拟测试账号还可以是针对每个开发者的小程序的开发需求生成的。例如,小程序的开发者在利用真实账号(即开发者自己的社交账号)登录小程序服务器后,可以提交开发需求,例如虚拟测试账号的数量、属性和权限等,小程序服务器的运维方可以根据开发者的需求为开发者在小程序服务器中开通符合需求的虚拟测试账号,并发送到开发者的小程序调试工具。
[0203] 例如,小程序调试工具可以接收开发者提交的虚拟测试账号的需求,开发者提交需求之前,需要利用真实账号在小程序调试工具登录。小程序服务器可以对开发者的真实账号进行认证(例如是否有定制虚拟测试账号的权限(可以是收费服务))。
[0204] 其中,真实账号的认证,可以是扣除真实账户的积分(扣除的数量根据定制情况而确定,例如账号数量、属性的类型和权限的等级),积分可以根据开发者对小程序调试工具的贡献而分配,例如向小程序服务器提交调试错误信息(bug)可以获得积分。
[0205] 本发明实施例可以结合区块链实现的真实账号认证方案:每个开发者凭借真实账号登录的小程序调试工具,小程序调试工具和小程序服务器共同接入区块链网络成为节点,每个开发者可以提交包括bug的交易,区块链网络中的共识节点针对bug进行校验,确认后,将bug信息以及由此产生的积分记录到区块链网络中的账本,从而开发者获得积分。
[0206] 当开发者向小程序服务器提交虚拟测试账号的需求时,小程序服务器根据虚拟测试账号的需求确定定制虚拟测试账号需要消耗的积分,并向区块链网络的账本中查询开发者积分,如果积分足够,则小程序服务器可以向区块链网络发起交易,该交易包括需要消耗的积分和定制的虚拟测试账号信息,区块链网络中的共识节点确认后,将交易记录到账本中,从而完成了开发者积分的扣除,小程序服务器向小程序调试工具下发定制的虚拟测试账号信息。
[0207] 另外,真实账号的认证,也可以是小程序服务器向开发者收取定制虚拟测试账号的费用,开发者可以通过真实账号关联的支付方式缴纳费用即可通过认证。
[0208] 需要说明的是,开发者在启动小程序调试工具,具有以下并列方案:
[0209] 1)小程序调试工具可以直接呈现候选的虚拟测试账号;
[0210] 2)提供登录界面,供开发者使用自己的真实账号(持有的客户端账号)登录,可以是扫码、语音/短信验证码、用户名+密码等登录方式。
[0211] 2、选择虚拟测试账号;虚拟测试账号可以具有相同的属性和权限(在小程序服务器中),也可以是差异化的,供开发者根据调试项目的需求灵活选择。
[0212] 3、如果没有使用真实账号登录,则小程序调试工具随机设置一个主窗口,与其他测试窗口共享内存,开发者在主窗口中提交的待测试项目的代码,通过内存共享给其他窗口,从而可以共同调试一个项目。
[0213] 4、如果使用真实账号登录,则真实账号的登录的小程序窗口为主窗口。
[0214] 5、开发者通过小程序调试工具的人机交互界面提交待调试的小程序代码。
[0215] 6、每个窗口通过自身的浏览器环境(例如浏览器核心,包括解释器和执行器)中解释并执行小程序的待调试项目的代码,输出调试信息。
[0216] 综上所述,本发明实施例通过虚拟测试账号进行小程序调试,具有以下有益效果:
[0217] 小程序调试工具可以自动获取虚拟测试账号,并根据虚拟测试账号登录的小程序窗口进行小程序调试,减低采用真实账号进行调试的开发成本,提高开发效率;通过响应针对虚拟测试账号的选用操作,选用虚拟测试账号登录小程序服务器,并根据选用的虚拟测试账号进行小程序调试,可以根据开发者对虚拟测试账号的喜好进行小程序的调试,提高开发者的体验感。
[0218] 以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈