微信公众号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 相关文章推荐
js 操作符实例代码
Oct 24 Javascript
JavaScript中的this关键字介绍与使用实例
Jun 21 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
Mar 04 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
Jun 10 Javascript
JavaScript生成二维码图片小结
Dec 27 Javascript
Bootstrap自定义文件上传下载样式
May 26 Javascript
Angularjs 实现一个幻灯片示例代码
Sep 08 Javascript
基于javascript实现按圆形排列DIV元素(二)
Dec 02 Javascript
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
React-Native左右联动List的示例代码
Sep 21 Javascript
微信小程序 生成携带参数的二维码
Oct 23 Javascript
VUE解决 v-html不能触发点击事件的问题
Oct 28 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介绍篇
2010/10/26 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
PHP图片加水印实现方法
2016/05/06 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
JavaScript面向对象设计二 构造函数模式
2011/12/20 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
2018/05/04 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
Django跨域请求原理及实现代码
2020/11/14 Python
Python操作Excel的学习笔记
2021/02/18 Python
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
节约用电标语
2014/06/17 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
在 Golang 中实现 Cache::remember 方法详解
2021/03/30 Python
MySQL 常见存储引擎的优劣
2021/06/02 MySQL
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers