const axios = require('axios');
const fs = require('fs');
const path = require('path');
var express = require('express');
var router = express.Router();
// 微信小程序的AppID和AppSecret
const appId = 'xxxx';
const appSecret = 'xxxx';
/* GET home page. */
router.get('/', function (req, res, next) {
res.render('index', { title: 'Express' });
});
//创建二维码
router.get('/createcode/:sid', async (req, res, next) => {
const qrcode = await generateQrcode('pages/index/index', req.params.sid);//获取流
res.send(qrcode);
});
// 异步函数获取access_token
async function getAccessToken() {
const response = await axios({
url: 'https://api.weixin.qq.com/cgi-bin/token',
method: 'get',
params: {
grant_type: 'client_credential',
appid: appId,
secret: appSecret
}
});
return response.data.access_token;
}
// 异步函数生成小程序二维码
async function generateQrcode(pagePath, scene) {
const accessToken = await getAccessToken(); // 确保已获取access_token
console.log('accessToken>>>', accessToken);
const response = await axios({
url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + accessToken,
method: 'post',
responseType: 'arraybuffer',// `responseType` 表示浏览器将要响应的数据类型,选项包括: 'arraybuffer', 'document', 'json', 'text', 'stream'等
data: {
scene: scene, //最大32个可见字符
page: pagePath, // 默认页面路径
"check_path": false,
"env_version": "develop",
width: 430 // 二维码宽度,单位为像素
}
});
if (response.status == 200 && response.data && !response.data.errmsg) {
const qrcodeBuffer = response.data;
console.log('是否是buffer>>>>>',Buffer.isBuffer(qrcodeBuffer));
//转为图片保存
fs.writeFile('qrcode1.png',qrcodeBuffer,'binary',(err)=>{
if(!err){
console.log('图片保存成功');
}
});
const base64Image = qrcodeBuffer.toString('base64');
const dataUrl = `data:image/png;base64,${base64Image}`;
return dataUrl; // 返回图片流
}
}
module.exports = router;
node生成小程序码
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 复制的base64 数据,可在小程序image标签src属性里显示,也可以在这里转换为图片http://qinha...
- 搞了两天,法克啊 官网参考:获取不限制的小程序码https://developers.weixin.qq.com/...
- 功能很简单 但是有坑 废话不多说直接上代码 html canvas 定义画板 构造海报 .preview 生成海报...
- 应用场景: 想通过小程序(或直接使用微信)扫描小程序码(小程序二维码)打开小程序并完成一些指定的任务*******...
- 1、打开https://github.com/Wechat-Group/WxJava链接下载weixin-java...