在日常开发中,我们经常会遇到这样的需求:

在页面生成一个二维码
用户用手机扫码后,自动跳转到指定网页
比如:
其实逻辑非常简单:
重点:二维码本质上只是“存储字符串(URL)”
推荐使用轻量好用的库:qrcode
npm install qrcode<template> <div> <canvas ref="qrcodeCanvas"></canvas> </div></template><script>import QRCode from "qrcode";export default { name: "QrCodeDemo", mounted() { this.generateQRCode(); }, methods: { generateQRCode() { const url = "https://www.baidu.com"; // 扫码后跳转的地址 QRCode.toCanvas( this.$refs.qrcodeCanvas, url, { width: 200, margin: 2 }, function (error) { if (error) console.error(error); console.log("二维码生成成功!"); } ); } }};</script>页面加载后会生成一个二维码:
用户扫码后 → 自动打开 https://www.baidu.com
const url = `https://yourdomain.com/page?id=123&type=vue`;
适用于:
<template> <img :src="qrCodeUrl" /></template><script>import QRCode from "qrcode";export default { data() { return { qrCodeUrl: "" }; }, mounted() { QRCode.toDataURL("https://www.baidu.com").then(url => { this.qrCodeUrl = url; }); }};</script>错误写法:
/page?id=1
正确写法:
https://yourdomain.com/page?id=1
如果二维码内容是:
http://localhost:8080
手机是打不开的!
解决方案:
http://192.168.1.100:8080)在微信中扫码时:
建议统一使用 HTTPS