微信公众号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远程获取网页源代码实例
Sep 05 Javascript
javascript中setInterval的用法
Jul 19 Javascript
javascript实现计时器的简单方法
Feb 21 Javascript
jQuery Ajax前后端使用JSON进行交互示例
Mar 17 Javascript
详解如何在Vue2中实现组件props双向绑定
Mar 29 Javascript
JavaScript无操作后屏保功能的实现方法
Jul 04 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
Jul 21 Javascript
详解Vue2 SSR 缓存 Api 数据
Nov 20 Javascript
vue2.0项目实现路由跳转的方法详解
Jun 21 Javascript
React中如何引入Angular组件详解
Aug 09 Javascript
在Layui中实现开关按钮的效果实例
Sep 29 Javascript
vue @ ~ 相对路径 路径别名设置方式
Jun 05 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 VS ASP
2006/10/09 PHP
PHP 一个页面执行时间类代码
2010/03/05 PHP
PHP无敌近乎加密方式!
2010/07/17 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
element vue Array数组和Map对象的添加与删除操作
2018/11/14 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python之re操作方法(详解)
2017/06/14 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python三方库之requests的快速上手
2019/03/04 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
通信专业个人自我鉴定
2013/10/21 职场文书
计算机专业学生求职信分享
2013/12/15 职场文书
财务总经理岗位职责
2014/02/16 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
服务承诺口号
2014/05/22 职场文书
中班上学期个人总结
2015/02/12 职场文书
中学生自我评价2015
2015/03/03 职场文书
高中家长意见怎么写
2015/06/03 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python
分享7个 Python 实战项目练习
2022/03/03 Python
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python