[置顶] 微信开发(2):微信js sdk分享朋友圈,朋友,获取config接口注入权限验证(java)

时间:2022-05-20 14:36:57

进行微信开发已经一阵子了,从最初的什么也不懂,到微信授权登录,分享,更改底部菜单,素材管理,等。
今天记录一下微信jssdk 的分享给朋友的功能,获取config接口注入。
官方文档走一下
简单说:四步走
1.绑定域名 (注意:设置js安全域名的时候,需要设置微信ip白名单,ip白名单新出来的,非白名单内的ip无法获取access_token 更无法获取jsapi)
2.引入js文件
3.通过config接口注入权限验证配置
4.通过ready接口处理成功验证

来 开始分步走
1.绑定域名 绑定白名单ip 同时拿到AppID AppSecret
设置js 安全域名在 设置–>公众号设置–>功能设置里边 appid appSercret 在开发–>基本配置里
[置顶]        微信开发(2):微信js sdk分享朋友圈,朋友,获取config接口注入权限验证(java)

2.引入js文件 发送请求获取wx.config
我创建了一个页面,引入了开发者文档中给的js文件,使用ajax 在页面初始化的时候 发送请求 获得config权限接口配置 注入
这里只是做了分享给朋友,和分享到朋友圈 如果需要另外别的 需要在下面js代码中 wx.config中jsApiList 增加需要的接口信息
并在 wx.ready 中写入你自己定义的参数 数据

下面代码 解释: 在页面初始化的时候,调用ajaxconfig();将当前页面的url 替换处理,传递给后台,写好的方法获取wx config.收到ajax返回后,开始初始化接口信息,通过ready 接口处理成功验证

<script >
$(function(){
ajaxConfig();
});
function ajaxConfig(){
var url=window.location.href.split('#')[0];
url = url.replace(/&/g, '%26');
$.ajax({
type:"post",
dataType: "json",
data:{
url:url
},
url: "getconfig.html",
success: function(obj){
//微信注入权限接口
wx.config({
debug: false,
appId: obj.appId,
timestamp: obj.timestamp,
nonceStr: obj.nonceStr,
signature: obj.signature,
jsApiList: [
'onMenuShareAppMessage','onMenuShareTimeline'
]
});
wx.ready(function(){
wx.onMenuShareAppMessage({
title: '${pro.wxtitle}', // 分享标题
desc: "${pro.wxdesc}", // 分享描述
imgUrl: 'http://www.yaoshihang.cn/${pro.imgurl}',
link: window.location.href.split('#')[0],
type: 'link' // 分享类型,music、video或link,不填默认为link

});

wx.onMenuShareTimeline({
title: '${pro.wxtitle}', // 分享标题
link: window.location.href.split('#')[0], // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'http://www.yaoshihang.cn/${pro.imgurl}'
});


wx.checkJsApi({
jsApiList: [
'onMenuShareAppMessage','onMenuShareTimeline'

],
success: function (res) {
//alert(res.errMsg);
}
});
});
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
// alert("errorMSG:"+res);
});
},
error:function(){
//alert("系统请求异常!");
}
});
}
</script>

3.后台获得 wxconfig 的方法(Java实现)

需要值得一提的是,我在开发中,始终不能获取微信分享到朋友的点击状态,仅仅可以做到获取config 接口注入验证,自定义分享内容,后来,与群友交流得知,微信已经把分享获取点击状态禁用到了,原因应该跟诱导用户分享内容有关,只能设置好自定义分享内容,引导用户点击右上角 用微信自带的分享。。不知道是我使用接口有问题,还是说微信确实禁用了这个功能。希望,懂这个的朋友能够指导交流下。