微信公众号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 相关文章推荐
JQuery 入门实例1
Jun 25 Javascript
JS 日期验证正则附asp日期格式化函数
Sep 11 Javascript
JS实现物体带缓冲的间歇运动效果示例
Dec 22 Javascript
Bootstrap3多级下拉菜单
Feb 24 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
Apr 17 Javascript
vue使用ajax获取后台数据进行显示的示例
Aug 09 Javascript
vue 登录滑动验证实现代码
Aug 24 Javascript
如何为你的JavaScript代码日志着色详解
Apr 08 Javascript
前端天气插件tpwidget使用方法详解
Jun 24 Javascript
开发中常用的25个JavaScript单行代码(小结)
Jun 28 Javascript
vue实现滑动到底部加载更多效果
Oct 27 Javascript
vue+element ui实现锚点定位
Jun 29 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中的 == 运算符进行字符串比较
2006/11/26 PHP
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
载入jQuery库的最佳方法详细说明及实现代码
2012/12/28 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
jquery实现限制textarea输入字数的方法
2017/09/06 jQuery
JS内部事件机制之单线程原理
2018/07/02 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
2020/02/25 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
python 实现图片批量压缩的示例
2020/12/18 Python
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
公司开业庆典主持词
2014/03/21 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
商场促销活动策划方案
2014/08/18 职场文书
pytorch中[..., 0]的用法说明
2021/05/20 Python