微信小程序显示条码功能在iphone 6p 以及 7p 等 plus 系列中,渲染canvas 的一维码出错

Nov 30, 2018

问题场景

公司开发的微信小程序会员功能,需要在线下实体店里出示条码(会员码),线下门店扫码后,在店内门店显示该会员信息(会员余额).

出现的问题

在iphone6屏幕下的条码没问题。在p型号的手机生成的条码不全。

问题原因

iphone 6,7,8 的屏幕放大倍数是@2x.而ipohne 6p,8p的放大倍数是@3x.处理小程序的canvas布局宽度时,使用了px固定计算。导致在p(@3x)系列的出现问题。