微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解


Posted in Javascript onMarch 29, 2019

最近开发一个项目时,有微信H5网页自定义分享功能,使用了微信JS-SDK的分享到好友和分享到朋友圈功能。

微信开发文档这样写的

自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0)

wx.ready(function () {  //需在用户可能点击分享按钮前就先调用
wx.updateAppMessageShareData({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
}
});

自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0)

wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
wx.updateTimelineShareData({
title: '', // 分享标题
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
}
});

看起来很简单,直接加入到H5网页里面了

wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData'
] // 必填,需要使用的JS接口列表
});

其他参数参考根据自己情况填写,并设置debug: true 

测试环境:

微信Web开发者工具,测试接口,ok

苹果X,查看debug的弹出信息,一切ok;

分享测试,一切ok

大工搞成。咦,等下,好像漏了什么。。。。。。安卓呢?

结果果然漏了,安卓测试分享朋友圈和发送给好友,自定义分享功能都无效,仅仅分享为一个链接而已。

这个问题苹果手机好的,安卓不行,并且微信web开发者工具测试接口都是好的,那问题应该不是接口调用(后台数据都是一样的),应该是和客户端有关,但又找不到相关资料。

百思不得其姐,困惑了好久,各种度娘也没有找到正确答案。某天突发奇想,新的接口不行,那旧的接口呢?

于是乎测试开始:

加入两个旧分享接口onMenuShareAppMessage和onMenuShareTimeline,然后写了个测试方法

jsApiList: [
  'updateAppMessageShareData',
  'updateTimelineShareData',
  'onMenuShareAppMessage', //旧的接口,即将废弃
  'onMenuShareTimeline' //旧的接口,即将废弃
]// 必填,需要使用的JS接口列表

获取“分享给朋友”按钮点击状态及自定义分享内容接口(即将废弃)

wx.onMenuShareAppMessage({
title: 'test', // 分享标题
desc: 'test_desc', // 分享描述
link: 'www.jianshu.com', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户点击了分享后执行的回调函数
}
});

然后随便写了个测试发现居然成!功!了! 不过自定义分享内容还是新接口updateAppMessageShareData定义的。

删除旧接口定义再测试,发现仅仅在jsApiList加入旧接口声明也是可以的!

问题解决,这个真的是JS-SDK的一个坑。这篇文章希望能帮助到遇到相似问题的同学。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS模拟的QQ面板上的多级可展开的菜单
Oct 10 Javascript
基于jQuery实现的旋转彩圈实例
Jun 26 Javascript
json格式数据的添加,删除及排序方法
Jan 21 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
Aug 03 Javascript
Bootstrap table使用方法详细介绍
Dec 09 Javascript
Javascript实现数组中的元素上下移动
Apr 28 Javascript
ES6入门教程之Class和Module详解
May 17 Javascript
JS实现的贪吃蛇游戏完整实例
Jan 18 Javascript
ES6中异步对象Promise用法详解
Jul 31 Javascript
JavaScript数值类型知识汇总
Nov 17 Javascript
vue实现移动端项目多行文本溢出省略
Jul 29 Javascript
vue props default Array或是Object的正确写法说明
Jul 30 Javascript
详解vue配置后台接口方式
Mar 29 #Javascript
微信小程序学习笔记之获取位置信息操作图文详解
Mar 29 #Javascript
点击按钮弹出模态框的一系列操作代码实例
Mar 29 #Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
Mar 29 #Javascript
微信小程序生成分享海报方法(附带二维码生成)
Mar 29 #Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
Mar 29 #Javascript
微信小程序生成二维码的示例代码
Mar 29 #Javascript
You might like
php代码收集表单内容并写入文件的代码
2012/01/29 PHP
php-redis中的sort排序函数总结
2015/07/08 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
web 页面分页打印的实现
2009/06/22 Javascript
javascript Array.prototype.slice使用说明
2010/10/11 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
js转义字符介绍
2013/11/05 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
Angular在模板驱动表单中自定义校验器的方法
2017/08/09 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
一个Vue页面的内存泄露分析详解
2018/06/25 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
在Python下使用Txt2Html实现网页过滤代理的教程
2015/04/11 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
Python微信库:itchat的用法详解
2017/08/14 Python
Python使用wxPython实现计算器
2018/01/30 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
商务英语专业自荐信
2013/10/14 职场文书
项目专员岗位职责
2013/12/04 职场文书
拖欠货款起诉状
2015/05/20 职场文书
幼儿园保育员随笔
2015/08/14 职场文书