微信分享示例
先引用微信的js文件
1 <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script> 2 <script src="js/jquery.min.js"></script>
直接贴代码:
1 //分享 2 var wxTitle = "分享的标题"; 3 var wxDesc = "分享的内容描述!"; 4 var wxImgUrl = "img/1.jpg"; 5 var wxUrl = window.location.href; 7 $.ajax({ 8 type: "get", 9 dataType: 'json', 10 url: "请求后台URL", 11 cache: false, 12 data: { 13 15 }, //传送的数据 16 error: function() { 17 18 }, 19 success: function(data) { 20 if(data.code != 1) { 21 return false 22 } 23 //wxUrl = window.location.origin + '/wx-web/controller/wx/toWxOpenOauth2?action=shopHome&appId=' + data.result.appId; 24 // wxTitle = data.result.marketShortName; 25 // wxDesc = '欢迎光临' + data.result.marketShortName + '微店' 26 // wxImgUrl = data.result.wxLogo; 27 setWxConfig(data.result); 28 29 } 30 }); 31 function setWxConfig(config){ 32 wx.config({ 33 debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 34 appId: config.appId, // 必填,企业号的唯一标识,此处填写企业号corpid 35 timestamp: config.timestamp, // 必填,生成签名的时间戳 36 nonceStr: config.noncestr, // 必填,生成签名的随机串 37 signature: config.sign,// 必填,签名,见附录1 38 jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 39 }); 40 41 wx.ready(function(){ 42 // alert('微信分享授权成功!'); 43 wx.onMenuShareTimeline({ 44 title: wxTitle, // 分享标题 45 link: wxUrl, // 分享链接,该链接域名必须与当前企业的可信域名一致 46 imgUrl: wxImgUrl, // 分享图标 47 success: function () { 48 49 }, 50 cancel: function () { 51 52 } 53 }); 54 wx.onMenuShareAppMessage({ 55 title: wxTitle, // 分享标题 56 desc: wxDesc, // 分享描述 57 link: wxUrl, // 分享链接,该链接域名必须与当前企业的可信域名一致 58 imgUrl: wxImgUrl, // 分享图标 59 type: '', // 分享类型,music、video或link,不填默认为link 60 dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空 61 success: function () { 62 // 用户确认分享后执行的回调函数64 }, 65 cancel: function () { 66 // 用户取消分享后执行的回调函数 67 } 68 }); 69 // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 70 }); 71 wx.error(function(res){ 72 // console.log('失败原因'+ res) 73 // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 74 }); 75 }