微信右上角点击分享内容和链接可自定义
js部分
{if $in_weixin}
<script src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
var urlimg = 'http://www.sijiayugang.com/static/images/logo.png';
var sharetitle = '私家渔港-我的分享';
var linkurl = '{$shopurl}?u={$userid}';
wx.config({
appId: '{$appId}',
timestamp: {$timestamp},
nonceStr: '{$nonceStr}',
signature: '{$signature}',
jsApiList: [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo'
]
});
<!--微信分享-->
wx.ready(function () {
wx.onMenuShareTimeline({
title: sharetitle, // 分享标题
link: linkurl, // 分享链接
imgUrl: urlimg, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
wx.onMenuShareAppMessage({
title: sharetitle, // 分享标题
desc: '', // 分享描述
link: linkurl, // 分享链接
imgUrl: urlimg, // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
wx.onMenuShareQQ({
title: sharetitle, // 分享标题
desc: '', // 分享描述
link: linkurl, // 分享链接
imgUrl: urlimg, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
wx.onMenuShareWeibo({
title: sharetitle, // 分享标题
desc: '', // 分享描述
link: linkurl, // 分享链接
imgUrl: urlimg, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
wx.onMenuShareQZone({
title: sharetitle, // 分享标题
desc: '', // 分享描述
link: linkurl, // 分享链接
imgUrl: urlimg, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
});
wx.error(function (res) {
console.log(res.errMsg);
});
</script>
<!--END 微信分享-->
{/if}
php部分
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (strpos($user_agent, 'MicroMessenger') === false) {
$in_weixin = false;
} else {
include_once(ROOT_PATH .'include/cls_jssdk.php');
$jssdk = new \JSSDK(APPID, APPSECRET);// 微信公众号身份的唯一标识和
$signPackage = $jssdk->GetSignPackage();
$smarty->assign('signPackage', $signPackage);
$smarty->assign('appId', $signPackage['appId']);
$smarty->assign('timestamp', $signPackage['timestamp']);
$smarty->assign('nonceStr', $signPackage['nonceStr']);
$smarty->assign('signature', $signPackage['signature']);
$in_weixin = true;
}
$smarty->assign('in_weixin', $in_weixin);