uni-app H5微信公众号实现自定义分享
npm安装微信JS-SDK
npm install jweixin-module --save
通过网址下载:
https://unpkg.com/browse/jweixin-module@1.6.0/lib/index.js
//微信js-sdk引入 var jweixin = require('jweixin-module') // 微信公众号自定义分享
/**
* @description 获取微信jsconfig参数
* <br/>success回调方法的参数就是返回的原始数据
* @param {string} title 分享标题
* @param {string} linkUrl 分享页面路径
* @param {string} imgUrl 图片路径(网络图片路径)
* @param {string} desc 分享文字描述
* @param {function} success 成功后回调的方法
*/
weixinJSConfig:
function
(title, linkUrl, imgUrl,desc) {
var
url = window.location.href;
//H5当前页面路径
console.info(
'------------url--------------'
);
console.info(url);
uni.request({
url:
'https://xxx.com/xxx/getWeixinJSConfig'
,
//请求后台接口获取权限验证配置参数
data: {
url: url
},
method:
'POST'
,
timeout: 600000,
success: (res) => {
console.info(
'----------------------------jsconfig--------------------------'
);
console.info(res.data);
//微信分享权限验证配置参数构造
var
config = {
debug:
false
,
//是否启用调试
appId: res.data.appId,
//微信公众号appID
timestamp: res.data.timestamp,
//时间戳
nonceStr: res.data.nonceStr,
//签名的随机串
signature: res.data.signature,
//签名
jsApiList: [
//需要使用的JS接口列表
'checkJsApi'
,
'updateTimelineShareData'
,
'updateAppMessageShareData'
,
'hideMenuItems'
]
};
console.info(
'--------------------------jsconfig Value---------------'
);
console.info(config);
//微信注入权限验证配置
jweixin.config(config);
//需在用户可能点击分享按钮前就先调用
jweixin.ready(
function
() {
jweixin.hideMenuItems({
// 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3
menuList: [
'menuItem:originPage'
,
'menuItem:openWithSafari'
,
'menuItem:openWithQQBrowser'
,
'menuItem:editTag'
,
'menuItem:copyUrl'
,
'menuItem:share:qq'
,
'menuItem:favorite'
,
'menuItem:share:QZone'
,
'menuItem:openWithSafari'
]
});
//分享到朋友圈
jweixin.updateTimelineShareData({
title: title,
// 分享标题
link:
'H5部署域名'
+ linkUrl,
// 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imgUrl,
// 分享图标
success:
function
() {
// alert("updateTimelineShareData");
}
})
//分享给朋友
jweixin.updateAppMessageShareData({
title: title,
// 分享标题
desc: desc,
// 分享描述
link:
'H5部署域名'
+ linkUrl,
// 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imgUrl,
// 分享图标
success:
function
() {
// alert("updateAppMessageShareData");
}
})
});
}
});
},
页面调用:
onLoad() { this.weixinJSConfig('分享标题','https://xxx.com/pages/tab/index.html', 'https://xxx.com/image.jpg','分享描述') },