微信分享笔记
let timestamp=new Date().getTime();//生成签名的时间戳
let nonceStr=this.generateMixed();
let signature=''
//获取token的接口(后端请求返给前端)
execute(
'data',
`query{
wechatPublicToken
}`
).then((res) => {
let wechatPublicToken=res.wechatPublicToken;
//获取ticket的接口(后端请求返给前端)
execute(
'data',
`query{
wechatTicket(accessToken:"${wechatPublicToken}"){
errmsg
errcode
ticket
expiresIn
}
}`
).then((res)=>{
let jsapi_ticket=res.wechatTicket.ticket;
let string1=`jsapi_ticket=${jsapi_ticket}&noncestr=${nonceStr}×tamp=${timestamp}&url=http://zhidao.dev.gzxiaoxin.cn/pages/sendFriends/index`;
signature=sha1(string1);
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp:timestamp, // 必填,生成签名的时间戳
nonceStr: nonceStr, // 必填,生成签名的随机串
signature: signature, // 必填,签名,见附录1
jsApiList: ["onMenuShareTimeline", "updateAppMessageShareData","onMenuShareAppMessage", "onMenuShareQQ", "onMenuShareQZone", "hideMenuItems"] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
})
})
}
hasshareWeChatPeople=()=>{
wx.ready(function(){
//检查有没有对应api的方法
wx.checkJsApi({
jsApiList: ['updateAppMessageShareData'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
success: function(res) {
// 以键值对的形式返回,可用的api值true,不可用为false
// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
}
});
//分享
wx.updateAppMessageShareData({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
alert('分享成功')
}
})
报错问题
the permission value is offline verifying
解决方案
如果还是不行,检查一下页面是否在微信公众号里面打开的,需要配置在公众号中才能正确执行