Vue2前端生成二维码并实现扫码跳转完整教程

 更新时间:2026年04月27日 09:11:59   作者:予你@。  
在现代Web应用开发中,二维码扫描已成为连接物理世界与数字世界的核心桥梁,这篇文章主要介绍了Vue2前端生成二维码并实现扫码跳转的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

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

在页面生成一个二维码

用户用手机扫码后,自动跳转到指定网页

比如:

  • 活动推广链接
  • H5 页面入口
  • 扫码登录
  • 分享邀请页

一、实现原理

其实逻辑非常简单:

  1. 前端生成二维码(内容是一个 URL)
  2. 手机扫码 → 自动识别二维码中的 URL
  3. 浏览器打开该 URL

重点:二维码本质上只是“存储字符串(URL)”

二、安装依赖

推荐使用轻量好用的库:qrcode

npm install qrcode

三、基础实现(Vue2)

代码示例

<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>

五、常见问题(避坑指南)

1. URL 必须是完整路径

 错误写法:

/page?id=1

正确写法:

https://yourdomain.com/page?id=1

2. localhost 无法扫码访问

如果二维码内容是:

http://localhost:8080

手机是打不开的!

解决方案:

  • 使用局域网 IP(如 http://192.168.1.100:8080
  • 或部署到服务器

3. 微信扫码限制

在微信中扫码时:

  • 非 HTTPS 可能被拦截
  • 某些域名可能被提示风险

建议统一使用 HTTPS

总结

到此这篇关于Vue2前端生成二维码并实现扫码跳转的文章就介绍到这了,更多相关Vue2前端生成二维码扫码跳转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue3基于 rem 比例缩放方案示例详解

    Vue3基于 rem 比例缩放方案示例详解

    这篇文章主要介绍了Vue3基于rem比例缩放方案,本缩放方案置于hooks中即可,文中通过示例代码介绍了vue-cli3 中使用rem布局的方法,需要的朋友可以参考下
    2023-05-05
  • Vue 2 和 Vue 3 中 toRefs函数的不用用法

    Vue 2 和 Vue 3 中 toRefs函数的不用用法

    Vue 是一款流行的JavaScript 框架,用于构建用户界面,在Vue2和 Vue3中,都存在一个名为toRefs的函数,但其行为在这两个版本中有所不同,这篇文章主要介绍了Vue2和Vue3中toRefs的区别,需要的朋友可以参考下
    2023-08-08
  • vue组件初学_弹射小球(实例讲解)

    vue组件初学_弹射小球(实例讲解)

    下面小编就为大家带来一篇vue组件初学_弹射小球(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 一文带你上手vue3中的pinia

    一文带你上手vue3中的pinia

    这篇文章主要以vue3+vite+ts举例,为大家详细介绍了vue3中pinia的安装与使用,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-09-09
  • vue项目打包后,由于html被缓存导致出现白屏的处理方案

    vue项目打包后,由于html被缓存导致出现白屏的处理方案

    这篇文章主要介绍了vue项目打包后,由于html被缓存导致出现白屏的处理方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • vue中路由传参以及跨组件传参详解

    vue中路由传参以及跨组件传参详解

    这篇文章主要给大家介绍了关于vue中路由传参以及跨组件传参的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Vue两个版本的区别和使用方法(更深层次了解)

    Vue两个版本的区别和使用方法(更深层次了解)

    在我们使用 vue时,我们可以引用两个不同版本的 Vue,分别是 Vue完整版(vue.js)和 Vue(vue.runtime.js )非完整版,那么它们的区别是什么呢,今天我们就来分析下这两个不同版本之间的区别,一起看看吧
    2020-02-02
  • VueCli3构建TS项目的方法步骤

    VueCli3构建TS项目的方法步骤

    这篇文章主要介绍了VueCli3构建TS项目的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • vue动态设置路由权限的主要思路

    vue动态设置路由权限的主要思路

    这篇文章主要给大家介绍了关于vue动态设置路由权限的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Vue路由的模块自动化与统一加载实现

    Vue路由的模块自动化与统一加载实现

    这篇文章主要介绍了Vue路由的模块自动化与统一加载实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06

最新评论