From 8a7af3783b6f1b3204acca1dbb93816885bce051 Mon Sep 17 00:00:00 2001 From: Seven Date: Mon, 12 Jan 2026 00:44:42 +0700 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81=E6=89=AB=E6=8F=8F=E9=A1=B5=E9=9D=A2=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=94=A8=E6=88=B7=E7=95=8C=E9=9D=A2=E5=92=8C=E6=89=AB?= =?UTF-8?q?=E6=8F=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/qr-scanner/index.vue | 3 +- src/router/index.ts | 5 +++ src/views/scan-qr/index.vue | 49 +++++++++++++++++++++++++++++ src/views/user/index.vue | 12 ++----- 4 files changed, 57 insertions(+), 12 deletions(-) create mode 100644 src/views/scan-qr/index.vue diff --git a/src/components/qr-scanner/index.vue b/src/components/qr-scanner/index.vue index c9ba475..a6a6e9e 100644 --- a/src/components/qr-scanner/index.vue +++ b/src/components/qr-scanner/index.vue @@ -93,7 +93,6 @@ function stop() { if (videoInst.value) { videoInst.value.srcObject = null; } - emit("close"); } function handleSelectImage() { @@ -182,7 +181,7 @@ defineExpose({ >
-
diff --git a/src/router/index.ts b/src/router/index.ts index 31e5f74..90cec83 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -226,6 +226,11 @@ const routes: Array = [ path: "/pwa_download", component: () => import("@/views/pwa/download.vue"), }, + { + path: "/scan_qr", + component: () => import("@/views/scan-qr/index.vue"), + meta: { requiresAuth: false }, + }, ]; const router = createRouter({ diff --git a/src/views/scan-qr/index.vue b/src/views/scan-qr/index.vue new file mode 100644 index 0000000..bd21a57 --- /dev/null +++ b/src/views/scan-qr/index.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/user/index.vue b/src/views/user/index.vue index 4d180e5..1c38de5 100644 --- a/src/views/user/index.vue +++ b/src/views/user/index.vue @@ -12,9 +12,9 @@ import TradeSettings from "./components/trade-settings.vue"; import UserInfo from "./components/user-info.vue"; import WalletCard from "./components/wallet-card.vue"; +const router = useRouter(); const { vibrate } = useHaptics(); const walletStore = useWalletStore(); -const { open } = useQRScanner(); async function handleRefresh(event: RefresherCustomEvent) { vibrate(); @@ -27,15 +27,7 @@ async function handleRefresh(event: RefresherCustomEvent) { // 处理扫描二维码 async function handleScan() { vibrate(); - const result = await open({ - title: "扫描二维码", - }); - - if (result) { - console.log("扫描结果:", result); - // TODO: 根据扫描结果进行相应处理 - // 例如:跳转到对应页面、显示信息等 - } + router.push("/scan_qr"); }