微信跨域&分享

微信h5页面跨域请求

$(function() {
            //页面加载完后ajax跨域获取签名信息
            var sourceUrl = "/wechat/signature/sub"; //签名地址
            var thisUrl = location.href.split('#')[0]; //本页url
            var sourceData = { url: thisUrl };
            //get
            $.ajax({
                type: "get",
                async: false,
                url: sourceUrl,
                data: sourceData,
                dataType: "jsonp",//跨域操作必须为jsonp数据类型
                jsonp: "callback",//该参数不能修改
                jsonpCallback: "successCallback",//回调函数名称,可以自定义
                success: function(result) {
                    console.log(result);
                    if (result.code == 1) {
                        //通过config接口注入权限验证配置
                        wx.config({
                            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                            appId: result.data.appId, // 必填,公众号的唯一标识
                            timestamp: result.data.timestamp, // 必填,生成签名的时间戳
                            nonceStr: result.data.nonceStr, // 必填,生成签名的随机串
                            signature: result.data.signature,// 必填,签名
                            jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo'] // 必填,需要使用的JS接口列表
                        });
                        wx.ready(function() {
                            var wxData = {
                                "title": '人机翻译大PK',
                                "desc": '人工翻译VS机器翻译,鹿死谁手,你说了算',
                                "imgUrl": 'http://www.shiyibao.com/assets/img/logos/logo_wechat.png',
                                "link": 'http://www.shiyibao.com/h5/105562/share?fuid=25346'
                            };
                            var wxCallbacks = {
                                success: function() {
                                    alert('分享成功'); // 用户确认分享后执行的回调函数
                                },
                                cancel: function() {
                                    // 用户取消分享后执行的回调函数
                                }
                            };
                            resetShareInfo(wxData, wxCallbacks);
                        });
                    } else {
                        alert(result.msg);
                    }
                },
                error: function() {
                    alert('fail');
                }
            });
        });

微信h5页面分享

        function resetShareInfo(wxData, wxCallbacks) {
            //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
            wx.onMenuShareTimeline({
                title: wxData.desc, // 分享标题
                link: wxData.link, // 分享链接
                imgUrl: wxData.imgUrl, // 分享图标
                success: wxCallbacks.success, // 用户确认分享后执行的回调函数
                cancel: wxCallbacks.cancel // 用户取消分享后执行的回调函数
            });

            //获取“分享给朋友”按钮点击状态及自定义分享内容接口
            wx.onMenuShareAppMessage({
                title: wxData.title, // 分享标题
                desc: wxData.desc, // 分享描述
                link: wxData.link, // 分享链接
                imgUrl: wxData.imgUrl, // 分享图标
                type:'link',// 分享类型,musicvideolink,不填默认为link
                dataUrl: '', // 如果typemusicvideo,则要提供数据链接,默认为空
                success: wxCallbacks.success, // 用户确认分享后执行的回调函数
                cancel: wxCallbacks.cancel // 用户取消分享后执行的回调函数
            });

            //获取“分享到QQ”按钮点击状态及自定义分享内容接口
            wx.onMenuShareQQ({
                title: wxData.title, // 分享标题
                desc: wxData.desc, // 分享描述
                link: wxData.link, // 分享链接
                imgUrl: wxData.imgUrl, // 分享图标
                success: wxCallbacks.success, // 用户确认分享后执行的回调函数
                cancel: wxCallbacks.cancel // 用户取消分享后执行的回调函数
            });

            //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口
            wx.onMenuShareWeibo({
                title: wxData.title, // 分享标题
                desc: wxData.desc, // 分享描述
                link: wxData.link, // 分享链接
                imgUrl: wxData.imgUrl, // 分享图标
                success: wxCallbacks.success, // 用户确认分享后执行的回调函数
                cancel: wxCallbacks.cancel // 用户取消分享后执行的回调函数
            });
        }
        ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值