为什么一张码能被两个 App 认出
微信扫一扫「从左到右」优先识别:整图左上/右上/左下三个定位角是微信码的,右下角被覆盖的部分靠 H 级纠错(30%)恢复,解出微信链接。支付宝会忽略 wxp:// 这类微信格式,继续在图里找下一个可解析的码——右下角旋转过方向的支付宝码定位角朝向不同,正好被单独解出。原理参考 PayQrcode。
不是把两张码并排贴在一起,而是物理合并成一张二维码:微信码做底层,支付宝码去掉无点位角、旋转 180° 后融入右下角。微信扫码从左到右优先识别出微信;支付宝忽略微信格式、单独解出右下角自己的码。生成即永久有效,打印贴柜台就行。识别、合并全部在本地完成。
生成后请务必用微信和支付宝各扫一遍确认。
微信扫一扫「从左到右」优先识别:整图左上/右上/左下三个定位角是微信码的,右下角被覆盖的部分靠 H 级纠错(30%)恢复,解出微信链接。支付宝会忽略 wxp:// 这类微信格式,继续在图里找下一个可解析的码——右下角旋转过方向的支付宝码定位角朝向不同,正好被单独解出。原理参考 PayQrcode。
这个工具是真·二合一:一张码、一次扫码直达对应 App,适合打印贴柜台。但它只支持两个码、抗遮挡能力下降(超 30% 污损会失败)。要并排贴两张、各自完整无损,用 收款码拼接。
上传的收款码只在浏览器里解码出链接文本,重新编码合并也在本地 canvas 完成。收款码链接属于敏感信息,别把导出的码发到公开场合。