// 分享模块 var shareCls = { getWxCofing (shareBaseUrl){ var url = location.href.split('#')[0]; var activeTitle = $("#activeTitle").text() // appid var appid = baseUrl.indexOf('qiubcar.com') >= 0 ? '!z2Yc.aes|6RQI2+w0x2IGaPEw0OrPMrUkJmxBuX/24QMvaWcGjCA=' : '!z2Yc.aes|j/r6hk33Kyyfehctv+KGW0HnQCXBK61W5sJRNoN9JqM=' // 分享内容 var shareObj = { title: activeTitle, // 分享标题 desc: '您的汽车空调该清洗了,低至3.6折,还您一夏健康清凉!', // 分享描述 link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: baseUrl + '/shareThumb.jpg', // 分享图标 success : function() { // 用户确认分享后执行的回调函数 console.log("用户确认分享后执行的回调函数") } }; //二次分享处理函数调用 this.shareAgainFn(shareObj.link); $.ajax({ url: "https://wx.qiubcar.com/clzwx/redirect/jsapi", type:'get', dataType:'json', data: { url: url }, headers:{ 'X-HEADER-APPID': appid }, success:function(res){ var wxData = res wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: wxData.appId, // 必填,公众号的唯一标识 timestamp: wxData.timestamp, // 必填,生成签名的时间戳 nonceStr: wxData.nonceStr, // 必填,生成签名的随机串 signature: wxData.signature,// 必填,签名 jsApiList: [ 'checkJsApi', 'onMenuShareAppMessage', 'onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'getLocation', 'openLocation' ] // 必填,需要使用的JS接口列表 }); // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 wx.error(function(res){ console.log(res,'wx error') }); //需在用户可能点击分享按钮前就先调用 wx.ready(function () { if(wx.onMenuShareAppMessage){ shareObj.title = activeTitle //分享给朋友 wx.onMenuShareAppMessage(shareObj); } if(wx.onMenuShareTimeline){ // 分享到朋友圈 shareObj.title = shareObj.desc wx.onMenuShareTimeline(shareObj); } if(wx.updateAppMessageShareData){ shareObj.title = activeTitle // 自定义“分享给朋友”及“分享到QQ”按钮的分享内容 wx.updateAppMessageShareData(shareObj) } if(wx.updateTimelineShareData){ shareObj.title = shareObj.desc // 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容 wx.updateTimelineShareData(shareObj) } // 获取用户位置信息 wx.getLocation({ type: 'wgs84', success (res) { const latitude = res.latitude const longitude = res.longitude getStoreData(latitude,longitude) } }) }); }, error: function(err,status,msg){ console.log(err,'jsapi error') } }) }, getQueryString(name){ var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; }, shareAgainFn(url){ var from = this.getQueryString('from'); var appinstall = this.getQueryString('appinstall'); var sec = this.getQueryString('sec'); var timekey = this.getQueryString('timekey'); if (from || appinstall || sec || timekey) { window.location.href = url; } }, }