微信的文檔幾個重疊在一起,有點亂,自己用到就統計一下,減少字數直接上,畢竟懶。
一般說明步驟一:微信jssdk使用必須在微信公衆平台進入其公衆号設定,打開配置安全域名才可以。
安全域名則是請求調用微信接口的安全域名,非域名下則會出現權限錯誤,未授權域名等。
一般說明步驟二:引入其對應的JS檔案,這個基本知識不過多解釋
一般說明步驟三:引入檔案,調用其config接口,配置好對應的配置項即可
一般說明步驟四:通過ready接口裡配置的響應接口在頁面加載的時候就可以用,如果需要響應的就不需要放在這裡面,注意:所有的接口需要在config之後,config是其一個異步操作
一般說明步驟五:error的資訊報錯會執行error函數,錯誤資訊需要打開config中的debug
簡而言之就是如下步驟:
步驟一:配置安全域名(配置JS接口安全域名)
步驟二:引入JS檔案
步驟三:使用config接口,寫入配置
步驟四:在ready裡面配置需要在加載時候就可以用的接口
步驟五:error說明函數
假設調用成功,開啟了debug,那麼會提示:xxx:ok,xxx是你使用的接口名
假設調用使用者取消,開啟了debug,那麼會提示:xxx:cancel,xxx是你使用的接口名
調用失敗時:将會傳回具體錯誤資訊
以下是微信官方原版Demo:
注意,一定記得背景配置是否正确,配置js安全域名和appid以及secret
完整的一個微信分享Demo:分享示例
注意:重要提醒,在微信開發工具上面調試,千萬别信報錯,因為報錯有時候是bug,但是代碼是正确的,我寫微信分享,正确的代碼調試了一周,最後是工具的問題,用真機調試即可,工具就調樣式,大緻看看就ok,真機雙重檢驗
require_once "jssdk.php";//使用官方原版的即可
$jssdk = new JSSDK("這裡填寫你的appid", "你的AppSecret");//去微信公衆号裡面找
$signPackage = $jssdk->GetSignPackage();//取得簽名及其他必要資訊的資訊包
?>
//這裡使用wx調用config接口,填寫配置項
wx.config({
debug: true,
appId: '<?php echo $signPackage["appId"];?>',
timestamp: <?php echo $signPackage["timestamp"];?>,
nonceStr: '<?php echo $signPackage["nonceStr"];?>',
signature: '<?php echo $signPackage["signature"];?>',
jsApiList: [
// 所有要調用的 API 都要加到這個清單中
'onMenuShareAppMessage',
'onMenuShareTimeline',
'chooseWXPay',
'showOptionMenu',
"updateAppMessageShareData",
"hideMenuItems",
"showMenuItems",
"onMenuShareTimeline",
'onMenuShareAppMessage'
],success: function(res) {
// 以鍵值對的形式傳回,可用的api值true,不可用為false
// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
}
});
wx.ready(function () { //需在使用者可能點選分享按鈕前就先調用
});
//wx.success(function(res){
// config資訊驗證失敗會執行error函數,如簽名過期導緻驗證失敗,具體錯誤資訊可以打開config的debug模式檢視,也可以在傳回的res參數中檢視,對于SPA可以在這裡更新簽名。
//});