各位大佬 求助!!!!
问题非常诡异!!!下面是问题描述!
从公众号菜单直接打的网站链接 分享出去这样是没问题的,自定义的title,图标这些都生效。或者是点击有 分享title和图标的分享链接,再分享也是没问题的!
但是如果复制链接发到对话框如:http://www.test.com/test/test.html 这样。点击这个链接分享,自定义的title,图标这些都不会生效,分享出去的就是一串链接文字。我试过wx.config 开启调试,提示 都是ok updateTimelineShareData 和updateAppMessageShareData 都是OK! wx.checkJsApi 权限校验也是true。分享初始化的success: function () { 回调也成功,自定义的title,图标url等输出,都有值都是正确的。从菜单打开和从文字链接打开的,都是同一个链接执行的一套代码!
另外一个问题。在pc端微信调试分享接口提示 updateTimelineShareData 未定义,手机端提示都是ok.
环境说明js-sdk:jweixin-1.6.0.js ,手机版本:8.0.50 pc版本:3.9.11.23
开发环境:php7.4
下面是代码:
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '*************', // 必填,公众号的唯一标识
timestamp: '{$timestamp}', // 必填,生成签名的时间戳
nonceStr: '{$nonceStr}', // 必填,生成签名的随机串
signature: '{$signature}',// 必填,签名,见附录1
jsApiList: ['updateTimelineShareData','updateAppMessageShareData','onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(function(){
// wx.checkJsApi({
// jsApiList: [
// 'updateTimelineShareData',
// 'updateAppMessageShareData','onMenuShareAppMessage','onMenuShareTimeline'
// ],
// success: function (res) {
// alert(JSON.stringify(res));
// }
// });
var shareData = {
title: '{$info.title}', // 分享标题
desc: '{$infoviews}', //removeHTMLTag('{$info.title}'), // 分享描述
link: window.location.href, // 分享链接
imgUrl: 'http://'+window.location.host+'/assets/img/wxfxlogo.png', // 分享图标
type: 'link', // 分享类型,music、video或link,不填默认为link
dataUrl: '',
success: function () {
// 用户确认分享后执行的回调函数
// alert(JSON.stringify({
// title: '{$info.title}', // 分享标题
// desc: '{$infoviews}', //removeHTMLTag('{$info.title}'), // 分享描述
// link: window.location.href, // 分享链接
// imgUrl: 'http://'+window.location.host+'/assets/img/wxfxlogo.png'}));
//fxfunc();
},
fail: function (res) {
//alert("接口调用失败时执行的回调函数"+JSON.stringify(res));
// 用户取消分享后执行的回调函数
}
};
//自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0)
wx.updateTimelineShareData(shareData);
// 自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0)
wx.updateAppMessageShareData(shareData);
try{
wx.onMenuShareAppMessage(shareData)
wx.onMenuShareTimeline(shareData)
}
catch(e){}
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
});
你好,请使用卡片形式访问