第一步:綁定域名
先登錄微信公眾平台進入“公眾號設置”的“功能設置”里填寫“JS接口安全域名”
第二步:引入JS文件
在需要調用JS接口的頁面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js
第三步:通過config接口注入權限驗證配置(其中配置參數調用后台接口 由后台人員生成)
wx.config({
debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
appId: '', // 必填,公眾號的唯一標識
timestamp: , // 必填,生成簽名的時間戳
nonceStr: '', // 必填,生成簽名的隨機串
signature: '',// 必填,簽名,見附錄1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
1
2
3
4
5
6
7
8
簽名算法生成規則:查看文檔
第四步:通過ready接口處理成功驗證
wx.ready(function(){
// config信息驗證后會執行ready方法,所有接口調用都必須在config接口獲得結果之后,config是一個客戶端的異步操作,所以如果需要在頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的接口,則可以直接調用,不需要放在ready函數中。
});
1
2
3
第五步:通過ready接口處理成功驗證
wx.error(function(res){
// config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這里更新簽名。
});
1
2
3
第六步:接口調用
攔截器具體實現: 參考地址
js 接口調用 :參考地址
下面介紹小程序的web-view里使用微信的JS-SDK:
官方文檔
如果只是使用wx.miniProgram.navigateTo這種導航的接口,jssdk可以不用做配置,引用js后直接使用就行,如果chooseImage這種,就需要獲取配置了,步驟如下:
先在后端通過AppID和AppSecret取到access_token,並緩存access_token
再通過access_token獲取到jsapi_ticket,jsapi_ticket的值也要緩存
使用jsapi_ticket、當前URL、隨機字符串、1970年1月1日00:00:00至今的秒數生成簽名及及配置,返回給前端,簽名記得使用https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign校驗是否正確
前端拿到config后放到wx.config里執行
在wx.ready中注冊事件
步驟比較多但是並不復雜,主要是這其中幾個坑需要避開別踩到:
AppID和AppSecret不能用小程序的,要用公眾號的,否則會報invalid url domain的錯誤,官方文檔上並沒有說明這一點,所以這個坑非常深非常隱蔽,另外這個公眾號要不要與小程序關聯還不清楚,我用的是關聯的。
簽名用到的當前URl不要解碼,拿到的是什么就用什么,否則即使簽名校驗通過也會報簽名錯誤
如果你用了chooseImage這個api,需要獲取到選擇的圖片的話,官方文檔上說是在success的tempFilePaths參數里,實際上並不是,是在localIds里面
以上就是JSSDK使用的介紹。
————————————————
版權聲明:本文為CSDN博主「weixin_40226026」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_40226026/java/article/details/81698512