Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcjg-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
ed1acdd2
authored
2023-03-21 16:36:17 +0800
by
‘jikai@pashanhoo.com’
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
update
1 parent
d91059fa
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
73 additions
and
3 deletions
src/views/loginsb/index.vue
src/views/loginsb/index.vue
View file @
ed1acdd
...
...
@@ -16,8 +16,14 @@
placeholder=
"请输入密码"
show-password
></el-input>
</el-form-item>
<el-form-item
prop=
"yz"
>
<el-input
class=
"yz"
@
keyup
.
native=
"login('user')"
v-model=
"user.yz"
placeholder=
"请输入验证码"
></el-input>
<div
class=
"flex-container"
>
<div
class=
"flex-input"
>
<el-input
class=
"yz"
@
keyup
.
native=
"login('user')"
v-model=
"user.yz"
placeholder=
"请输入验证码"
></el-input>
</div>
<div
class=
"flex-line"
></div>
<div
class=
"flex-img"
><canvas
id=
"s-canvas"
ref=
"s-canvas"
></canvas></div>
<div
class=
"flex-renovate"
><font
id=
"renovate"
@
click=
"verification"
>
换一批
</font></div>
</div>
</el-form-item>
<el-form-item
class=
"login-btn"
>
<el-button
type=
"primary"
style=
"width: 100%"
@
click=
"login('user')"
>
登录
</el-button>
...
...
@@ -49,6 +55,7 @@
};
},
created
()
{
this
.
verification
();
const
params
=
{};
const
queryOptions
=
{
conditionGroup
:
{
...
...
@@ -79,6 +86,36 @@
// this.checkUserName();
},
methods
:
{
verification
()
{
let
str
=
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ'
,
code
=
''
,
i
=
0
;
for
(
;
i
++
<
4
;
)
code
+=
str
[
Math
.
floor
(
Math
.
random
()
*
(
str
.
length
-
0
)
+
0
)
];
setTimeout
(
()
=>
{
let
canvas
=
document
.
getElementById
(
"s-canvas"
),
ctx
=
canvas
.
getContext
(
"2d"
);
canvas
.
width
=
80
;
canvas
.
height
=
28
;
ctx
.
fillStyle
=
'#ffffff'
;
ctx
.
fillRect
(
0
,
0
,
80
,
28
);
for
(
i
=
0
;
i
<
code
.
length
;
i
++
)
{
this
.
drawText
(
ctx
,
code
[
i
],
i
);
}
},
0
);
},
drawText
(
ctx
,
txt
,
i
)
{
ctx
.
fillStyle
=
this
.
randomColor
(
50
,
160
);
ctx
.
font
=
"18px SimHei"
;
let
x
=
(
i
+
1
)
*
(
80
/
(
4
+
1
)),
y
=
this
.
randomNum
(
18
,
28
-
5
);
ctx
.
translate
(
x
,
y
);
ctx
.
fillText
(
txt
,
0
,
0
);
ctx
.
rotate
((
-
0
*
Math
.
PI
)
/
180
);
ctx
.
translate
(
-
x
,
-
y
);
},
randomColor
(
min
,
max
)
{
let
r
=
this
.
randomNum
(
min
,
max
);
let
g
=
this
.
randomNum
(
min
,
max
);
let
b
=
this
.
randomNum
(
min
,
max
);
return
"rgb("
+
r
+
","
+
g
+
","
+
b
+
")"
;
},
randomNum
(
min
,
max
)
{
return
Math
.
floor
(
Math
.
random
()
*
(
max
-
min
)
+
min
);
},
//记住用户名
checkUserName
:
function
(
flag
)
{
this
.
user
.
checkStatus
=
flag
;
...
...
@@ -128,7 +165,6 @@
.password
,
.yz
{
position
:
relative
;
&:before
{
content
:
""
;
display
:
block
;
...
...
@@ -148,6 +184,40 @@
}
}
.flex-container
{
position
:
relative
;
display
:
-webkit-flex
;
display
:
flex
;
}
.flex-input
{
width
:
100%
;
}
.flex-line
{
position
:
absolute
;
width
:
1px
;
height
:
64%
;
margin
:
5px
;
right
:
36%
;
background-color
:
#CCCCCC
;
}
.flex-img
{
position
:
absolute
;
margin
:
2px
;
right
:
16%
;
}
.flex-renovate
{
position
:
absolute
;
margin
:
1px
;
right
:
3%
;
}
#renovate
{
color
:
#3F8FEA
;
font-size
:
16px
;
font-weight
:
700
;
cursor
:
pointer
;
}
.username
::before
{
background-image
:
url(../../image/userlogo.png)
;
}
...
...
Please
register
or
sign in
to post a comment