最近开发了 jssdk的前后台,踏坑无数,主要是后端代码,后来发现一个模块qc-wechat-jssdk,利用这个模块进行了开发。
这个模块使用memory-cache作为缓存,缓存jsapi_ticket。
1、npm install qc-wechat-jssdk
2、配置文件
const _jssdk = require('qc-wechat-jssdk')
_jssdk.configure({
appId:config.appid,
secret:config.secret
})
3、获取前端 jssdk 需要的参数:nonceStr,signature,timestamp
//这里 url 必须是动态的,因为微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。
let url = req.query.url
let data =await _jssdk.getjssdk(url)
console.log(data)
data 的值
"timestamp": "1586765360",
"nonceStr": "melrd7dk5a",
"signature": "",
"jsapi_ticket": "",
"appId": "",
"url": ""
1、getTokenAndTicket
,来获取access_token、jsapi_ticket。
注意:这个方法不会缓存 access_token、jsapi_ticket,有限制次数,需要自定义缓存机制
let data = await _jssdk.getTokenAndTicket()
console.log(data)
data 的值
{
token:'',
ticket:''
}
2、 sign 方法,生成签名
let signData = _jssdk.sign(ticket,url)
console.log(signData)
signData的值
{
timestamp: "1587086143",
nonceStr: "aowjqxuvfr",
signature: "",
jsapi_ticket: "",
appId: "",
url: ""
}
Title
测试