From 85555eef7dc7d72cb701bdd81044ba8fb8e72acc Mon Sep 17 00:00:00 2001 From: chenkl <321200875@qq.com> Date: Tue, 19 Jan 2021 11:25:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mock/role/admin-role.ts | 10 +- mock/role/test-role.ts | 8 + package.json | 2 + public/index.html | 121 +++++++- public/logo.png | Bin 0 -> 2187 bytes src/components/Qrcode/index.vue | 274 ++++++++++++++++++ src/components/Qrcode/types.ts | 9 + src/pages/index/router/index.ts | 8 + .../views/components-demo/qrcode/index.vue | 106 +++++++ src/pages/index/views/login/index.vue | 2 +- yarn.lock | 69 ++++- 11 files changed, 602 insertions(+), 7 deletions(-) create mode 100644 public/logo.png create mode 100644 src/components/Qrcode/index.vue create mode 100644 src/components/Qrcode/types.ts create mode 100644 src/pages/index/views/components-demo/qrcode/index.vue diff --git a/mock/role/admin-role.ts b/mock/role/admin-role.ts index e3cefab..73a8335 100644 --- a/mock/role/admin-role.ts +++ b/mock/role/admin-role.ts @@ -46,6 +46,10 @@ export const checkedNodes = [{ 'path': '/components-demo/detail', 'title': '详情组件', 'name': 'DetailDemo' + }, { + 'path': '/components-demo/qrcode', + 'title': '二维码组件', + 'name': 'QrcodeDemo' }] }, { 'path': '/components-demo/echarts', @@ -91,6 +95,10 @@ export const checkedNodes = [{ 'path': '/components-demo/detail', 'title': '详情组件', 'name': 'DetailDemo' +}, { + 'path': '/components-demo/qrcode', + 'title': '二维码组件', + 'name': 'QrcodeDemo' }, { 'path': '/table-demo', 'title': '表格', @@ -407,7 +415,7 @@ export const checkedNodes = [{ export const checkedkeys = ['/components-demo', '/components-demo/echarts', '/components-demo/preview', '/components-demo/button', '/components-demo/message', '/components-demo/count-to', '/components-demo/search', '/components-demo/editor', '/components-demo/markdown', '/components-demo/dialog', '/components-demo/more', - '/components-demo/detail', '/table-demo', '/table-demo/basic-table', '/table-demo/page-table', + '/components-demo/detail', '/components-demo/qrcode', '/table-demo', '/table-demo/basic-table', '/table-demo/page-table', '/table-demo/stripe-table', '/table-demo/border-table', '/table-demo/state-table', '/table-demo/fixed-header', '/table-demo/fixed-column', '/table-demo/fixed-column-header', '/table-demo/fluid-height', '/table-demo/multi-header', '/table-demo/single-choice', '/table-demo/multiple-choice', '/table-demo/sort-table', diff --git a/mock/role/test-role.ts b/mock/role/test-role.ts index 04adaa2..4af7473 100644 --- a/mock/role/test-role.ts +++ b/mock/role/test-role.ts @@ -97,6 +97,14 @@ export const checkedRoleNodes = [ meta: { title: '详情组件' } + }, + { + path: 'qrcode', + component: 'pages/index/views/components-demo/qrcode/index', + name: 'QrcodeDemo', + meta: { + title: '二维码组件' + } } ] }, diff --git a/package.json b/package.json index 0a93932..152f23f 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "normalize.css": "^8.0.1", "nprogress": "^0.2.0", "path-to-regexp": "^6.2.0", + "qrcode": "^1.4.4", "qs": "^6.9.4", "screenfull": "^5.0.2", "vditor": "^3.7.0", @@ -46,6 +47,7 @@ "@types/lodash-es": "^4.17.3", "@types/mockjs": "^1.0.3", "@types/nprogress": "^0.2.0", + "@types/qrcode": "^1.3.5", "@typescript-eslint/eslint-plugin": "^4.5.0", "@typescript-eslint/parser": "^4.5.0", "@vue/cli-plugin-babel": "^4.5.9", diff --git a/public/index.html b/public/index.html index 4123528..fecea01 100644 --- a/public/index.html +++ b/public/index.html @@ -11,7 +11,126 @@ -
+
+ +
+
+
+ +
<%= htmlWebpackPlugin.options.title %>
+
+
+
+
+
+
+
+
diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a8d6b5172a46c213eb307ab59b66730b61e53d GIT binary patch literal 2187 zcmV;62z2*}P)R{#UZwphoZb(C z$Wo*C6=u8&jm;#F)(lp$4{W_Do!}K9>@}X~ zN}=;Jrs!Lw`w@7=RHOF{eZ~rk%u%BD5nQ$vY`__D!%(929CO7Wh|(Q>%oSz4N1^c) zU$_!_#wniQ6??}Jiq0T|&OD#%VWs|Br28$X=3%A&3Vy{}r1}?Uy;7p~C79e$qV-~> z{v340B#qP&Rk0g##2B zT%`MArT$^1{U(yv8En5LjMq(~^CODW5pBL3bHpW()<~i87G$~#L8J>qrVdN13`VFU zdCV`Y=plp7FRbVeO{@(`sS{hZIG*V+nd2yy+6{uoUZngNZo&?j)J&rEK%ngwnb;ee z+aa6Y44BhUqV-au_D7-dM4;~|oZ&*C?h%;PI-lw^p64;0<~*P4HlFAbnAQ`S))kr8 z5LB^Sr280}*&3SK9h%!7n%qvJ^dpPYA%)N*o8Baw-y(_9A%o5)oZuaK$x5N}CX&}6 zfX!8-_$Zj%DxBgRcE%=@*&ch!Q=|79aKkN~<0qWpMxpR8o#a-d_!ecn7-+sHmfAj_ z>@%L`IG*VXm(o|G`4U&NS)}?Zp5F|Y(hpIu4^FOJr27z<)hnaoVWs{KORN}~*b7Cd zET!ZONU0#3-64n29eBq{q46Y))JviAC63h?ZNL*=w;-F`AAQR%spl7Gy%=i0ES%yN zV!AAx;~Ha$`EI}6^hRhaKI34zAl&Hpb-V80001XbW%=J03aVQ z{-7@q5D-_;KoBrs&_F$aV*BtsOMswYkbt1DpwQ6JP;fwFFyifCf3VQ-qVeV*;Lwlo z^7YX0AiLmzu<-EEz@R{Ia4_K0j36-npz!eAm{4%IAn@?e@b>Uv%CNxD;IMF@@Je8? z@SxD}@cH1T;Hv~Y;0FKz010qNS#tmY3labT3lag+-G2N400gf|L_t(&fyLK%R1{Yf zz~KuRb^w=UrGqpTL;+DyDFVjcYwRtFn%)x+B>|-hDvDiH6bn&o*bq@c1QU%d&BRno zdNVO5WEVt}oJBa!urv3)X?XwS%;WpP%-sSlXG%aoz!bBeDlr3%~uf zDd5zpzvIjjV!Wr_=JLBYZyx8U2tU+i+rE9=fPXIevI`jRiVAbSsHkW_plsb@c0oY_ zPXMc+?^FSP{`^q6kAc0*dtV3yTyoc#u847{5ad%*QiA01J+pc*O+LyeB(#^zd#yfA2=E7n#GgGY^$ytQ=aT{~0Q!>n zjXfpaf#`fvK;ysGo4{{;SK1x$+O&xfF!}z4u>^j>0x5UE`r>DV06)$BD;Wm@Uo7Pg zjMz>Hh|n}&%Jjqe;$k1syw`^9ctC{d#iwZk`{8_Qs@T`zcJFK;1nAk92N3ww@uNiX zHp90P0(9I1K{%hD-a(ZAG zFq`jGEY6qop?w5whF``5rfc|)F#}M(q=fbn2s!sN8sNgq12CZ|pPfCHiVyzaJ2b$> zUg%_CD9UGN>V!_R#%=FjJU}mewk^(QW|H3shV_3R4|p6q9fb4WylRD=Ha&ZD_v}Ff zhT`WPQU1Vzjsnk4GvDi@@6mt>gnk%=@;NzpfX63S(0~_6Jb(|%=VW1Tg&yaBL<6F2 z$UZX%<+HMQUOSs+4A@n?eKh9s@(J~cj?c{v^+k_Yg?`46}FJ$NC~K2!Mz9?*?y^Vp;5fb(0@{F>hjv@iczi3f=1O#wKc zmKHIw@xo!xR#)QzGpIL@Jyv~ie&^2hrcbd?S5;Nv0sSTMjR82ne(gZ(r)q0S0Z!6* z03C^6yQc0+Eh#`U51=FQYu>6^U5N*HNaq23iF{2>-MMNcKo$?+OXM%CSYb2>2K17! zdF;`2B=gIcziDjX50J~70x0;rygXxlxp}}V;c|I^=U$`X^Oh|;dH3E`PC!GXn|vO? z_CGp4DJf~mk~{VPo;Mf_hKBk(ZOVEp!2|TB=NB(tl#!8fJU%`?Il1f&Wq5$@lK97z z;sHiHTpl1yG#`b3Q4%@YnIic%mP+yf;b+A0?UdyKTnk0;2St3=rX8m`dS0Q$=gvrK z{!uk}fDlUFP8}Yg8x`MGEgm3@hF5g)xufkt{+0&-{{v|R_~Qs_NFM+I N002ovPDHLkV1k4~Hf#U@ literal 0 HcmV?d00001 diff --git a/src/components/Qrcode/index.vue b/src/components/Qrcode/index.vue new file mode 100644 index 0000000..4b72b85 --- /dev/null +++ b/src/components/Qrcode/index.vue @@ -0,0 +1,274 @@ + + + + + diff --git a/src/components/Qrcode/types.ts b/src/components/Qrcode/types.ts new file mode 100644 index 0000000..86edb6f --- /dev/null +++ b/src/components/Qrcode/types.ts @@ -0,0 +1,9 @@ +export interface LogoTypes { + src?: string + logoSize?: number + bgColor?: string + borderSize?: number + crossOrigin?: string + borderRadius?: number + logoRadius?: number +} diff --git a/src/pages/index/router/index.ts b/src/pages/index/router/index.ts index 1b5e78d..6b24ac1 100644 --- a/src/pages/index/router/index.ts +++ b/src/pages/index/router/index.ts @@ -197,6 +197,14 @@ export const asyncRouterMap: AppRouteRecordRaw[] = [ meta: { title: '详情组件' } + }, + { + path: 'qrcode', + component: () => import('_p/index/views/components-demo/qrcode/index.vue'), + name: 'QrcodeDemo', + meta: { + title: '二维码组件' + } } ] }, diff --git a/src/pages/index/views/components-demo/qrcode/index.vue b/src/pages/index/views/components-demo/qrcode/index.vue new file mode 100644 index 0000000..8b0c1e8 --- /dev/null +++ b/src/pages/index/views/components-demo/qrcode/index.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/src/pages/index/views/login/index.vue b/src/pages/index/views/login/index.vue index 1d1a41e..506cdab 100644 --- a/src/pages/index/views/login/index.vue +++ b/src/pages/index/views/login/index.vue @@ -1,5 +1,5 @@