1.下载微信JS-SDK,官方文档 2.后端引入文件,核心代码如下:

require_once APP_PATH."/common/library/wx_share_sdk/jssdk.php";
$pub = config('keys.pubConfig');
$jssdk = new \JSSDK($pub['appid'],$pub['appsecret']);
$signPackage = $jssdk->GetSignPackage();
$this->assign('signPackage',$signPackage);

3.前端代码如下

<script type="text/javascript">
	    define = null;
	    require = null;
	</script>
	<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js" type="text/javascript">

注意引入在最前面

......
......
wx.config({
			// 配置信息, 即使不正确也能使用 wx.ready
			debug: false,
			appId:"{$signPackage.appId}",
			timestamp:"{$signPackage.timestamp}",
			nonceStr:"{$signPackage.nonceStr}",
			signature:"{$signPackage.signature}",
			jsApiList: [
				// 所有要调用的 API 都要加到这个列表中
				'checkJsApi',
				'onMenuShareTimeline',
				'onMenuShareAppMessage',
			]
        });
        wx.ready(function() {
            wx.checkJsApi({
			    jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
			    success: function(res) {
			    // 以键值对的形式返回,可用的api值true,不可用为false
			    // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
			    }
			});
            wx.onMenuShareTimeline({
			    title: '分享标题', // 分享标题
			    link:'xxxx', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
			    imgUrl:'xxxx', // 分享图标
			    success: function () {
			    // 用户点击了分享后执行的回调函数
				},
			})

            wx.onMenuShareAppMessage({
				title: '分享标题', // 分享标题
				desc: '分享描述', // 分享描述
				link: 'xxxx', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
				imgUrl: 'xxxx', // 分享图标
				type: '', // 分享类型,music、video或link,不填默认为link
				dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
				success: function () {
				// 用户点击了分享后执行的回调函数
				}
			});
        });