1. 程式人生 > >Node.js 獲取微信JS-SDK CONFIG

Node.js 獲取微信JS-SDK CONFIG

背景

前端在呼叫微信提供的分享、拍照、掃一掃等功能時需要到後臺獲取配置,主要是簽名(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);

接入多個微信公眾號

待我重構歸來。。。。。。