微信公众号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 相关文章推荐
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
Feb 03 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
Jan 24 Javascript
JavaScript函数获取事件源的小例子
May 14 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
Apr 12 Javascript
jQuery基本选择器之标签名选择器
Sep 03 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
Nov 10 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
Jan 18 Javascript
JavaScript实现二分查找实例代码
Feb 22 Javascript
解析Vue 2.5的Diff算法
Nov 28 Javascript
微信小程序实现红包雨功能
Jul 11 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
Sep 21 Javascript
如何利用vue实现波谱拟合详解
Nov 05 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生成UTF8文件的方法
2010/05/15 PHP
PHP程序中使用adodb连接不同数据库的代码实例
2015/12/19 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
js格式化时间小结
2014/11/03 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
2016/09/04 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
python实现RSA加密(解密)算法
2016/02/17 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
python获取代理IP的实例分享
2018/05/07 Python
python selenium firefox使用详解
2019/02/26 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
Python如何避免文件同名产生覆盖
2020/06/09 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
销售简历自我评价
2014/01/24 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
防卫过当辩护词
2015/05/21 职场文书
大学军训心得体会800字
2016/01/11 职场文书
浅析python中特殊文件和特殊函数
2022/02/24 Python