Vue2前端生成二維碼并實現(xiàn)掃碼跳轉(zhuǎn)完整教程
前言
在日常開發(fā)中,我們經(jīng)常會遇到這樣的需求:
在頁面生成一個二維碼
用戶用手機掃碼后,自動跳轉(zhuǎn)到指定網(wǎng)頁
比如:
- 活動推廣鏈接
- H5 頁面入口
- 掃碼登錄
- 分享邀請頁
一、實現(xiàn)原理
其實邏輯非常簡單:
- 前端生成二維碼(內(nèi)容是一個 URL)
- 手機掃碼 → 自動識別二維碼中的 URL
- 瀏覽器打開該 URL
重點:二維碼本質(zhì)上只是“存儲字符串(URL)”
二、安裝依賴
推薦使用輕量好用的庫:qrcode
npm install qrcode
三、基礎(chǔ)實現(xiàn)(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"; // 掃碼后跳轉(zhuǎn)的地址
QRCode.toCanvas(
this.$refs.qrcodeCanvas,
url,
{
width: 200,
margin: 2
},
function (error) {
if (error) console.error(error);
console.log("二維碼生成成功!");
}
);
}
}
};
</script>效果說明
頁面加載后會生成一個二維碼:
用戶掃碼后 → 自動打開 https://www.baidu.com
四、進(jìn)階用法
動態(tài)生成二維碼(帶參數(shù))
const url = `https://yourdomain.com/page?id=123&type=vue`;
適用于:
- 活動分享
- 用戶邀請
- 頁面跳轉(zhuǎn)
頁面直接展示二維碼圖片
<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 無法掃碼訪問
如果二維碼內(nèi)容是:
http://localhost:8080
手機是打不開的!
解決方案:
- 使用局域網(wǎng) IP(如
http://192.168.1.100:8080) - 或部署到服務(wù)器
3. 微信掃碼限制
在微信中掃碼時:
- 非 HTTPS 可能被攔截
- 某些域名可能被提示風(fēng)險
建議統(tǒng)一使用 HTTPS
總結(jié)
到此這篇關(guān)于Vue2前端生成二維碼并實現(xiàn)掃碼跳轉(zhuǎn)的文章就介紹到這了,更多相關(guān)Vue2前端生成二維碼掃碼跳轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue?2?和?Vue?3?中?toRefs函數(shù)的不用用法
Vue?是一款流行的JavaScript?框架,用于構(gòu)建用戶界面,在Vue2和?Vue3中,都存在一個名為toRefs的函數(shù),但其行為在這兩個版本中有所不同,這篇文章主要介紹了Vue2和Vue3中toRefs的區(qū)別,需要的朋友可以參考下2023-08-08
vue項目打包后,由于html被緩存導(dǎo)致出現(xiàn)白屏的處理方案
這篇文章主要介紹了vue項目打包后,由于html被緩存導(dǎo)致出現(xiàn)白屏的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
vue動態(tài)設(shè)置路由權(quán)限的主要思路
這篇文章主要給大家介紹了關(guān)于vue動態(tài)設(shè)置路由權(quán)限的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Vue路由的模塊自動化與統(tǒng)一加載實現(xiàn)
這篇文章主要介紹了Vue路由的模塊自動化與統(tǒng)一加載實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06

