微信公众号分享至好友以及朋友圈
基本步骤
1、安装 weixin-js-sdk
2、请求后端获取appId, nonceStr, signature, timestamp等参数
3、使用wx.config进行配置
4、在wx.ready中写入具体代码
核心代码
// 进行微信配置
... 此处省略获取微信配置
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
appId, // 必填,公众号的唯一标识
timestamp, // 必填,生成签名的时间戳
nonceStr, // 必填,生成签名的随机串
signature, // 必填,签名
jsApiList: ["updateAppMessageShareData", "updateTimelineShareData"], // 必填,需要使用的JS接口列表
openTagList: ["wx-open-launch-weapp"] // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
});
wx.ready(() => {
// 你的代码
});
/**
* 微信好友分享
* @param title
* @param des
* @param link
* @param img
* @returns
*/
export function wxAppShareCore(params: { title: string; des: string; link: string; img: string }): Promise<string> {
return new Promise((resolve, reject) => {
if (!uaHelper.isWechat) {
reject("请在微信浏览器打开");
}
wx.updateAppMessageShareData({
title: params.title, // 分享标题
desc: params.des, // 分享描述
link: params.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: params.img, // 分享图标
success: function () {
// 设置成功
console.log("设置微信好友分享成功");
resolve("设置微信好友分享成功");
},
fail: function (err: any) {
console.log("设置微信好友分享失败", err);
wxConfig().finally(() => {
reject("设置微信好友分享失败");
});
}
});
});
}
/**
* 微信朋友圈分享
* @param title
* @param link
* @param img
* @returns
*/
export function wxTimelineShareCore(params: { title: string; link: string; img: string }): Promise<string> {
return new Promise((resolve, reject) => {
if (!uaHelper.isWechat) {
reject("请在微信浏览器打开");
}
wx.updateTimelineShareData({
title: params.title, // 分享标题
link: params.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: params.img, // 分享图标
success: function () {
// 设置成功
console.log("设置微信朋友圈分享成功");
resolve("设置微信朋友圈分享成功");
},
fail: function (err: any) {
console.log("设置微信分享朋友圈失败", err);
reject("设置微信分享朋友圈失败");
}
});
});
}