首页 > 编程语言 >工具分享:一款可以兼容微信支付宝多个小程序的兼容工具

工具分享:一款可以兼容微信支付宝多个小程序的兼容工具

时间:2023-10-24 15:11:05浏览次数:29  
标签:支付宝 微信 App 程序 兼容 工具 程序代码 SDK

antmove 的初衷是提供一种小程序跨平台开发的解决方案,帮助开发者底层本实现小程序的跨平台开发(微信小程序、支付宝小程序、百度智能小程序、头条小程序),做到一套代码开发、多小程序平台运行的目的。 目前 antmove 已经帮助了多款微信小程序到支付宝小程序的迁徙,代码转换率高达 90%+,极大的降低了小程序开发企业的人力成本。工具不仅能做到运行时 diff 的抹平,也能部分做到一个 API 从无到有的过程以及缺失组件的支持。

并且几个平台尽管代码不相通也不能直接使用,但是 GitHub 上面一搜还是有好几款代码包转换工具可以用,例如微信小程序使用 Antmove 就可以转成支付宝小程序开放平台支持的代码包,总之整个使用的门槛还是比较低的。

但是好死不死的微信开放平台时不时就要提醒违规,虽然明白在流量平台上运营就要遵守他们制定的游戏规则,但实话还是很影响自己的业务运行情况。

于是产生了一个念头:我把小程序直接搬到自己app同步运行如何,就算在微信端被封了,也能在支付宝、抖音平台使用,退一万步还能在自己的app跑。

好了到了技术线路调研和选型的环节。

有同学可能会说你这个可以用 uniapp 的框架实现,但是很不幸运的是我的小程序最早是用微信原生语法写的,并不是采用的 uni 的方案,所以这条路就没有再去考虑。

另外自己开发了小程序后并不想再通过h5的形式去实现一遍,所以就只考虑小程序运行的方案。

小程序容器技术

在 GitHub 和搜索引擎大概搜了一圈,确实有这类成熟的技术,市面上大家会称之为小程序容器技术例如FinClip,它的原理其实并不难理解,就是在宿主应用中通过集成 SDK 的形式让宿主应用 App 具备小程序的运行能力,之前微信、支付宝等平台是将这个技术仅用于内部,现在有企业将技术封装好进行市场化。

小程序 SDK 提供了一套可运行小程序业务代码的安全沙箱与宿主环境:

  • 安全沙箱负责保护小程序中的业务应用,在安全可信的环境中传输数据,避免第三方的干扰与窃听;
  • 宿主环境负责执行小程序 JS 业务逻辑代码,并使用 WebView 渲染展示小程序页面

小程序运行 SDK 集成

由于我自己的 App 是用的 Flutter ,所以也特别看了下在这种框架下 FinClip SDK 做了支持,一般来讲 Flutter 版本高于 2.2.3 就可以进行集成,整个过程分2步也并不难这里也就不多说了,另外各个厂商也有自己的文档介绍,跟着来做就好。

首先在集成 SDK 前需要先在平台去创建应用并绑定小程序,这样能获得每个应用专属的 SDK KEY 及 SDK SECRET 后,随后方便在集成 SDK 时填写对应的参数。

打开小程序时 SDK 会自动初始化,并校验 SDK KEY ,SDK SECRET 与 BundleID(Application ID) 是否正确。

其后在项目 pubspec.yaml 文件中添加依赖及示例小程序 Demo 的测试。

小程序代码包上传及编译

其后在开发工具上传自己的小程序代码包就好了,这里我以集成的 FinClip SDK 为例,从实际的测试效果来看是可以直接编译现有的微信小程序代码包,说明是能够直接兼容的。官方在工具的顶部也有明确标注支持微信、字节和支付宝小程序,个人认为这个功能点还是非常有用的,至少不用几个平台瞎折腾相互去转换。

支付宝小程序代码包直接用开发工具打开的一个测试的效果,整体的支持度还是挺不错的。

再来看看抖音小程序代码包放到开发工具中的效果。

从支付宝和抖音小程序的实际测试来看都还不错,说明产品的成熟度还是做的很不错。

下面是小程序在 App 中实际运行的效果,和在微信端打开没有太大的效果差异,感觉还是可以的。

打个小结

把小程序放到 App 中运行是在特殊场景下的需求。

首先例如小程序的运行在微信、支付宝等开放平台遇到较为明显的影响可以切换到自己的 App 中去运营。

其次对微信、支付宝等平台有小程序的运营需求,同时自己的 App 中也需要运行小程序同样的业务,这个时候可以通过同一套小程序代码多端运行,无需再去重复的开发。

 

标签:支付宝,微信,App,程序,兼容,工具,程序代码,SDK
From: https://www.cnblogs.com/Xxx1m/p/17784854.html

相关文章

  • 在C++中,互斥变量(std::mutex)是用于保护共享资源的重要工具,但它们确实有一些局限性,其中
    在C++中,互斥变量(std::mutex)是用于保护共享资源的重要工具,但它们确实有一些局限性,其中之一是无法保证包含指针的区域的多线程安全。这是因为互斥锁本质上只能保护它们所保护的代码块,而不会考虑指针指向的数据。下面是一些与互斥锁和指针相关的常见问题和注意事项:共享数据的复制:......
  • JWT Tool:针对 JSON Web Tokens 的测试工具题解JWT cracking
    什么是JWT?JWT是JSONWebToken的缩写,它是一串带有声明信息的字符串,由服务端使用加密算法对信息签名,以保证其完整性和不可伪造性。Token里可以包含所有必要的信息,这样服务端就无需保存任何关于用户或会话的信息了。JWT可用于身份认证,会话状态维持以及信息交换等任务。JWT由三部分......
  • Wireshark抓包工具的用法
    Wireshark是一款强大的网络分析工具,可以帮助用户深入了解网络数据包的传输过程和内容,从而进行故障排除、网络安全分析和网络性能优化等工作。本文将介绍Wireshark的基本用法和常用功能。一、安装WiresharkWireshark是一款开源软件,可在官方网站上免费下载安装。根据操作系统选择......
  • 解决“请使用微信打开访问",无法使用自带浏览器
    1.首先用数据线把手机连接到电脑2.手机打开USB调试3.手机进入微信随便打开一个聊天窗口输入并发送:http://debugxweb.qq.com/?inspector=true点击打开这个链接,弹出“执行成功”,即可4.手机微信打开想要抓包调试的网页5.电脑上打开chrome内核的浏览器或edge浏览器chrome内......
  • 5种常用Web安全扫描工具,快来查漏补缺吧!
    漏洞扫描是一种安全检测行为,更是一类重要的网络安全技术,它能够有效提高网络的安全性,而且漏洞扫描属于主动的防范措施,可以很好地避免黑客攻击行为,做到防患于未然。那么好用的漏洞扫描工具有哪些?答案就在本文!1、AWVSAcunetixWebVulnerabilityScanner(简称AWVS)是一款知名的网络......
  • armsom:为何选择rk3588开发与Jetson Nano引脚兼容的嵌入式产品之规格对比
    下面是JetsonNano模块(以NVIDIAJetsonNano为代表)与armsom开发的AIM5(RockchipRK3588)的主要技术规格的对比,整理成表格:规格JetsonNano(NVIDIA)ArmSoM-AIM5CPU核数四核ARM®Cortex®-A57MPCore处理器四核ARM®Cortex®-A76+四核ARM®Cortex®-A55GPU核数1......
  • armsom:为何选择rk3588开发与Jetson Nano引脚兼容的嵌入式产品之规格对比
    下面是JetsonNano模块(以NVIDIAJetsonNano为代表)与armsom开发的AIM5(RockchipRK3588)的主要技术规格的对比:规格JetsonNano(NVIDIA)ArmSoM-AIM5CPU核数四核ARM®Cortex®-A57MPCore处理器四核ARM®Cortex®-A76+四核ARM®Cortex®-A55GPU核数128核Maxwell架......
  • [AHK2] 截图工具
    这是由ahk2编写的工具,用于屏幕截图,它具有以下核心功能:- 截图并粘贴- 缩放贴图- 保存截图至剪贴板和文件- 分组管理其他功能包括:- 读取位图并显示- 历史截图管理更多功能包括:- 完全自由的自定义- 简单的功能扩展 脚本共1500多行,便不在此处粘贴,感兴趣的可以去......
  • IDEA工具第二篇:自定义Java方法注释模板
    网上搜索类似的文章有很多,但是一味的复制粘贴总会出现各种奇葩问题,最后然并卵!今天特意自己研究琢磨一下,将最终结果分享给大家,100%亲测可用。一、说明想必大家都用过Eclipse的方法注释生成,方法上输入/**,回车走你,巴拉巴拉如下的注释便生成了,今天就悄悄告诉大家如何自定义这样的模......
  • 拒绝加班,程序员开发的效率工具集
    版权声明:本文为CSDN博主「terrybg」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_37493888/article/details/126060548本文是作者日常开发中常用类库的整理,避免重复造轮子,提升开发效率减少加班时间,工具库涉及Hutool、co......