微信分享其實是最好接入的
首先下載微信分享的sdk,放入Library中
建議放到Vendor中 我比較懶就放到這一塊了 別向我學習
這時候就需要去代碼中實現了
//-------------------------- 分享sdk ----------------------------------------------
$jssdk = new \Util\jssdk("APPID", "APPSECRET");
$signPackage = $jssdk->GetSignPackage(); $signPackage['urls'] = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['HTTP_X_REWRITE_URL'].'/oappid/'.self::$WAP['vipid']; $signPackage['name'] = self::$FX['name']; $signPackage['summary'] = self::$FX['summary']; $this->assign('jsapi', $signPackage); //---------------------------------------------------------------------------------
appid和appsecret建議放到數據庫去
$signPackage['urls'] 爲點擊後跳轉的地址 我這裏帶了用戶的id(你懂得)
寫一個頁面 放入下面代碼
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script>
wx.config({
debug: false,
appId: "{$jsapi['appId']}",
timestamp: "{$jsapi['timestamp']}",
nonceStr:"{$jsapi['nonceStr']}",
signature: "{$jsapi['signature']}",
jsApiList: [
// 所有要調用的 API 都要加到這個列表中
'onMenuShareTimeline',
'onMenuShareAppMessage'
]
});
wx.ready(function () {
wx.onMenuShareAppMessage({
title: "{$jsapi['name']}",
desc: "{$jsapi['summary']}",
link: "{$jsapi['urls']}",
imgUrl: 'http://xxxxxxxxx/Public/App/img/xxxx.jpg',
trigger: function (res) {
// 不要嘗試在trigger中使用ajax異步請求修改本次分享的內容,因爲客戶端分享操作是一個同步操作,這時候使用ajax的回包會還沒有返回
// alert('用戶點擊發送給朋友');
},
success: function (res) {
// alert('onMenuShareAppMessage已分享');
},
cancel: function (res) {
// alert('已取消');
},
fail: function (res) {
// alert(JSON.stringify(res));
}
});
wx.onMenuShareTimeline({
title: "{$jsapi['summary']}",
link: "{$jsapi['urls']}",
imgUrl: 'http://xxxxxxx/Public/App/img/xxxxxxx.jpg',
trigger: function (res) {
// 不要嘗試在trigger中使用ajax異步請求修改本次分享的內容,因爲客戶端分享操作是一個同步操作,這時候使用ajax的回包會還沒有返回
// alert('用戶點擊分享到朋友圈');
},
success: function (res) {
//alert('onMenuShareTimeline已分享');
},
cancel: function (res) {
// alert('已取消');
},
fail: function (res) {
// alert(JSON.stringify(res));
}
});
});
</script>
這樣就基本完成了 ,有個別情況的時候就需要去修改jssdk了
檢查這個方法是否獲取到 和存儲是否正確 就行 修改就OK了