From fa3ac93010bea3805438ee3ab0a182bfbf7423da Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期一, 27 五月 2024 16:19:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/demo/comp/qrcode/index.vue |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 117 insertions(+), 0 deletions(-)

diff --git a/src/views/demo/comp/qrcode/index.vue b/src/views/demo/comp/qrcode/index.vue
new file mode 100644
index 0000000..a96fc18
--- /dev/null
+++ b/src/views/demo/comp/qrcode/index.vue
@@ -0,0 +1,117 @@
+<template>
+  <PageWrapper title="浜岀淮鐮佺粍浠朵娇鐢ㄧず渚�">
+    <div class="flex flex-wrap">
+      <CollapseContainer title="鍩虹绀轰緥" :canExpan="true" class="text-center mb-6 qrcode-demo-item">
+        <QrCode :value="qrCodeUrl" />
+      </CollapseContainer>
+
+      <CollapseContainer title="娓叉煋鎴恑mg鏍囩绀轰緥" class="text-center mb-6 qrcode-demo-item">
+        <QrCode :value="qrCodeUrl" tag="img" />
+      </CollapseContainer>
+
+      <CollapseContainer title="閰嶇疆鏍峰紡绀轰緥" class="text-center mb-6 qrcode-demo-item">
+        <QrCode
+          :value="qrCodeUrl"
+          :options="{
+            color: { dark: '#55D187' },
+          }"
+        />
+      </CollapseContainer>
+
+      <CollapseContainer title="鏈湴logo绀轰緥" class="text-center mb-6 qrcode-demo-item">
+        <QrCode :value="qrCodeUrl" :logo="LogoImg" />
+      </CollapseContainer>
+
+      <CollapseContainer title="鍦ㄧ嚎logo绀轰緥" class="text-center mb-6 qrcode-demo-item">
+        <QrCode
+          :value="qrCodeUrl"
+          logo="http://jeecg.com/images/logo.png"
+          :options="{
+            color: { dark: '#55D187' },
+          }"
+        />
+      </CollapseContainer>
+
+      <CollapseContainer title="logo閰嶇疆绀轰緥" class="text-center mb-6 qrcode-demo-item">
+        <QrCode
+          :value="qrCodeUrl"
+          :logo="{
+            src: 'http://jeecg.com/images/logo.png',
+            logoSize: 0.2,
+            borderSize: 0.05,
+            borderRadius: 50,
+            bgColor: 'blue',
+          }"
+        />
+      </CollapseContainer>
+
+      <CollapseContainer title="涓嬭浇绀轰緥" class="text-center qrcode-demo-item">
+        <QrCode :value="qrCodeUrl" ref="qrRef" :logo="LogoImg" />
+        <a-button class="mb-2" type="primary" @click="download"> 涓嬭浇 </a-button>
+        <div class="msg"> (鍦ㄧ嚎logo浼氬鑷村浘鐗囪法鍩燂紝闇�瑕佷笅杞藉浘鐗囬渶瑕佽嚜琛岃В鍐宠法鍩熼棶棰�) </div>
+      </CollapseContainer>
+
+      <CollapseContainer title="閰嶇疆澶у皬绀轰緥" class="text-center qrcode-demo-item">
+        <QrCode :value="qrCodeUrl" :width="300" />
+      </CollapseContainer>
+
+      <CollapseContainer title="鎵╁睍缁樺埗绀轰緥" class="text-center qrcode-demo-item">
+        <QrCode :value="qrCodeUrl" :width="200" :options="{ margin: 5 }" ref="qrDiyRef" :logo="LogoImg" @done="onQrcodeDone" />
+        <a-button class="mb-2" type="primary" @click="downloadDiy"> 涓嬭浇 </a-button>
+        <div class="msg"> 瑕佽繘琛屾墿灞曠粯鍒跺垯涓嶈兘灏唗ag璁句负img </div>
+      </CollapseContainer>
+    </div>
+  </PageWrapper>
+</template>
+<script lang="ts">
+  import { defineComponent, ref, unref } from 'vue';
+  import { QrCode, QrCodeActionType } from '/@/components/Qrcode/index';
+  import LogoImg from '/@/assets/images/lanpu.png';
+  import { CollapseContainer } from '/@/components/Container/index';
+  import { PageWrapper } from '/@/components/Page';
+
+  const qrCodeUrl = 'https://www.vvbin.cn';
+  export default defineComponent({
+    components: { CollapseContainer, QrCode, PageWrapper },
+    setup() {
+      const qrRef = ref<Nullable<QrCodeActionType>>(null);
+      const qrDiyRef = ref<Nullable<QrCodeActionType>>(null);
+      function download() {
+        const qrEl = unref(qrRef);
+        if (!qrEl) return;
+        qrEl.download('鏂囦欢鍚�');
+      }
+      function downloadDiy() {
+        const qrEl = unref(qrDiyRef);
+        if (!qrEl) return;
+        qrEl.download('Qrcode');
+      }
+
+      function onQrcodeDone({ ctx }: any) {
+        if (ctx instanceof CanvasRenderingContext2D) {
+          // 棰濆缁樺埗
+          ctx.fillStyle = 'black';
+          ctx.font = '16px "寰蒋闆呴粦"';
+          ctx.textBaseline = 'bottom';
+          ctx.textAlign = 'center';
+          ctx.fillText('浣犲竻浣犲厛鎵�', 100, 195, 200);
+        }
+      }
+      return {
+        onQrcodeDone,
+        qrCodeUrl,
+        LogoImg,
+        download,
+        downloadDiy,
+        qrRef,
+        qrDiyRef,
+      };
+    },
+  });
+</script>
+<style scoped>
+  .qrcode-demo-item {
+    width: 30%;
+    margin-right: 1%;
+  }
+</style>

--
Gitblit v1.9.3