Skip to content

Commit 85555ee

Browse files
feat: 🎸 新增二维码组件
1 parent 32b6583 commit 85555ee

File tree

11 files changed

+602
-7
lines changed

11 files changed

+602
-7
lines changed

mock/role/admin-role.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ export const checkedNodes = [{
4646
'path': '/components-demo/detail',
4747
'title': '详情组件',
4848
'name': 'DetailDemo'
49+
}, {
50+
'path': '/components-demo/qrcode',
51+
'title': '二维码组件',
52+
'name': 'QrcodeDemo'
4953
}]
5054
}, {
5155
'path': '/components-demo/echarts',
@@ -91,6 +95,10 @@ export const checkedNodes = [{
9195
'path': '/components-demo/detail',
9296
'title': '详情组件',
9397
'name': 'DetailDemo'
98+
}, {
99+
'path': '/components-demo/qrcode',
100+
'title': '二维码组件',
101+
'name': 'QrcodeDemo'
94102
}, {
95103
'path': '/table-demo',
96104
'title': '表格',
@@ -407,7 +415,7 @@ export const checkedNodes = [{
407415
export const checkedkeys = ['/components-demo', '/components-demo/echarts', '/components-demo/preview',
408416
'/components-demo/button', '/components-demo/message', '/components-demo/count-to', '/components-demo/search',
409417
'/components-demo/editor', '/components-demo/markdown', '/components-demo/dialog', '/components-demo/more',
410-
'/components-demo/detail', '/table-demo', '/table-demo/basic-table', '/table-demo/page-table',
418+
'/components-demo/detail', '/components-demo/qrcode', '/table-demo', '/table-demo/basic-table', '/table-demo/page-table',
411419
'/table-demo/stripe-table', '/table-demo/border-table', '/table-demo/state-table', '/table-demo/fixed-header',
412420
'/table-demo/fixed-column', '/table-demo/fixed-column-header', '/table-demo/fluid-height',
413421
'/table-demo/multi-header', '/table-demo/single-choice', '/table-demo/multiple-choice', '/table-demo/sort-table',

mock/role/test-role.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,14 @@ export const checkedRoleNodes = [
9797
meta: {
9898
title: '详情组件'
9999
}
100+
},
101+
{
102+
path: 'qrcode',
103+
component: 'pages/index/views/components-demo/qrcode/index',
104+
name: 'QrcodeDemo',
105+
meta: {
106+
title: '二维码组件'
107+
}
100108
}
101109
]
102110
},

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"normalize.css": "^8.0.1",
2929
"nprogress": "^0.2.0",
3030
"path-to-regexp": "^6.2.0",
31+
"qrcode": "^1.4.4",
3132
"qs": "^6.9.4",
3233
"screenfull": "^5.0.2",
3334
"vditor": "^3.7.0",
@@ -46,6 +47,7 @@
4647
"@types/lodash-es": "^4.17.3",
4748
"@types/mockjs": "^1.0.3",
4849
"@types/nprogress": "^0.2.0",
50+
"@types/qrcode": "^1.3.5",
4951
"@typescript-eslint/eslint-plugin": "^4.5.0",
5052
"@typescript-eslint/parser": "^4.5.0",
5153
"@vue/cli-plugin-babel": "^4.5.9",

public/index.html

Lines changed: 120 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,126 @@
1111
<noscript>
1212
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
1313
</noscript>
14-
<div id="app"></div>
14+
<div id="app">
15+
<style>
16+
.app-loading {
17+
display: flex;
18+
width: 100%;
19+
height: 100%;
20+
justify-content: center;
21+
align-items: center;
22+
flex-direction: column;
23+
background: #f0f2f5;
24+
}
25+
.app-loading .app-loading-wrap {
26+
position: absolute;
27+
top: 50%;
28+
left: 50%;
29+
display: flex;
30+
-webkit-transform: translate3d(-50%, -50%, 0);
31+
transform: translate3d(-50%, -50%, 0);
32+
justify-content: center;
33+
align-items: center;
34+
flex-direction: column;
35+
}
36+
.app-loading .app-loading-title {
37+
font-size: 20px;
38+
font-weight: bold;
39+
text-align: center;
40+
margin-bottom: 30px;
41+
}
42+
.app-loading .app-loading-logo {
43+
width: 100px;
44+
margin-bottom: 15px;
45+
}
46+
.app-loading .app-loading-item {
47+
position: relative;
48+
width: 60px;
49+
height: 60px;
50+
border-radius: 50%;
51+
display: inline-block;
52+
vertical-align: middle;
53+
}
54+
.app-loading .app-loading-outter {
55+
position: absolute;
56+
border: 4px solid #2d8cf0;
57+
border-left-color: transparent;
58+
border-bottom: 0;
59+
width: 100%;
60+
height: 100%;
61+
border-radius: 50%;
62+
animation: loader-outter 1s cubic-bezier(.42, .61, .58, .41) infinite;
63+
}
64+
.app-loading .app-loading-inner {
65+
position: absolute;
66+
border: 4px solid #87bdff;
67+
border-radius: 50%;
68+
width: 40px;
69+
height: 40px;
70+
left: calc(50% - 20px);
71+
top: calc(50% - 20px);
72+
border-right: 0;
73+
border-top-color: transparent;
74+
animation: loader-inner 1s cubic-bezier(.42, .61, .58, .41) infinite;
75+
}
76+
77+
@-webkit-keyframes loader-outter {
78+
0% {
79+
-webkit-transform: rotate(0deg);
80+
transform: rotate(0deg);
81+
}
82+
100% {
83+
-webkit-transform: rotate(360deg);
84+
transform: rotate(360deg);
85+
}
86+
}
87+
88+
@keyframes loader-outter {
89+
0% {
90+
-webkit-transform: rotate(0deg);
91+
transform: rotate(0deg);
92+
}
93+
100% {
94+
-webkit-transform: rotate(360deg);
95+
transform: rotate(360deg);
96+
}
97+
}
98+
99+
@-webkit-keyframes loader-inner {
100+
0% {
101+
-webkit-transform: rotate(0deg);
102+
transform: rotate(0deg);
103+
}
104+
100% {
105+
-webkit-transform: rotate(-360deg);
106+
transform: rotate(-360deg);
107+
}
108+
}
109+
110+
@keyframes loader-inner {
111+
0% {
112+
-webkit-transform: rotate(0deg);
113+
transform: rotate(0deg);
114+
}
115+
100% {
116+
-webkit-transform: rotate(-360deg);
117+
transform: rotate(-360deg);
118+
}
119+
}
120+
</style>
121+
<div class="app-loading">
122+
<div class="app-loading-wrap">
123+
<div class="app-loading-title">
124+
<img src="./logo.png" class="app-loading-logo" alt="Logo" />
125+
<div class="app-loading-title"><%= htmlWebpackPlugin.options.title %></div>
126+
</div>
127+
<div class="app-loading-item">
128+
<div class="app-loading-outter"></div>
129+
<div class="app-loading-inner"></div>
130+
</div>
131+
</div>
132+
</div>
133+
</div>
15134
<!-- built files will be auto injected -->
16135
</body>
17136
</html>

public/logo.png

2.14 KB
Loading

0 commit comments

Comments
 (0)