You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

45 lines
1.1 KiB

const QRCode = require('qrcode');
const fs = require('fs');
const path = require('path');
// 网页 URL
const url = 'http://8.137.125.67:3008/';
// 生成二维码并保存为图片
async function generateQRCode() {
try {
console.log('正在生成二维码...');
// 生成二维码数据
const qrData = await QRCode.toDataURL(url, {
width: 300,
margin: 1,
color: {
dark: '#000000',
light: '#FFFFFF'
}
});
// 提取 base64 数据
const base64Data = qrData.replace(/^data:image\/png;base64,/, '');
const buffer = Buffer.from(base64Data, 'base64');
// 保存为图片文件
const qrPath = path.join(__dirname, 'qrcode.png');
fs.writeFileSync(qrPath, buffer);
console.log(`二维码生成成功!保存路径:${qrPath}`);
console.log(`二维码包含的 URL:${url}`);
console.log('请使用微信等扫描工具扫描此二维码进入程序。');
} catch (error) {
console.error('生成二维码失败:', error.message);
}
}
// 执行生成二维码
if (require.main === module) {
generateQRCode();
}
module.exports = { generateQRCode };