微信公众号H5之微信分享常见错误和问题(小结)
url转码
官方文档描述: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62
确认url是页面完整的url(请在当前页面alert(location.href.split('#')[0])确认),包括'http(s)😕/'部分,以及'?'后面的GET参数部分,但不包括'#'hash后面的部分
即获取url完成地址的方法为
let url = window.location.href.split('#')[0];
如果链接带有中文字符或者特殊符号,前端需要使用encodeURIComponent编码,同时后端需要配合解码
let url = encodeURIComponent(window.location.href.split('#')[0]);
config注入
官网文档描述: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#4
同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,
注意,每次使用jssdk方法前都要先注入配置信息,并且,每使用一次,就要注入config一次.
在vue里,可以写在每次路由变化时
router.beforeEach((to, from, next) => { // 获取权限验证配置(签名) 后端返回 getConfig, 注意返回字段的大小写! let res // 注入配置信息 wx.config({ debug: false, // 调试开关 appId: res.appId, // 必填,公众号的唯一标识 timestamp:res.timestamp , // 必填,生成签名的时间戳 nonceStr: res.nonceStr, // 必填,生成签名的随机串 signature: res.signature,// 必填,签名 jsApiList: ["updateAppMessageShareData","updateTimelineShareData"] // 必填,需要使用的JS接口列表 }); wx.ready(() => { // doSoming }); })
安全域名
一定要再三确认安全域名等微信公众号配置信息,如分享链接link字段
很多时候的错误并不是前端方法或者sdk等问题,而是后台有没有设置正确的安全域名和白名单等.
wx.updateAppMessageShareData({ title: '', // 分享标题 desc: '', // 分享描述 link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: '', // 分享图标 success: function () { // 设置成功 } })
常见错误
参考微信官网文档-附录5
地址: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62
在开发过程遇到
- invalid signature
- the permission value is offline verifying
- permission denied
先参考文档,排除基本因素,还是不行,再查找搜索引擎的答案.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
JavaScript进阶教程之非extends的组合继承详解
组合继承有时候也叫伪经典继承,指的是将原型链和借用构造函数技术组合到一块,从而发挥二者之长的一种继承模式,下面这篇文章主要给大家介绍了关于JavaScript进阶教程之非extends的组合继承的相关资料,需要的朋友可以参考下2022-08-08基于Bootstrap实现Material Design风格表单插件 附源码下载
Jquery Material Form Plugin是一款基于Bootstrap的Material Design风格的jQuery表单插件。这篇文章主要介绍了基于Bootstrap的Material Design风格表单插件附源码下载,感兴趣的朋友参考下2016-04-04
最新评论