1.引入jssdk
npm install jweixin-module --save
2.在使用的页面引入并定义
var jweixin = require('jweixin-module')
3.使用
由于一开始一直报63002的错误,找不到原因,后面发现应该是url的问题;所以后端大佬让我把当前的地址传给后端,让后端处理。好像是为了跟微信请求的地址一致,返回的签名才有效。
getIndexData() {
uni.request({
url: app.appUrl + 'Index/index',
method: 'GET',
// 把当前的地址传给后台,后台拿着这个地址去请求微信返回签名
data:{url:window.location.href},
success: res => {
if (res.data.status) {
this.shareobj = res.data.jsapi;
if(this.shareobj.url) {
this.shareurl() //调用分享方法
}
}
}
});
},
shareurl() {
var that = this
console.log(this.shareobj)
var ppid
if(this.userinfo.id) {
ppid = this.userinfo.id
}else {
ppid = ""
}
jweixin.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: this.shareobj.appId, // 必填,公众号的唯一标识
timestamp: this.shareobj.timestamp, // 必填,生成签名的时间戳
nonceStr: this.shareobj.nonceStr, // 必填,生成签名的随机串
signature: this.shareobj.signature, // 必填,签名
jsApiList: [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage',
]
});
jweixin.ready(function () {
//获取“分享给朋友”按钮点击状态及自定义分享内容接口(即将废弃)
console.log(that.setting)
jweixin.onMenuShareAppMessage({
title: that.setting.title, // 分享标题
desc: that.setting.intro, // 分享描述
link: window.location.origin+'/pages/index/index?ppid='+ppid, // 分享链接
imgUrl: that.setting.logo, // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
}
});
jweixin.onMenuShareTimeline({
title: that.setting.title, // 分享标题
desc: that.setting.intro, // 分享描述
link: window.location.origin+'/pages/index/index?ppid='+ppid, // 分享链接
imgUrl: that.setting.logo, // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
}
});
});
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。