Tag Archives: weixin

Hello World 日志

微信支付的又一个坑

    从前年微信支付刚公测开始,前后接了三次微信支付。。。这次再接,居然还是磕磕绊绊,今天半个下午,都被一个下面这个错误提示误导了:
         getBrandWCPayRequest:fail_no permission to execute
    而且还不是总是出这个错误,有时是能正常支付的
    一般,出现这个错误,是因为微信支付授权地址不对,可是检查了n次,支付授权地址、js授权域名、oauth授权地址,都没发现问题
    然后怀疑签名错误,于是对比公钥,修改公钥,重新上传证书
    。。。总之,折腾了N次,还是不行
    ~~软件开发就是这样,如果一个问题,所有可能的原因都不是原因,那就剩下最后一个不可能的原因了:
    因为业务需要,这个项目要接入两个微信公众号,为了开发方便,两个公众号的代码是一起的,支付授权的url地址也就是一起的~~或许这就是原因
    设法将支付授权url地址区分开~~~问题解决!!
    猜测微信的“支付授权地址”是这样工作的,在微信客户端内,存在一个“支付授权地址–微信公众号”的缓存,而非“微信公众号–支付授权地址”,缓存更新不及时,就会出现上面的错误表现
——
btw:
    由于微信并未修改内置浏览器的内核,所以内置浏览器的很多特殊特性,都是微信webview通过外围的ios、android程序加入的
    比如新出的摇一摇页面获取openid/跳转关注页面,其实不过是再摇一摇出来的页面里种了一个cookie标记,如果你从摇一摇的页面退出来,再通过url直接进入这个页面,还可能调摇一摇的jsapi
    再比如oauth授权,如果A帐号进过你得站点,切换到B帐号后在,再进你得站点,用户身份还是A…因为cookie还在
    不过,实事求是的说,微信的jsapi确实很NB,将大量的原生应用的权限授权给了webview,大大扩展了web开发的可能性
    相对于微信的webview,phonegap这类专业号称使用webview做出原生应用的东西,就是个渣渣~~

Hello World

微信分享icon设置的一个小技巧

当你的页面在微信内打开时,默认是有分享到朋友圈、发送给朋友等操作的。这两个操作都会带上一个icon,如果你没有调wx.onMenuShareTimeline之类的微信js接口,分享出处就没有比较,看起来很low,单微信js需要绑定域名,对于没有公号的“野页面”应该如何配置icon哪?

这里有个小技巧:需要将你的icon做出300*300的png(必须是300*300呦),然后将这个图片放在img里,再讲img放在一个隐藏的div里,这是再在微信里分享,icon图就是你设置的这个图标了

Hello World 倒塌集

不靠谱的东西

这周碰到了两个不靠谱的东西,一个是微信自动回复里的图片,另一个是魅族手机

微信的公众平台API却是非常强大,可以依托它做出各种精彩的应用,然而,这周一却碰到了一个美中不足的问题不,这个问题不大不小却让人很不爽:自动回复里的图片,不管你给什么尺寸,在不同的设备里,总是会或左右,或上下的被截去一段,比如下图公众号“IT程序猿”发的内容:

可以看到,中间的图片,左侧二维码只显示了一般,右侧文字也没遮住了一部分

我测试了各种尺寸的图片,发现都不可以,最后的解决方案是:用大约1:2的图片,但是图片的上下、左右都不放重要内容,这样就随它截去了~~

这周碰上的另一个东西是魅族手机的系统浏览器。

魅族版的android,界面确实很漂亮,甚至可以说很华丽,但它的自带浏览器,确实也很屎。

昨天测试发现一个bug,在这个浏览器内,页面里里面有几个输入框,当输入时,整个页面都会随着上下不停的抖动。貌似,是因为有输入动作时,浏览器会试图将输入框放到页面的顶端,但每次定位都不成功,下次又试图再次定位,于是就出现了这种怪异的现象~~解决方案是。。。目前还没有