Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
front-backend
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
framework
front-backend
Commits
963e854c
Commit
963e854c
authored
Jun 10, 2019
by
zhengjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
登录加入验证码
parent
66bec88a
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
8 deletions
+48
-8
src/api/login.js
+11
-2
src/store/modules/user.js
+3
-1
src/views/login/index.vue
+34
-5
No files found.
src/api/login.js
View file @
963e854c
import
request
from
'@/utils/request'
export
function
login
(
username
,
password
)
{
export
function
login
(
username
,
password
,
code
,
uuid
)
{
return
request
({
url
:
'auth/login'
,
method
:
'post'
,
data
:
{
username
,
password
password
,
code
,
uuid
}
})
}
...
...
@@ -17,3 +19,10 @@ export function getInfo() {
method
:
'get'
})
}
export
function
getCodeImg
()
{
return
request
({
url
:
'auth/vCode'
,
method
:
'get'
})
}
src/store/modules/user.js
View file @
963e854c
...
...
@@ -30,9 +30,11 @@ const user = {
Login
({
commit
},
userInfo
)
{
const
username
=
userInfo
.
username
const
password
=
userInfo
.
password
const
code
=
userInfo
.
code
const
uuid
=
userInfo
.
uuid
const
rememberMe
=
userInfo
.
rememberMe
return
new
Promise
((
resolve
,
reject
)
=>
{
login
(
username
,
password
).
then
(
res
=>
{
login
(
username
,
password
,
code
,
uuid
).
then
(
res
=>
{
setToken
(
res
.
token
,
rememberMe
)
commit
(
'SET_TOKEN'
,
res
.
token
)
setUserInfo
(
res
.
user
,
commit
)
...
...
src/views/login/index.vue
View file @
963e854c
...
...
@@ -12,6 +12,12 @@
<svg-icon
slot=
"prefix"
icon-class=
"password"
class=
"el-input__icon"
style=
"height: 39px;width: 13px;margin-left: 2px;"
/>
</el-input>
</el-form-item>
<el-form-item
prop=
"code"
>
<el-input
v-model=
"loginForm.code"
auto-complete=
"off"
placeholder=
"验证码"
style=
"width: 60%"
@
keyup
.
enter
.
native=
"handleLogin"
/>
<div
class=
"login-code"
>
<img
:src=
"codeUrl"
@
click=
"getCode"
>
</div>
</el-form-item>
<el-checkbox
v-model=
"loginForm.rememberMe"
style=
"margin:0px 0px 25px 0px;"
>
记住密码
</el-checkbox>
<el-form-item
style=
"width:100%;"
>
<el-button
:loading=
"loading"
size=
"medium"
type=
"primary"
style=
"width:100%;"
@
click
.
native
.
prevent=
"handleLogin"
>
...
...
@@ -19,26 +25,30 @@
<span
v-else
>
登 录 中...
</span>
</el-button>
</el-form-item>
<p
class=
"login-tip"
>
系统默认用户名:admin,密码:123456
</p>
</el-form>
</div>
</
template
>
<
script
>
import
Config
from
'@/config'
import
{
getCodeImg
}
from
'@/api/login'
import
Cookies
from
'js-cookie'
export
default
{
name
:
'Login'
,
data
()
{
return
{
codeUrl
:
''
,
loginForm
:
{
username
:
'admin'
,
password
:
'123456'
,
rememberMe
:
false
rememberMe
:
false
,
code
:
''
,
uuid
:
''
},
loginRules
:
{
username
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
'用户名不能为空'
}],
password
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
'密码不能为空'
}]
password
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
'密码不能为空'
}],
code
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
'验证码不能为空'
}]
},
loading
:
false
,
redirect
:
undefined
...
...
@@ -53,9 +63,16 @@ export default {
}
},
created
()
{
this
.
getCode
()
this
.
getCookie
()
},
methods
:
{
getCode
()
{
getCodeImg
().
then
(
res
=>
{
this
.
codeUrl
=
'data:image/gif;base64,'
+
res
.
img
this
.
loginForm
.
uuid
=
res
.
uuid
})
},
getCookie
()
{
const
username
=
Cookies
.
get
(
'username'
)
let
password
=
Cookies
.
get
(
'password'
)
...
...
@@ -64,7 +81,8 @@ export default {
this
.
loginForm
=
{
username
:
username
===
undefined
?
this
.
loginForm
.
username
:
username
,
password
:
password
,
rememberMe
:
rememberMe
===
undefined
?
false
:
Boolean
(
rememberMe
)
rememberMe
:
rememberMe
===
undefined
?
false
:
Boolean
(
rememberMe
),
code
:
''
}
},
handleLogin
()
{
...
...
@@ -86,6 +104,7 @@ export default {
this
.
$router
.
push
({
path
:
this
.
redirect
||
'/'
})
}).
catch
(()
=>
{
this
.
loading
=
false
this
.
getCode
()
})
}
else
{
console
.
log
(
'error submit!!'
)
...
...
@@ -115,7 +134,7 @@ export default {
.login-form
{
border-radius
:
6px
;
background
:
#ffffff
;
width
:
3
65
px
;
width
:
3
80
px
;
padding
:
25px
25px
5px
25px
;
.el-input
{
height
:
38px
;
...
...
@@ -129,4 +148,14 @@ export default {
text-align
:
center
;
color
:
#bfbfbf
;
}
.login-code
{
width
:
33%
;
display
:
inline-block
;
height
:
38px
;
float
:
right
;
img{
cursor
:
pointer
;
vertical-align
:
middle
}
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment