微信二次分享解决方案


做android 的分享页面,发现分享从客户端分享到微信是正常的,可以看到缩略图,名称和描述,可在微信里再次打开通过微信分享时,就只出现了链接地址,也没有缩略图,无奈,被老板逼这,自己研究了两天中与给弄出来了,特写此文,纪念逝去的两天:

微信内部浏览器自带分享功能,这要求我们要调用微信的APi进行操作!

通过看文档,发现首先要拿到

>  appId: '',
   timestamp:
   nonceStr:,
   signature:,

于是就搜索与此有关的资料为了保证数据的安全性,就把对应的代码放到了后台:

代码可移步到:后台获取微信分享签名

首先你要在微信的基本配置里配置一下服务器的IP,不然会拿不到access——token ,提示IP非法
这里写图片描述

第二步就是Js代码了

首先要引入微信的js

 <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

调用代码如下

$ (function(){ //获取本页面连接,生成签名需要 var url =location.href.split('#')[0]; $.ajax({ url: "你的域名/weixin/sign?url="+encodeURIComponent(url), //你获取签名的接口 type: "GET", async:true, cache: false, dataType: "json", success: function(data){ var da=data; console.log(da.data.signature); wx.config({ debug: true, //调试模式 appId: 'wx97acfdc52e5239ef', timestamp:da.data.timestamp, nonceStr:da.data.nonceStr, signature:da.data.signature, jsApiList: [ 'onMenuShareTimeline', 'onMenuShareAppMessage'] }); }, error: function() { console.log('ajax request failed!!!!'); return; } }); wx.ready(function () { // wx.checkJsApi({ // jsApiList: [ // 'onMenuShareTimeline', // 'onMenuShareAppMessage' // ], // success: function (res) { // console.log(res.errMsg); // } // }); // var shareData = { title: "资讯消息", desc: sharename, link: url, imgUrl: shareimg }; wx.onMenuShareAppMessage(shareData); wx.onMenuShareTimeline(shareData); }); wx.error(function (res) { console.log(res.errMsg+"错误信息"); }); });

###需要注意的是一下情况可能引起非法签名

这里写图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值