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);
接入多个微信公众号
待我重构归来。。。。。。
博客首发地址:https://www.jianshu.com/u/13cd86311525
Node.js 获取微信JS-SDK CONFIG的更多相关文章
- js获取微信版本号的方法
微信现在几乎已经普遍在使用,但是微信版本一直在更新,不同的版本有不同的功能,于是了解微信的版本号很重要,以便自己及时更新体验新的功能.那么如何用js获取微信版本号呢? 一.判断微信版本号 ? 1 2 ...
- 微信JS初始化--微信JS系列文章(一)
概述 微信JS的使用方法,官方文档已经描述得比较清楚了,这里我就不重复介绍了,本文意在提供现成的代码,供大家快速迭代开发,以及补充一下官方文档描述得不够清楚的地方,避免大家踩相同的坑. 微信JS初始化 ...
- 前端通过js获取微信公众号用户的唯一标识符openId
微信公众号程序开发的时候,获取用户信息的时候,需要用到用户的openId,openId是微信用户的唯一标识符,这个操作可以后台实现也可以前端实现,之前项目里是通过后台来获取的,好像用到了一些三方的包, ...
- js获取微信code
function callback(result) { alert('cucess'); alert(result); //输出openid } function getQueryString(nam ...
- 各种组件的js 获取值 / js动态赋值
jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code...}); //为Se ...
- js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...
- 微信js获得签名signature
服务器端: 1 获取微信js accessToken 备注:access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token. 开发者需要进行妥善保存.access_ ...
- 微信JS图片上传与下载功能--微信JS系列文章(三)
概述 在前面的文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的图片上传功能进行描述,供大家参考. 图片上传 $(function(){ v ...
- 微信JS分享功能--微信JS系列文章(二)
概述 在上一篇文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的分享功能进行描述,供大家参考. 代码 $(document).ready(f ...
随机推荐
- Python Day 8
阅读目录: 内容回顾 三种字符串 文件操作三步骤 基础的读 基础的写 with...open()语法 文件的操作模式 文件的操作编码问题 文件的复制 游标操作 ##内容回顾 类型转换 #1.数字类 ...
- python微信自动回复
模块是itchat 下载:命令行输入 pip install itchat import itchat #导入itchat模块 itchat.auto_login() #登陆微信,授权 用命令行发送给 ...
- 《Linux就该这么学》第十三天课程
使用Apache服务部署静态网站 原创地址:https://www.linuxprobe.com/chapter-10.html 今天学了Apache,这只是RHCE课程的开始,估计后面越来越难 今天 ...
- springcloud+zuul+swagger 分布式接口文档
https://gitee.com/didispace/swagger-butler 1.引用上面项目中的swagger 工具包 2.zuul 网关配置 zuul.routes.api-apiserv ...
- Cookie的使用(14)
一:cookie的简要介绍: (1)什么是cookie a.cookie是一种客户端的状态管理技术b.当浏览器向服务器发送请求的时候,服务器会将少量的数据以set-cookie消息头的方式发送给浏览器 ...
- 不同后台服务器共用同一session
建一个类继承SessionStateStoreProviderBase类,override Initialize.SetAndReleaseItemExclusive.ReleaseItemExclu ...
- 当input中的type值为file时,各浏览器的表现形式不同
如果想使各浏览器下的表现形式相同,需要对该input元素隐藏,然后再改元素下方添加标签.其html写法如下 <div class="input-file"> <i ...
- docker 配置 http 访问
编辑docker宿主机文件/lib/systemd/system/docker.service sudo vi /lib/systemd/system/docker.service 修改以ExecSt ...
- windows10的环境变量path如何列表显示
如果你的变量值以%开头,打开编辑的时候就会显示一串的变量值,不方便查找编辑 所以将变量值更改为以盘符开始,就可以解决这个问题,比如:D:\WorkSoft\app\product\11.2.0\dbh ...
- C++面试基础概念之动态库篇
编写DLL所学所思(1)——导出函数 编写DLL所学所思(2)——导出类 C++ DLL导出类 知识大全 C++类库开发详解