vue开发微信公账号的那些坑

490 阅读2分钟

在微信公众号上常常会遇到一些莫名其妙的坑,今天就来说说自己开发中遇到的那些坑。

分享问题

问题:安卓分享出来的内容不是你想要的内容。因为安卓分享的时候微信会自动在你的链接后面拼接一些东西导致你分享出来的东西 没有展示出来。

解决:你需要在你的链接后面拼接一个”?",以参数形式传达。 比如:http://localhost:8080/?#/

时间转换

问题:在ios中去转换一个时间比如  2019-12-16,直接转换是不行的。ios不支持

解决:你需要吧 ‘-’ 改成 ‘/' 。比如:2019/12/16

document.referrer

问题:在ios中调用document.referrer会报错。ios不支持

微信分享失败后会提示分享成功

问题:这个是微信自带的一个bug。不管有没有成功都会提示成功

 wx.updateTimelineShareData({ 
    title: '', // 分享标题
    link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl: '', // 分享图标
    success: function () {
      // 分享成功
    },
   fail: function () {
        //分享失败
    }
  })


解决:把fail改成cancel

微信选择多张图片后的展示

问题:微信进行多张图片选择后需要重复调用。

解决:使用递归方式

wx.chooseImage({
  count: 1, // 默认9
  sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
  sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
  success: function (res) {
      var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
      _imgUp(localIds)
    }
});
let index = 0
var _imgUp = (localIds) => {
    if(localIds.length > index){
      //图片上传到自己的服务器        
        fetch().then(json).then(res => {
            index++
             console.log(res)
            _imgUp(localIds)
         })
   } else {
    _imgUp = null //清除递归
   }
}