Node.js 獲取微信JS-SDK CONFIG
阿新 • • 發佈:2018-11-07
背景
前端在呼叫微信提供的分享、拍照、掃一掃等功能時需要到後臺獲取配置,主要是簽名(signature)。Node 開發可以用樸靈大佬的SDK——co-wechat-api。
配置
到微信公眾平臺進入“公眾號設定”的“功能設定”裡填寫“JS介面安全域名”。前提是該域名的專案目錄下有微信提供的校驗檔案。如果需要本地除錯或者測試環境除錯,可以把IP白名單也順便配置一下。
開發
例項化 WechatAPI
物件
const WECHAT_API = new WechatAPI( appid, secret, get_access_token, // function save_access_token, // function 快取 access_token ); WECHAT_API.registerTicketHandle( get_js_api_ticket, // function save_js_api_ticket, // function 快取 jsapi_ticket );
注意:jsapi_ticket
是公眾號用於呼叫微信JS介面的臨時票據。正常情況下,jsapi_ticket
的有效期為7200秒,通過 access_token
來獲取。由於獲取 jsapi_ticket
的api呼叫次數非常有限,頻繁重新整理 jsapi_ticket
會導致api呼叫受限,影響自身業務,開發者必須在自己的服務全域性快取 jsapi_ticket
。同樣的,access_token
有效期也是7200秒,同樣需要全域性快取。
快取的函式就是簡單的 JSON.stringify
後存入 redis 或其他資料庫。
呼叫
const params = { debug: false, jsApiList: [], // 需要獲取的能力,由前端傳入 url: '', // 申請能力並且在後臺配置過的域名 }; ctx.body = await WECHAT_API.getJsConfig(params);
接入多個微信公眾號
待我重構歸來。。。。。。