在使用微信JS-SDK对应的JS接口前,需确保已获得使用对应JS接口的权限,可在下表中根据自己的帐号类型查看。 企业号帐号类型分为注册号和认证号,其中认证号拥有更多的JS-SDK权限,具体详见下方表格:
所有的JS接口只能在企业号应用的可信域名下调用(包括子域名),可在企业号应用中心里设置应用可信域名。(在公众号设置–>功能设置,填写设置Js接口安全域名 ,Js安全域名是需要把微信提供的文件,放在指定域名或者目录下面可以访问的。)
1.引入微信JS-SDK
首先要想在分享朋友圈、或者分享给好友的时候带上缩略图和自定义标题,就需要引入微信分享的JS_SDK:
<script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
2.按需引入
在需要分享的页面引入对应的demo
通过config接口注入权限验证配置
1.首先需要跟后台拿到对应的参数:
文档
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名,见附录1
具体实施:
var timestamps; //声明时间按戳参数
var nonceStrs; //声明生成签名的随机串
var signatures; //签名
$.ajax({
async: false,
url: "https://.********.com/****/GetJSConfig", //后台请求接口,找后台要
type: "post",
dataType: "json",
data: {
url: window.location.href,
},
success: function(res) {
let data = JSON.parse(res.Data);
timestamps = data.timestamp;
nonceStrs = data.noncestr;
signatures = data.signature;
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。true为调用开启
appId: data.appid, //appid// 必填,公众号的唯一标识
timestamp: timestamps, // 必填,生成签名的时间戳
nonceStr: nonceStrs, // 必填,生成签名的随机串
signature: signatures, // 必填,签名,
jsApiList: [
'onMenuShareTimeline',//朋友圈
'onMenuShareAppMessage',//微信朋友
'onMenuShareQQ', //QQ
'onMenuShareWeibo',//微博
'onMenuShareQZone'
] //QQ空间
});
}
});
//通过ready接口处理成功验证
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
});
wx.ready(function() {
//分享给微信好友
wx.onMenuShareAppMessage({
title: "分享标题", // 分享标题
desc: "分享描述", // 分享描述
link:window.location.href, //绑定到微信公众号上的那个跳转地址,不晓得可以百度是什么!
imgUrl: "http://******.com/hos_img.jpg", // 分享图标
success: function() {
// 用户确认分享后执行的回调函数
alert("分享成功");
}
});
// 朋友圈------
wx.onMenuShareTimeline({
title: "分享标题", // 分享标题
desc: "分享描述", // 分享描述
link:window.location.href, //绑定到微信公众号上的那个跳转地址,不晓得可以百度是什么!
imgUrl: "http://h5weixi.lianouyiyuan.com/hos_img.jpg", // 分享图标
success: function() {
// 用户确认分享后执行的回调函数
alert("分享成功");
}
});
});
jsApiList这里需要注意一下,需要在哪里分享,就需要加入对应的js。
所有JS接口列表:文档
openEnterpriseChat
openEnterpriseContact
onMenuShareTimeline
onMenuShareAppMessage
onMenuShareQQ
onMenuShareWeibo
onMenuShareQZone
startRecord
stopRecord
onVoiceRecordEnd
playVoice
pauseVoice
stopVoice
onVoicePlayEnd
uploadVoice
downloadVoice
chooseImage
previewImage
uploadImage
downloadImage
translateVoice
getNetworkType
openLocation
getLocation
hideOptionMenu
showOptionMenu
hideMenuItems
showMenuItems
hideAllNonBaseMenuItem
showAllNonBaseMenuItem
closeWindow
scanQRCode