一个字母引发的“血案”

        众所周知,如果没点开发经验,在接入第三方的接口时,比如微信的,就会陷入一个个坑中,无法自拔。


        今天遇到的一个问题,让我这10年CV经验的攻城狮,有点无地自容,羞愧难当。


        事情是这样的,有一个H5的项目,需要用到微信的扫一扫功能来扫描二维码的内容。当时想到,这个在之前的项目上应用过,而且没什么问题。于是跟领导说:小问题啦。


        于是找到之前成功运行的项目代码,一顿CV操作,编译、发布、手机访问、点击按钮触发,成功的调起了微信扫一扫,可以说一气呵成,我都佩服自己CV的能力。


        接着,同事的各类手机开始访问测试,突然,一个同事发出来狡黠的笑声:嘿嘿嘿,我的手机扫不得。顿时,我心里慌了一下,但还是强装镇定地走到同事面前:我来look look。他又给我演示了一遍,确实不行,这就尴尬了。


        后来发现,是手机型号的不同导致的,我测试用的是安卓手机,而测试异常的同事,用的是苹果手机。


        于是开始排查,记得以前遇到过一个类似的问题,原因是苹果手机获取的window.loacation.href的地址和安卓手机的不一致(苹果手机会多出#号),导致签名失败,从而无法调起。但经过排查发现,签名是成功的。


        所以换个思路,开始加各种alert、console.log(通过引入<script src="https://s.url.cn/qqun/qun/qqweb/m/qun/confession/js/vconsole.min.js"></script>就可以在微信浏览器看见控制台了)进行排查,终于发现wx.config中,wx未定义,这就很奇怪了,安卓可以,苹果就不行。


        继续排查,最后发现H5应用是用的https的域名,而引入的(http://res.wx.qq.com/open/js/jweixin-1.2.0.js)是http的域名,由于苹果对此有严格的限制,所以导致了苹果手机无法加载jweixin-1.2.0.js,从而导致无法初始化wx组件,因此有了前面提到的问题。


        经过一顿百度、一顿AI,最后发现是这个问题,就因为少了个“s”,免不了被同事嘲笑一番了。
        所以,编程是一件非常严谨的事情,还是要仔细再仔细。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值