微信公众号H5之微信分享常见错误和问题(小结)


Posted in Javascript onNovember 14, 2019

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 相关文章推荐
有一段有意思的代码-javascript现实多行信息
Aug 26 Javascript
JavaScript几种形式的树结构菜单
May 10 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
Apr 26 Javascript
js获取 type=radio 值的方法
May 09 Javascript
jquery实现从数组移除指定的值
Jun 24 Javascript
深入解析Javascript闭包的功能及实现方法
Jul 10 Javascript
vue2.0 keep-alive最佳实践
Jul 06 Javascript
vue组件实现文字居中对齐的方法
Aug 23 Javascript
Angular4 反向代理Details实践
May 30 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
Oct 10 jQuery
jquery选择器和属性对象的操作实例分析
Jan 10 jQuery
JS使用正则表达式实现常用的表单验证功能分析
Apr 30 Javascript
Jquery让form表单异步提交代码实现
Nov 14 #jQuery
vue之延时刷新实例
Nov 14 #Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
Nov 14 #Javascript
vue自定义正在加载动画的例子
Nov 14 #Javascript
如何在wxml中直接写js代码(wxs)
Nov 14 #Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
Nov 14 #Javascript
Vue SPA 初次进入加载动画实现代码
Nov 14 #Javascript
You might like
php 远程图片保存到本地的函数类
2008/12/08 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
2014/02/18 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
javascript继承机制实例详解
2014/11/20 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
JavaScript中的工厂函数(推荐)
2017/03/08 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
python 读取二进制 显示图片案例
2020/04/24 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
九年级物理教学反思
2014/01/29 职场文书
2014年党委工作总结
2014/11/22 职场文书
2014年小学工作总结
2014/11/26 职场文书
2014年就业工作总结
2014/11/26 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
先进集体申报材料
2014/12/25 职场文书
灵山大佛导游词
2015/02/04 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
证婚人致辞精选
2015/07/28 职场文书
Javascript之datagrid查询详解
2021/09/15 Javascript
javascript Number 与 Math对象的介绍
2021/11/17 Javascript
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android