Node.js 获取微信JS-SDK CONFIG的方法示例


Posted in Javascript onMay 21, 2019

背景

前端在调用微信提供的分享、拍照、扫一扫等功能时需要到后台获取配置,主要是签名(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);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS代码同步文本框内容的实例方法
Jul 12 Javascript
IE6已终止操作问题的2种情况及解决
Apr 23 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
May 02 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
Dec 10 Javascript
AngularJS基础学习笔记之控制器
May 10 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
Jun 05 Javascript
js+css实现回到顶部按钮(back to top)
Mar 02 Javascript
JavaScript获取客户端IP的方法(新方法)
Mar 11 Javascript
jQuery zTree树插件动态加载实例代码
May 11 jQuery
ReactNative实现图片上传功能的示例代码
Jul 11 Javascript
JS库之wow.js使用方法
Sep 14 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
Feb 14 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
May 20 #Javascript
Node 搭建一个静态资源服务器的实现
May 20 #Javascript
vue+element实现打印页面功能
May 20 #Javascript
vue+element实现表单校验功能
May 20 #Javascript
javascript的this关键字详解
May 20 #Javascript
小程序实现新用户判断并跳转激活的方法
May 20 #Javascript
node实现socket链接与GPRS进行通信的方法
May 20 #Javascript
You might like
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
PHP开发中常用的十个代码样例
2016/02/02 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
百度留言本js 大家可以参考下
2009/10/13 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
jQuery Dom元素操作技巧
2018/02/04 jQuery
深入浅析JS中的严格模式
2018/06/04 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
python自动zip压缩目录的方法
2015/06/28 Python
12步入门Python中的decorator装饰器使用方法
2016/06/20 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
医药营销专业个人自荐信
2013/09/29 职场文书
《夸父追日》教学反思
2014/02/26 职场文书
军训教官感言
2014/03/02 职场文书
授权委托书样本
2014/04/03 职场文书
读书活动总结
2014/04/28 职场文书
实习生工作证明范本
2014/09/14 职场文书
团员年度个人总结
2015/02/26 职场文书
小学德育工作总结2015
2015/05/12 职场文书
横空出世观后感
2015/06/09 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers