微信公众号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作用域和闭包使用详解
Apr 25 Javascript
判断输入的字符串是否是日期格式的简单方法
Jul 11 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
Aug 03 Javascript
javascript入门之window对象【新手必看】
Nov 22 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
Jan 03 Javascript
vue动态组件实现选项卡切换效果
Mar 08 Javascript
在Vue组件上动态添加和删除属性方法
Feb 23 Javascript
JavaScript 跨域之POST实现方法
May 07 Javascript
webpack 样式加载的实现原理
Jun 12 Javascript
JQuery特殊效果和链式调用操作示例
May 13 jQuery
Vue-cli3.x + axios 跨域方案踩坑指北
Jul 04 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
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项目开发中最常用的自定义函数整理
2010/12/02 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
js过滤数组重复元素的方法
2010/09/05 Javascript
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
Javascript之String对象详解
2016/06/08 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
小程序实现投票进度条
2019/11/20 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
创建nuxt.js项目流程图解
2020/03/13 Javascript
jquery实现进度条状态展示
2020/03/26 jQuery
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
学习python类方法与对象方法
2016/03/15 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
java判断三位数的实例讲解
2019/06/10 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
人事助理自荐信
2014/02/02 职场文书
规划编制实施方案
2014/03/15 职场文书
建筑院校毕业生求职信
2014/06/13 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
加强党性修养心得体会
2016/01/21 职场文书