作為一個純前端來說開發公眾號需要后台人員的配合
開發者文檔地址(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115)
1.綁定域名
先登錄微信公眾平台進入“公眾號設置”的“功能設置”里填寫“JS接口安全域名”。
備注:登錄后可在“開發者中心”查看對應的接口權限。
2.引入JS文件
在需要調用JS接口的頁面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js
備注:支持使用 AMD/CMD 標准模塊加載方法加載
3.通過config接口注入權限驗證配置(其中配置參數調用后台接口 由后台人員生成)
wx.config({ debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。 appId: '', // 必填,公眾號的唯一標識 timestamp: , // 必填,生成簽名的時間戳 nonceStr: '', // 必填,生成簽名的隨機串 signature: '',// 必填,簽名,見附錄1 jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2 });
4.通過ready接口處理成功驗證
wx.ready(function(){ // config信息驗證后會執行ready方法,所有接口調用都必須在config接口獲得結果之后,config是一個客戶端的異步操作,所以如果需要在頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的接口,則可以直接調用,不需要放在ready函數中。 });
5.通過error接口處理失敗驗證
wx.error(function(res){ // config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這里更新簽名。 });
注:這里點出一些開發常用的jssdk接口和出現的問題解決方案
checkJsApi:判斷當前客戶端版本是否支持指定JS接口
openLocation:導航api
getLocation:獲取地理和位置接口 (經緯度)
onMenuShareTimeline:分享到朋友圈
onMenuShareAppMessage:分享給朋友
onMenuShareQQ:分享到qq
onMenuShareWeibo:分享到騰訊微博
onMenuShareQZone:分享到qq空間
chooseWXPay:發起微信支付
問題:openLocation:導航api調接口時安卓手機正常,ios10以上手機沒有效果,此時需要給接口參數經緯度加上parseFloat()即可
以上方法必須在微信瀏覽器測試並且需要在測試環境下調試,因為微信后台配置域名不支持帶端口號和沒有經過網絡備案的域名
待續。。。
