36 lines
1005 B
JavaScript
36 lines
1005 B
JavaScript
const config = {
|
||
access_token = 'access_token',
|
||
ssid = 'ssid',
|
||
password = 'password'
|
||
};
|
||
|
||
const axios = require('axios');
|
||
|
||
const generateQrCode = async (path, scene) => {
|
||
const url = `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${coonfig.access_token}`;
|
||
|
||
const params = {
|
||
scene: scene, // 参数,格式为json字符串
|
||
page: path, // 扫码后跳转的小程序页面路径
|
||
width: 430 // 二维码的宽度
|
||
};
|
||
|
||
try {
|
||
const response = await axios({
|
||
method: 'POST',
|
||
url: url,
|
||
data: params,
|
||
responseType: 'arraybuffer' // 重要:需要设置响应类型为arraybuffer
|
||
});
|
||
|
||
// 将response.data(一个Buffer)写入文件
|
||
fs.writeFileSync('qrcode.png', response.data);
|
||
console.log('小程序码已生成');
|
||
} catch (error) {
|
||
console.error('生成小程序码失败', error);
|
||
}
|
||
};
|
||
|
||
// 使用示例
|
||
generateQrCode('pages/connect-wifi/connect-wifi', `{"SSID":"${config.ssid}","password":"${config.password}"}`);
|