import wx from 'weixin-js-sdk';
export const wechatShare = {
// 是否是微信浏览器
isWeixinBrowser: navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == "micromessenger",
init(data) {
this.data = data;
this.isWeixinBrowser && this.getWechatSign();
},
getWechatSign() {
$.ajax({
url: '//selfservice.ceair.com/api/WechatAPI/WechatShare',
data: {
Url: location.href
},
type: 'POST',
success:(res)=>{
if (res.Code == 200) {
const tempData = res.Data ? JSON.parse(res.Data) : null;
if (tempData && tempData.Code == 0) {
this.wechatShare(tempData);
}
}
}
})
},
wechatShare(data = {}) {
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: data.AppId, // 必填,企业号的唯一标识,此处填写企业号corpid
timestamp: data.Timestamp, // 必填,生成签名的时间戳
nonceStr: data.Noncestr, // 必填,生成签名的随机串
signature: data.Signature,// 必填,签名,见附录1
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(() => {
this.configureShareContent(this.data)
});
},
// 配置微信分享信息
configureShareContent(data = {}) {
// 不是微信
if (!this.isWeixinBrowser) return false;
wx.onMenuShareTimeline({
title: data.title,
link: data.link,
imgUrl: data.imgUrl,
success: (res) => {
this.successCallback()
},
cancel: (res) => {
this.successCallback()
}
});
wx.onMenuShareAppMessage({
title: data.title,
desc: data.desc,
link: data.link,
imgUrl: data.imgUrl,
type: "link",
dataUrl: "",
success: (res) => {
this.successCallback()
},
cancel: (res) => {
this.successCallback()
}
});
},
successCallback() {
typeof data.success == 'function' && data.success();
}
};
// 调用 微信分享-调用配置
import {
weixinShare
} from './lib/weixinShare';
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
weixinShare.init({
title: '',
desc: '无门槛度假券',
link: location.href, // 分享的链接不能与当前页面域名不同
imgUrl: 'pg', // 必须有协议头 http or https
type: "link"
});