微信公众号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 相关文章推荐
两个select之间option的互相添加操作(jquery实现)
Nov 12 Javascript
不同浏览器对回车提交表单的处理办法
Feb 13 Javascript
几个有趣的Javascript Hack
Jul 24 Javascript
关于JavaScript的面向对象和继承有利新手学习
Jan 11 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
Apr 01 Javascript
JS中的prototype与面向对象的实例讲解
May 22 Javascript
异步动态加载js与css文件的js代码
Sep 15 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
Sep 19 Javascript
js统计页面上每个标签的数量实例代码
May 29 Javascript
JavaScript选择排序算法原理与实现方法示例
Aug 06 Javascript
在vue 中使用 less的教程详解
Sep 26 Javascript
关于layui的动态图标不显示的解决方法
Sep 04 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 Token(令牌)设计
2008/03/15 PHP
php实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
jquery+html5烂漫爱心表白动画代码分享
2015/08/24 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
python中enumerate的用法实例解析
2014/08/18 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
python 删除列表里所有空格项的方法总结
2018/04/18 Python
Python查找两个有序列表中位数的方法【基于归并算法】
2018/04/20 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
测试工程师职业规划书
2014/02/06 职场文书
男性健康日的活动方案
2014/08/18 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
婚礼答谢词
2015/01/04 职场文书
保姆聘用合同
2015/09/21 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
Win11查看设备管理器
2022/04/19 数码科技
Mysql中mvcc各场景理解应用
2022/08/05 MySQL