方案一:使用中间跳转链接
创建一个中间跳转页面(H5),根据用户扫码时的浏览器User-Agent判断来源(微信/支付宝),自动跳转到对应的小程序。
- 微信小程序跳转
通过URL Scheme或微信开放标签(需微信环境)实现跳转:
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<wx-open-launch-weapp id="launch-btn" username="原始ID" path="pages/index">
<script type="text/wxtag-template">
<button>跳转小程序</button>
</script>
</wx-open-launch-weapp>
- 支付宝小程序跳转
使用支付宝开放标签(需支付宝环境):
<script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script>
<div id="alipay-button" data-appid="小程序APPID" data-path="pages/index">跳转支付宝小程序</div>
方案二:动态生成二维码
后端根据请求头识别用户扫码环境,返回对应的二维码图片:
- 微信二维码:
wxp://开头的Scheme或小程序码 - 支付宝二维码:
alipays://开头的Scheme或小程序码
示例代码(Node.js后端逻辑)
const express = require('express');
const app = express();
app.get('/qrcode', (req, res) => {
const ua = req.headers['user-agent'];
if (ua.includes('AlipayClient')) {
res.redirect('alipays://platformapi/startapp?appId=APPID&page=pages/index');
} else if (ua.includes('MicroMessenger')) {
res.redirect('weixin://dl/business/?ticket=TICKET');
} else {
res.send('请使用微信或支付宝扫码');
}
});
注意事项
-
微信限制
- URL Scheme需在微信后台配置合法域名
- 微信开放标签仅支持已备案的H5页面
-
支付宝限制
- 需在支付宝开放平台配置跳转白名单
- 部分版本客户端可能不支持Scheme跳转
-
兼容性处理
非微信/支付宝环境可展示提示页,引导用户手动打开对应APP扫码。
替代方案(第三方服务)
使用草料二维码等平台提供的“多链合一”功能,将两个小程序URL合并为一个动态二维码,自动识别客户端跳转。

1721

被折叠的 条评论
为什么被折叠?



