var fs = require('fs'); var request = require('request'); var AccessToken = { grant_type: 'client_credential', //这里填这个值就可以了 appid: 'vvvvvvvvvvvvvvvvv', //你的小程序appid secret: 'vvvvvvvvvvvvvvvvv' //你的小程序secret } //获取你的AccessToken的链接 var wx_gettoken_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=' + AccessToken.grant_type + '&appid=' + AccessToken.appid + '&secret=' + AccessToken.secret; var create_time = 0, now = 0, token = ''; var createQrcode = { test:function(){ console.log('test') }, create: function(config) { var that = this; return new Promise(function(resolve, reject) { console.log('fn:create'); if (that.isInTwoHours()) { that.getQrcode(config).then((res)=>{ resolve(res) }); } else { getWxToken().then(res => { if (res.isSuccess) { that.getQrcode(config).then((res)=>{ resolve(res) }); } else { console.log('获取token出错'); } }) } }) }, //判断是否超过两个小时,将token存储起来,减少token请求。 isInTwoHours: function() { console.log('fn:isTwoHours'); now = new Date().getTime(); var diffHours = (now - create_time) / (60 * 1000); console.log('diffHours:' + diffHours); if (diffHours < 2) { return true; } else { return false; } }, getQrcode:function(config){ return new Promise(function(resolve, reject) { resolve( request({ method: 'POST', url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + token.access_token, body: JSON.stringify({ path:config.path, scene:config.scene }) },function(err, res, body) { //console.log(body,10000000000000) //console.log(res,33333333333) //console.log(token.access_token,444) }) ) }).then(data => { data.pipe(fs.createWriteStream('../upload/qrcode/' + config.scene + '.png')) return new Promise(function(resolve, reject) { resolve('https://VV.VVVVV.com/images/qrcode/' + config.scene + '.png') }) }) } //获取微信的token var getWxToken = function() { console.log('fn:getWxToken'); var that = this; return new Promise((resolve, reject) => { request({ method: 'GET', url: wx_gettoken_url }, function(err, res, body) { if (res) { create_time = new Date().getTime(); token = JSON.parse(body); console.log(token,2222222222) resolve({ isSuccess: true }); } else { console.log(err); resolve({ isSuccess: false }); } } ) }); } module.exports = createQrcode;
获取二维码
猜你喜欢
转载自www.cnblogs.com/thing/p/9358200.html
今日推荐
周排行