代码改变世界

微信公众平台开发,那些走过的坑

2017-06-18 17:28  没有波澜的天空  阅读(290)  评论(0编辑  收藏  举报

最近接手了一个微信公众平台的项目,历时两个月,基本完工,终于有时间可以总结一下这过程当中遇到的点点滴滴。

1、关于微信的内置浏览器

开始以为,微信内置浏览器是一个浏览器,对于安卓机和苹果机都是一样的,后来发现不是,苹果机和安卓机的内核是不一样的,所以前端设计过程中一定要考虑浏览器的兼容问题。苹果机的微信内置浏览器也并不是纯粹的safri内核,微信有自己的处理,比如,safri并不支持h5的audio,但苹果机的微信内置浏览器是支持的。最坑的一点,是苹果机的语音播放,调了很久,因为苹果机是不允许在异步中调用audio的播放的,所以,如果想要在请求后台后播放audio,不能用post,必须用原生的ajax同步。

2、关于amr格式

audio本身是不支持amr格式的播放的,但调用微信得录音接口,生成的就是amr格式,直接用audio是无法播放的。需要将amr转换成mp3格式,需要注意的是,从微信服务器直接保存成mp3格式是不行的。这样会造成文件的损坏。这就需要用一些专门的转换工具进行转换。我用的是ffmpeg。转换完成以后,直接播放mp3格式即可,速度还是比较快的。

3、关于微信支付

微信支付的授权目录配置,只需到次级目录,不能到最底层位置

4、关于开发者模式

要想让系统接收消息,需要开启开发者模式。这个时候,自定义菜单,自动发消息等功能都会失效,需要借助代码来完成