/**
* 微信分享初始化
* @return array
* @author simon <vsiryxm@qq.com>
*/
if (!function_exists('wx_share_init')) {
function wx_share_init() {
$wxconfig = array();
vendor('Wxshare.class#jssdk');
$config = APP_DEBUG ? C("WECHAT_SDK_TEST") : C("WECHAT_SDK"); //这里配置了微信公众号的AppId和AppSecret
$jssdk = new JSSDK($config['APPID'], $config['APPSECRET']);
$wxconfig = $jssdk->GetSignPackage();
return $wxconfig;
}
} 2、控制器调用$wxconfig = wx_share_init();
$this->assign('wxconfig', $wxconfig); 3、模板填充<script src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
wx.config({
debug: false, // 是否开启调试模式
appId: '<?php echo $wxconfig["appId"]; ?>', // 必填,微信号AppID
timestamp: <?php echo $wxconfig["timestamp"]; ?>, // 必填,生成签名的时间戳
nonceStr: '<?php echo $wxconfig["nonceStr"]; ?>', // 必填,生成签名的随机串
signature: '<?php echo $wxconfig["signature"]; ?>',// 必填,签名,见附录1
jsApiList: ['onMenuShareTimeline', //分享到朋友圈
'onMenuShareAppMessage', //分享给朋友
'onMenuShareQQ' //分享到QQ
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(function(){
var options = {
title: '<?php echo $news["title"]; ?>', // 分享标题
link: 'http://www.xxx.com/news/detail/id/<?php echo $news["id"]; ?>', // 分享链接,记得使用绝对路径,不能用document.URL
imgUrl: 'http://www.xxx.com/<?php echo $news["picture"]; ?>', // 分享图标,记得使用绝对路径
desc: '<?php echo $news["brief"]; ?>', // 分享描述
success: function () {
console.info('分享成功!');
// 用户确认分享后执行的回调函数
},
cancel: function () {
console.info('取消分享!');
// 用户取消分享后执行的回调函数
}
}
wx.onMenuShareTimeline(options); // 分享到朋友圈
wx.onMenuShareAppMessage(options); // 分享给朋友
wx.onMenuShareQQ(options); // 分享到QQ
});
</script> 到此完成!在微信中访问网址并分享试试看效果。{
"appId": "wx44faa06a8046525e",
"nonceStr": "NJVodYffglDbM3fD",
"timestamp": 1478161661,
"url": "http:\/\/www.xxx.com\/news\/detail\/id\/54",
"signature": "aa4eeec5e1ad6f39c85cd4f3c1147329a16eb784",
"rawString": "jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VIqb--nsh20pd5ZnAlGF4nz5j33A5wpvImM6P1_QX3azn2Kca1KYOCO9NfeWEQsNng&noncestr=NJVodYffgl×ばつtamp=1478161661&url=http:\/
\/www.xxx.com\/news\/detail\/id\/54"
}2、前端页面调用:<script src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
var wxconfig = []; //定义一个全局的保存微信配置的变量
$(function() {
$.ajax({
async: false, //这里设为同步请求(重要)
type: 'POST',
url: '/api/common/wxshareinit', //被请求的网址
data: {url:'http://www.xxx.com/news/detail/id/<?php echo $news["id"]; ?>'}, //将当前调用网址发回给服务器做签名用,记得使用绝对路径,不能用document.URL
dateType: 'JSON',
cache: false,
success: function(result) {
wxconfig = result.data;
},
error:function() {
alert('微信分享初始化失败!');
}
});
wx.config({
debug: false, // 是否开启调试模式
appId: wxconfig.appId, // 必填,微信号AppID
timestamp: wxconfig.timestamp, // 必填,生成签名的时间戳
nonceStr: wxconfig.nonceStr, // 必填,生成签名的随机串
signature: wxconfig.signature,// 必填,签名,见附录1
jsApiList: ['onMenuShareTimeline', //分享到朋友圈
'onMenuShareAppMessage', //分享给朋友
'onMenuShareQQ' //分享到QQ
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(function(){
var options = {
title: '【有料】3号产品神秘体验,到底爽在哪?—xxx平台', // 分享标题
link: 'http://www.xxx.com/news/detail/id/<?php echo $news["id"]; ?>', // 分享链接,记得使用绝对路径,不能用document.URL
imgUrl: 'http://www.xxx.com/Uploads/News/2016-11/1477995152201598.jpg', // 分享图标
desc: '年化收益9.9%,3个月到期还本付息,起购门槛20万', // 分享描述
success: function () {
console.info('分享成功!');
// 用户确认分享后执行的回调函数
},
cancel: function () {
console.info('取消分享!');
// 用户取消分享后执行的回调函数
}
}
wx.onMenuShareTimeline(options); // 分享到朋友圈
wx.onMenuShareAppMessage(options); // 分享给朋友
wx.onMenuShareQQ(options); // 分享到QQ
});
});
</script>-----------------------------------------------------------------------------------------------------------------附件 Wxshare.rar ( 4.42 KB 下载:329 次 )
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。