后台处理部分
1、调用 api.weixin.qq.com/cgi-bin/tok… , 得到 access_token
2、调用 api.weixin.qq.com/cgi-bin/tic… ,得到 api_ticket
3、拿到api_ticke,就可以进行签名,生成signature
1、安装jweixin-module
npm i jweixin-module
2、分享方法
mounted(){
this.share1();
}
//获取配置信息
share1() {
let self = this;
let jweixin = require("jweixin-module");
//**通过 config 接口注入权限验证配置**
//涉及到了签名算法,这块给了后台处理,通过接口获取配置信息
this.$http({
url: "https://...",
method: "POST",
data: {
url: window.location.href.split("#")[0],
//后台通过域名进行授权
},
}).then((res) => {
jweixin.config({
debug: false,
appId: this.appid,
// 必填,公众号的唯一标识
timestamp: res.timestamp,
// 必填,生成签名的时间戳
nonceStr: res.nonce_str,
// 必填,生成签名的随机串
signature: res.signature,
// 必填,签名
jsApiList: ["updateAppMessageShareData", "updateTimelineShareData"], // 必填,需要使用的JS接口列表
});
self.share2();
});
},
//自定义分享
share2() {
let number = Math.floor(Math.random() * (2 - 0)) + 0;
let objShare = [
{
title: "标题",
desc: "描述",
imgUrl:"https://xxx.jpg",
},
{
title: "标题",
desc: "描述",
imgUrl:"https://xxx.jpg",
},
];
let jweixin = require("jweixin-module");
jweixin.ready(function (res) {
let obj = {
title: objShare[number].title,
desc: objShare[number].desc,
imgUrl: objShare[number].imgUrl,
link:
`https://xxx/unpackage/dist/build/h5/index.html`,
trigger: function trigger(res) {},
success: function success(res) {},
cancel: function cancel(res) {},
fail: function fail(res) {},
};
jweixin.updateAppMessageShareData({ ...obj }); //分享给朋友
jweixin.updateTimelineShareData({ ...obj }); //分享到朋友圈
});
},