微信公众号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 相关文章推荐
页面中body onload 和 window.onload 冲突的问题的解决
Jul 01 Javascript
javascript字符串循环匹配实例分析
Jul 17 Javascript
jquery判断输入密码两次是否相等
Apr 22 Javascript
关于Jquery中的事件绑定总结
Oct 26 Javascript
基于ajax与msmq技术的消息推送功能实现代码
Dec 26 Javascript
Angular2平滑升级到Angular4的步骤详解
Mar 29 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
Vue之Watcher源码解析(1)
Jul 19 Javascript
详解vue mixins和extends的巧妙用法
Dec 20 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 Javascript
解决eclipse中没有js代码提示的问题
Oct 10 Javascript
Angular6使用forRoot() 注册单一实例服务问题
Aug 27 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
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
如何取得中文输入的真实长度?
2006/06/24 Javascript
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
2013/05/13 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
jQuery控制元素隐藏和显示
2017/03/03 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
jupyter notebook 的工作空间设置操作
2020/04/20 Python
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
美国最大和最受信任的二手轮胎商店:Bestusedtires.com
2020/06/02 全球购物
大学生学习党课思想汇报
2014/01/03 职场文书
企业安全标语
2014/06/07 职场文书
员工生日会策划方案
2014/06/14 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS
vue项目支付功能代码详解
2022/02/18 Vue.js
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers
JavaScript设计模式之原型模式详情
2022/06/21 Javascript
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers