微信分享示例

先引用微信的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 }

 

posted @ 2018-12-08 10:56  honely1314  阅读(184)  评论(0编辑  收藏  举报