1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| import wx from 'weixin-js-sdk'
/* * 微信分享 * 获取微信加签信息 * @param{data}:获取的微信加签 * @param{shareData}:分享配置参数 */ export const wechatShare = (data, shareData) => { // var wx = require('weixin-js-sdk') || window['wx']; // 参数data为后台返回的数据 // shareData所需参数为:{ // title:'', // 分享标题 // desc: "",//分享描述 // link: window.location.href,//跳转链接 // imgUrl: '', // 分享图标 // }
const { appId, timestamp, nonceStr, signature } = data wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。(测试记得关掉) appId, // 必填,公众号的唯一标识 timestamp, // 必填,生成签名的时间戳 nonceStr, // 必填,生成签名的随机串 signature, // 必填,签名,见附录1 jsApiList: [ 'checkJsApi', 'chooseImage', 'updateAppMessageShareData', 'updateTimelineShareData' ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }) wx.checkJsApi({ jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'], // 需要检测的JS接口列表,所有JS接口列表见附录2, success: function(res) { // 以键值对的形式返回,可用的api值true,不可用为false // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} console.log(res, 'checkJsApi') } }) wx.ready(function() { console.log({ shareData }) console.log(shareData.title) // //分享到朋友圈”及“分享到QQ空间” wx.updateTimelineShareData({ title: shareData.title, // 分享标题 link: shareData.link + '&t=' + timestamp, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: shareData.imgUrl, // 分享图标 success: function(res) { // 设置成功 console.log('分享朋友圈成功返回的信息为:', res) } })
// “分享给朋友”及“分享到QQ” wx.updateAppMessageShareData({ title: shareData.title, // 分享标题 desc: shareData.desc, // 分享描述 link: shareData.link + '&t=' + timestamp, // 分享链接 该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: shareData.imgUrl, // 分享图标 success: function(res) { console.log('分享朋友成功返回的信息为:', res) } }) }) wx.error(function(res) { // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 console.log('验证失败返回的信息:', res) }) }
|