微信H5分享朋友圈踩坑

1、所需权限

需要公众号有分享权限,无权限无法分享成功,一般认证后就有权限,微信白名单需要配置地址,xxx.xxx.xxx(精确到二级域名)

2、后端接口

一般需要将线上url地址传递给后端,后端返回所需参数。后端一般问题不大,只需拿到 appId、timestamp、nonceStr、signature即可

3、wx.config API 配置

wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: res.appId, // 必填,公众号的唯一标识
    timestamp: res.timestamp, // 必填,生成签名的时间戳
    nonceStr: res.nonceStr, // 必填,生成签名的随机串
    signature: res.signature,// 必填,签名
    jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData', 'chooseImage'] // 必填,需要使用的JS接口列表
});

当只要出现 config: ok 时,即可认为配置成功

问题排查

1、url地址不对

可以先将 url 地址写死,xxx.xxx.xxx/xxx/ (www.baidu.com/share)一般为这种格式,可以尝试 encodeURIComponent 对地址进行编码,因为各个版本微信 js-sdk 不尽相同

2、公众号无权限

检查公众号配置,需要有分享权限

3、公众号未配置白名单

检查公众号白名单配置,需要将域名填入白名单中,只需精确到 xxx.xxx.xxx(www.baidu.com)

4、能够正常调起 chooseImage

能够正常在微信内置浏览器上调起 chooseImage API 时,证明 config 配置已经成功,只是一些需要权限的 API 没能够正常获取到权限

4、updateAppMessageShareData(分享给朋友) 配置

此项与 updateTimelineShareData 几乎相同,其中配置信息如:title、desc、imgUrl等可随便填写,但是 link 需要与你传递给后端的 url 地址一致。当 debug 出现 errMsg: “updateAppMessageShareData:ok” 时代表你已经成功了。
注:此项只是暂时存在的问题,后续微信可能会优化此问题。
参考如下步骤

操作步骤

1、进入url地址,分享纯链接至文件传输助手
2、在文件传输助手中长按点击收藏
3、点击收藏的链接,右上角分享至文件传输助手
4、在文件传输助手中可以看到你所想要的卡片。

你可能感兴趣的:(微信,前端)