¶Ô±ÈÐÂÎļþ |
| | |
| | | <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="渲ææimgæ ç¾ç¤ºä¾" 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"> è¦è¿è¡æ©å±ç»å¶åä¸è½å°tag设为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> |