微信公众号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
Apr 15 Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
Jun 18 Javascript
javascript之典型高阶函数应用介绍
Jan 10 Javascript
给文字加上着重号的JS代码
Nov 12 Javascript
用IE重起计算机或者关机的示例代码
Mar 10 Javascript
JS应用正则表达式转换大小写示例
Sep 18 Javascript
JavaScript中对象property的删除方法介绍
Dec 30 Javascript
Jquery中巧用Ajax的beforeSend方法
Jan 20 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
Sep 21 Javascript
Bootstrap实现各种进度条样式详解
Apr 13 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
详解.vue文件中style标签的几个标识符
Jul 17 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
2016/03/18 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
实例讲解Python爬取网页数据
2018/07/08 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
办公室文秘岗位职责
2013/11/15 职场文书
计算机通信专业推荐信
2014/02/22 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
推销搭讪开场白
2015/05/28 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书