微信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 相关文章推荐
浅谈JavaScript编程语言的编码规范
Oct 21 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
Jan 23 Javascript
js实现按Ctrl+Enter发送效果
Sep 18 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
Nov 01 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
Vue.js动态组件解析
Sep 09 Javascript
Node.JS中事件轮询(Event Loop)的解析
Feb 25 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
利用node 判断打开的是文件 还是 文件夹的实例
Jun 10 Javascript
wx-charts 微信小程序图表插件的具体使用
Aug 18 Javascript
vue-cli3自动消除console.log()的调试信息方式
Oct 21 Javascript
vue 实现弹窗关闭后刷新效果
Apr 08 Vue.js
详解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中curl_multi的应用
2013/07/17 PHP
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
zf框架的registry(注册表)使用示例
2014/03/13 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
通过JS来动态的修改url,实现对url的增删查改
2014/09/01 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
Vue.use源码分析
2017/04/22 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
Vue.js用法详解
2017/11/13 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
保时捷设计:Porsche Design
2019/03/30 全球购物
农田水利实习自我鉴定
2013/09/19 职场文书
医学专业毕业生个人的求职信
2013/12/04 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL