微信公众号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 相关文章推荐
利用webqq协议使用python登录qq发消息源码参考
Apr 08 Javascript
javascript检查浏览器是否支持flash的实现代码
Aug 14 Javascript
CSS3实现动态背景登录框的代码
Jul 28 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
Dec 19 Javascript
js实现的简练高效拖拽功能示例
Dec 21 Javascript
JavaScript循环_动力节点Java学院整理
Jun 28 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
Sep 04 Javascript
VueJs使用Amaze ui调整列表和内容页面
Nov 30 Javascript
解决layui富文本编辑器图片上传无法回显的问题
Sep 18 Javascript
深入了解Vue.js 混入(mixins)
Jul 23 Javascript
js实现简单选项卡制作
Aug 05 Javascript
基于原生JS封装的Modal对话框插件的示例代码
Sep 09 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去除重复字的实现代码
2011/09/16 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
JS 动态加载脚本的4种方法
2009/05/05 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
js中更短的 Array 类型转换
2011/10/30 Javascript
javascript模拟select,jselect的方法实现
2012/11/08 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
Python实现文件复制删除
2016/04/19 Python
详解Python进程间通信之命名管道
2017/08/28 Python
python 删除列表里所有空格项的方法总结
2018/04/18 Python
数据清洗--DataFrame中的空值处理方法
2018/07/03 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
使用tensorflow进行音乐类型的分类
2020/08/14 Python
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
煤矿班组长竞聘书
2014/03/31 职场文书
竞选班干部演讲稿
2014/04/24 职场文书
市场营销专业自荐书
2014/06/10 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
企业宣传语大全
2015/07/13 职场文书
小学感恩主题班会
2015/08/12 职场文书