Node.js 獲取微信JS-SDK CONFIG的方法示例
背景
前端在調(diào)用微信提供的分享、拍照、掃一掃等功能時需要到后臺獲取配置,主要是簽名(signature)。Node 開發(fā)可以用樸靈大佬的SDK—— co-wechat-api 。
配置
到微信公眾平臺進(jìn)入“公眾號設(shè)置”的“功能設(shè)置”里填寫“JS接口安全域名”。前提是該域名的項(xiàng)目目錄下有微信提供的校驗(yàn)文件。如果需要本地調(diào)試或者測試環(huán)境調(diào)試,可以把IP白名單也順便配置一下。
開發(fā)
實(shí)例化 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 是公眾號用于調(diào)用微信JS接口的臨時票據(jù)。正常情況下, jsapi_ticket 的有效期為7200秒,通過 access_token 來獲取。由于獲取 jsapi_ticket 的api調(diào)用次數(shù)非常有限,頻繁刷新 jsapi_ticket 會導(dǎo)致api調(diào)用受限,影響自身業(yè)務(wù),開發(fā)者必須在自己的服務(wù)全局緩存 jsapi_ticket 。同樣的, access_token 有效期也是7200秒,同樣需要全局緩存。
緩存的函數(shù)就是簡單的 JSON.stringify 后存入 redis 或其他數(shù)據(jù)庫。
調(diào)用
const params = {
debug: false,
jsApiList: [], // 需要獲取的能力,由前端傳入
url: '', // 申請能力并且在后臺配置過的域名
};
ctx.body = await WECHAT_API.getJsConfig(params);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
npm 更改默認(rèn)全局路徑以及國內(nèi)鏡像的方法
今天小編就為大家分享一篇npm 更改默認(rèn)全局路徑以及國內(nèi)鏡像的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
基于docker搭建node環(huán)境開發(fā)服務(wù)器全過程
這篇文章主要給大家介紹了關(guān)于如何基于docker搭建node環(huán)境開發(fā)服務(wù)器的相關(guān)資料,本文將采用docker技術(shù)部署一個簡單的nodejs應(yīng)用,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
node.js利用express自動搭建項(xiàng)目的全過程
這篇文章主要給大家介紹了關(guān)于node.js利用express自動搭建項(xiàng)目的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
node.js利用mongoose獲取mongodb數(shù)據(jù)的格式化問題詳解
這篇文章主要給大家介紹了關(guān)于node.js利用mongoose獲取mongodb數(shù)據(jù)的格式化問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)把。2017-10-10

