NodeJS接口调用凭证access_token的缓存与更新
分类专栏: Node
简介 NodeJS接口调用微信小程序凭证access_token的缓存与更新
<pre class="ql-syntax" spellcheck="false">/*
* @Author: your name
* @Date: 2021-05-26 16:07:07
* @LastEditTime: 2021-05-26 17:02:48
* @LastEditors: Please set LastEditors
* @Description: 接口调用凭证access_token的缓存与更新
* @FilePath: \bazai_music_api\utils\getAccessToken.js
*/
const fs = require('fs')
const path = require('path')
const fileName = path.resolve(__dirname, './access_token.json')
console.log('fileName', fileName)
const axios = require('axios')
const APPID = '*******'
const APPSECRET = '*****'
const URL = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${APPID}&secret=${APPSECRET}`
const updateAccessToken = async () => {
const result = await axios.get(URL)
// 写文件
if (result.data.access_token) {
fs.writeFileSync(fileName, JSON.stringify({
access_token: result.data.access_token,
createtime: new Date()
}))
} else {
// 更新access_token
await updateAccessToken()
}
}
const getAccessToken = async () => {
// 读取文件
try {
const readRes = fs.readFileSync(fileName, 'utf-8')
const readObj = JSON.parse(readRes)
const createTime = new Date(readObj.createTime).getTime()
const nowTime = new Date().getTime()
// 是否过期
if ((nowTime - createTime) / 1000 / 60 / 60 >= 2) {
await updateAccessToken()
await getAccessToken()
}
return readObj.access_token
} catch (error) {
await updateAccessToken()
await getAccessToken()
}
}
// 间隔2小时重新获取,提前200秒
setInterval(async () => {
await updateAccessToken()
}, 7000 * 1000)
// updateAccessToken()
// console.log(getAccessToken())
</pre>
分享到:
转载:
喜欢 1
收藏
上一篇:
微信小程序的相关原理知识
暂无评论信息
- 相关文章
- 文章推荐
-
git:如何管理本机的多个ssh密钥(多个远程仓库账号)
如果我们电脑上已经存在了一个ssh key,那么我们需要在我们电脑上生成第二个你想在本电脑上使用的id_rsa,使用命令:ssh-keygen -t rsa -C "你的github账号"。
-
娱美德旗下MMORPG手游《传奇4》将推出新PVP玩法"比奇掠夺"&
《传奇4》推出新门派PVP玩法!韩国首尔2022年6月29日 /美通社/ -- 《传奇4》(MIR4)的新PVP玩法比奇掠夺(Bicheon Heist)于2022年6月28日推出。
-
HTML 面试知识点总结
本部分主要是笔者在复习 HTML 相关知识和一些相关面试题时所做的笔记,如果出现错误,希望大家指出!
-
半导体短缺即将结束?分析师:如果没有 1 美元芯片会影响更多
德勤咨询(Deloitte Consulting)的芯片分析师认为,随着芯片行业资本支出的增加,需求度较高的工厂已经开工,预示着短缺情况即将结束。
- 点击排行
- 站长推荐
- 猜你喜欢
- 网站信息
- 站内问答:12篇
- 站内文章:207篇
- 建站时间:已运行917天
- 备案号: 浙ICP备2022018799号
- 语言:
English(USA)
French(FR)
Chinese(ZH)
无数据