System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及金融科技,具体而言,涉及一种业务条线数据交互方法、装置、电子设备及存储介质。
技术介绍
1、金融类app一般涉及业务领域很多,金融类app要做成一个超级app,需要对接各个业务方,把业务体系都整合到一起。技术选型上一般采用混合开发,即hybrid app(混合应用程序),混合开发是一种开放模式,指使用多种开发模型开发app。混合开发(hybrid app)中存在一个技术难点,就是不同的业务条线模块之间进行数据交互难以实现。通常的解决方案是:使用url scheme可以在不同的业务页面之间进行数据传递。通过构造特定的url,可以在跳转到另一个页面时携带数据。目标页面可以解析url中的参数并进行相应的处理。
2、url scheme方式在hybrid app中进行数据通信具有以下一些缺点:
3、有限的数据容量:url scheme传递数据的容量有限,通常受限于url的长度限制。如果需要传递大量数据,可能会超出url的限制,导致数据丢失或截断。
4、数据安全性较低:url scheme传递的数据是以明文形式暴露在url中的,因此存在安全风险。恶意用户可能截获url并获取敏感数据。
5、依赖特定的url格式:url scheme方式需要定义特定的url格式来传递数据,需要在不同的页面间进行约定和解析。这种依赖关系可能导致一些耦合性和维护性的问题。
6、无法直接传递复杂数据类型:url scheme传递的数据通常是字符串形式,无法直接传递复杂的数据类型,如对象、数组等,
7、传递速度较慢:相比其他数据通信方式,使用url scheme进行数据传递的速度较慢。每次传递数据都需要构造url、解析url和处理参数,从而影响性能。
技术实现思路
1、本申请实施例的目的在于提供一种业务条线数据交互方法、装置、电子设备及存储介质,能够通过javascript桥梁sdk直接调用javascript方法,实现与h5页面的交互,具有灵活的扩展性且数据传输安全、高效,解决了现有方法数据传递效率低、不安全且使用不灵活的问题。
2、本申请实施例提供了一种业务条线数据交互方法,所述方法包括:
3、javascript桥梁sdk通过window.webkit.messagehandlers对象调用第一业务条线中已注册的消息处理器,以发送消息至所述第一业务条线;
4、所述第一业务条线通过wkscriptmessagehandler协议接收来自javascript桥梁sdk的消息;
5、所述第一业务条线解析所述消息中的参数并执行,获得执行结果;
6、所述第一业务条线通过wkwebview的evaluatejavascript方法将所述执行结果返回至javascript桥梁sdk,以通过所述javascript桥梁sdk将所述执行结果发送至第二业务条线。
7、在上述实现过程中,通过javascript bridge sdk可以很方便的实现h5与native互相数据通信,h5与h5之间方便的进行数据通信,sdk提供了直接调用javascript方法、支持复杂数据类型、强大的功能扩展性、高性能的数据传递以及灵活的业务扩展性等优势,使得native代码和h5页面之间的交互更加便捷和强大,且方便开发人员开发,大大节省开发成本,解决了现有方法数据传递效率低、不安全且使用不灵活的问题。
8、进一步地,在所述javascript桥梁sdk通过window.webkit.messagehandlers对象调用第一业务条线中已注册的消息处理器的步骤之前,所述方法还包括:
9、创建wkwebview对象,并添加至所述第一业务条线中;
10、对所述wkwebview对象配置参数,以用于被javascript桥梁sdk调用。
11、在上述实现过程中,通过wkwebview对象配置配置,使得javascript能够调用原生的objective-c/swift代码。
12、进一步地,所述对所述wkwebview对象配置参数,包括:
13、对所述wkwebview对象设置代理和useragent参数。
14、在上述实现过程中,具体配置参数包括设置代理、设置useragent等,且可根据需求调整,灵活、方便。
15、进一步地,在所述javascript桥梁sdk通过window.webkit.messagehandlers对象调用第一业务条线中已注册的消息处理器的步骤之前,所述方法还包括:
16、在所述第一业务条线中创建基于wkscriptmessagehandler协议的桥梁类,用于作为所述第一业务条线与所述javascript桥梁sdk的通信桥梁;
17、将所述桥梁类注册为基于wkwebview的消息处理器。
18、在上述实现过程中,将桥梁类注册为消息处理器,以便接收来自javascript的消息。
19、本申请实施例还提供一种业务条线数据交互装置,所述装置包括:
20、消息发送模块,用于javascript桥梁sdk通过window.webkit.messagehandlers对象调用第一业务条线中已注册的消息处理器,以发送消息至所述第一业务条线;
21、消息接收模块,用于所述第一业务条线通过wkscriptmessagehandler协议接收来自javascript桥梁sdk的消息;
22、解析模块,用于所述第一业务条线解析所述消息中的参数并执行,获得执行结果;
23、结果发送模块,用于所述第一业务条线通过wkwebview的evaluatejavascript方法将所述执行结果返回至javascript桥梁sdk,以通过所述javascript桥梁sdk将所述执行结果发送至第二业务条线。
24、在上述实现过程中,通过javascript bridge sdk可以很方便的实现h5与native互相数据通信,h5与h5之间方便的进行数据通信,sdk提供了直接调用javascript方法、支持复杂数据类型、强大的功能扩展性、高性能的数据传递以及灵活的业务扩展性等优势,使得native代码和h5页面之间的交互更加便捷和强大,且方便开发人员开发,大大节省开发成本,解决了现有方法数据传递效率低、不安全且使用不灵活的问题。
25、进一步地,所述装置还包括:
26、对象创建模块,用于创建wkwebview对象,并添加至所述第一业务条线中;
27、参数配置模块,用于对所述wkwebview对象配置参数,以用于被javascript桥梁sdk调用。
28、在上述实现过程中,通过wkwebview对象配置配置,使得javascript能够调用原生的objective-本文档来自技高网...
【技术保护点】
1.一种业务条线数据交互方法,其特征在于,所述方法包括:
2.根据权利要求1所述的业务条线数据交互方法,其特征在于,在所述JavaScript桥梁SDK通过window.webkit.messageHandlers对象调用第一业务条线中已注册的消息处理器的步骤之前,所述方法还包括:
3.根据权利要求1所述的业务条线数据交互方法,其特征在于,所述对所述WKWebView对象配置参数,包括:
4.根据权利要求1所述的业务条线数据交互方法,其特征在于,在所述JavaScript桥梁SDK通过window.webkit.messageHandlers对象调用第一业务条线中已注册的消息处理器的步骤之前,所述方法还包括:
5.一种业务条线数据交互装置,其特征在于,所述装置包括:
6.根据权利要求5所述的业务条线数据交互装置,其特征在于,所述装置还包括:
7.根据权利要求6所述的业务条线数据交互装置,其特征在于,所述参数配置模块包括:
8.根据权利要求5所述的业务条线数据交互装置,其特征在于,所述装置还包括:<
...【技术特征摘要】
1.一种业务条线数据交互方法,其特征在于,所述方法包括:
2.根据权利要求1所述的业务条线数据交互方法,其特征在于,在所述javascript桥梁sdk通过window.webkit.messagehandlers对象调用第一业务条线中已注册的消息处理器的步骤之前,所述方法还包括:
3.根据权利要求1所述的业务条线数据交互方法,其特征在于,所述对所述wkwebview对象配置参数,包括:
4.根据权利要求1所述的业务条线数据交互方法,其特征在于,在所述javascript桥梁sdk通过window.webkit.messagehandlers对象调用第一业务条线中已注册的消息处理器的步骤之前,所述方法还包括:
5.一种业务条线数据交互装...
【专利技术属性】
技术研发人员:耿彭彭,
申请(专利权)人:平安银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。