总结微信vue单页应用开发的一些坑

最近在做一个微信上的移动应用,踩了不少坑,做了以下的总结:

  1. 微信分享功能,安卓和iPhone存在着很多而差异。一开始调用微信分享功能需要引入jssdk,在入口文件index.js中引入了http://res.wx.qq.com/open/js/jweixin-1.0.0.js js文件,然后出现了的问题是安卓可以进分享,但是iPhone却总是出现invalid signature,后来发现是因为iOS 9.0需要引入https://res.wx.qq.com/open/js/jweixin-1.0.0.js,否则会分享失败。

  2. iOS overflow:auto滚动不流畅问题。这个问题一般加上一句-webkit-overflow-scrolling : touch;就可以就解决问题,但是当有已导航栏用了fixed或者absolute定位的,定位就会失效,这是需要给overflow:auto的标签加上一个绝对定位,如position:fixed或者position:absolute。

  3. 有关于css选择器的坑:如果在html和body选择器中写了overflow:auto,对子元素div的滚动条的scrolltop值就总会为0,这和浏览器的兼容不同,这个神奇的坑花了我很长的时间才解决。

  4. 做微信支付接口jsapi调用的时候,支付目录的配置很有讲究,Vue项目如果没有改变路由的mode的默认值hash,这时#的存在就会是支付目录的配置失败,这是需要更改mode的模式,变为history。

  5. 引入了百度地图API后,在微信开发者工具上面的定位和手机上定位差距很大,竟然有十多公里,这个让我一直以为是百度定位不准确,还试过换微新jssdk的定位,到头却发现是因为浏览器定位不准确导致的,只要代码在手机上跑起来,定位就会很精确。

  6. 上传文件的坑,或者说是上传图片,用formdata通过ajax发送给后台,但是图片太大的话node会报一个错误request entity too large,这是node上传文件限制的原因,这个需要在node加上一个上传文件的限制

     //app.use(express.limit(100000000)
     //app.use(bodyParser({limit : "5000kb"}));
     //app.use(json({limit: '5000kb'}));
    

    但是一般体验文件太大的话用户体验不好,又消耗流量,最好还是使用canvas压缩上传。

转载于:https://my.oschina.net/u/4051564/blog/3090143

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值