网站后台怎么转发网页内容( 2.在vue中设置安装微信sdk.js:none )
优采云 发布时间: 2021-10-06 13:01网站后台怎么转发网页内容(
2.在vue中设置安装微信sdk.js:none
)
微信小图、标题、描述的转发或分享朋友圈的实现方法
微信转发或分享带有缩略图、标题和描述的朋友圈。问题描述:微信公众号(所有页面都使用vue),分享页面,二次分享无法获取缩略图和描述;H5嵌入APP页面(vue写的有用页面,也有jsp页面),分享给朋友或朋友圈,第二次分享无法获取缩写和描述;
问题思考:
百度总结,网友贡献最多的是在body后面加了一个img标签,设置display:none。这个方法虽然感觉不科学,但是我试了一下,发现在微信6.5. 5版本后就不再有效了。分享只能通过设置微信的分享接口来实现调用缩略图和介绍,并连接到 jssdk。
微信公众号和普通H5页面分享的内容都需要微信签名验证。
解决方案
1.在jsp页面中
页面介绍
shareJssdk.js 的内容是:
$(function(){
var url = encodeURIComponent(location.href.split('#')[0]);
//分享
$.ajax({
type : "get",
url : "/phjf/api/v1/sys/getJssdkSgin",
dataType : "json",
data:{
url:url
},
success : function(result){
wxstart(result.data);
},
error:function(data){
alert("连接失败!");
}
});
function wxstart(data){
var url = location.href; //分享的文章地址
var appId = data.appId;
var timestamp = data.timestamp;
var nonceStr = data.nonceStr;
var signature = data.signature;
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: appId, // 必填,公众号的唯一标识
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: nonceStr, // 必填,生成签名的随机串
signature: signature,// 必填,签名,见附录1
jsApiList: ["onMenuShareTimeline", "onMenuShareAppMessage", "onMenuShareQQ" , "onMenuShareWeibo"] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(function(){
var shareData = {
title: document.title,
desc: '政府牵头推动成立的惠民金融平台',
link: location.href,
imgUrl: 'http://file.puhuijinfu.com/imgLoader/test/phjf/img/2018/10/11/xyswkVTROKdq1xBzEYMB.jpeg'
};
wx.onMenuShareAppMessage(shareData);
wx.onMenuShareTimeline(shareData);
wx.onMenuShareQQ(shareData);
wx.onMenuShareWeibo(shareData);
});
}
})
确保您获得的用于签名的 url 是动态获取的。动态页面请参考示例代码中的php实现。如果是前端html的静态页面通过ajax将url传递给后端进行签名,前端需要使用js获取当前页面去掉'#'hash部分的链接(可用location.href.split('#')[0] 来获取,并且需要encodeURIComponent),因为一旦页面被分享,微信客户端会在你的链接末尾添加其他参数。如果当前链接不是动态获取的,则共享页面将无法签名。
2.在vue中设置
安装微信SDK
npm install weixin-js-sdk