Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
W
web-monitor
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
web-monitor
Commits
25a4be5a
Commit
25a4be5a
authored
Aug 30, 2017
by
Pan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
user username to login
parent
b44c7384
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
92 additions
and
78 deletions
+92
-78
login.js
src/api/login.js
+2
-2
user.js
src/store/modules/user.js
+2
-2
validate.js
src/utils/validate.js
+3
-4
index.vue
src/views/login/index.vue
+85
-70
No files found.
src/api/login.js
View file @
25a4be5a
import
fetch
from
'@/utils/fetch'
export
function
login
(
email
,
password
)
{
export
function
login
(
username
,
password
)
{
return
fetch
({
url
:
'/user/login'
,
method
:
'post'
,
data
:
{
email
,
username
,
password
}
})
...
...
src/store/modules/user.js
View file @
25a4be5a
...
...
@@ -27,9 +27,9 @@ const user = {
actions
:
{
// 登录
Login
({
commit
},
userInfo
)
{
const
email
=
userInfo
.
email
.
trim
()
const
username
=
userInfo
.
username
.
trim
()
return
new
Promise
((
resolve
,
reject
)
=>
{
login
(
email
,
userInfo
.
password
).
then
(
response
=>
{
login
(
username
,
userInfo
.
password
).
then
(
response
=>
{
const
data
=
response
.
data
setToken
(
data
.
token
)
commit
(
'SET_TOKEN'
,
data
.
token
)
...
...
src/utils/validate.js
View file @
25a4be5a
...
...
@@ -2,10 +2,9 @@
* Created by jiachenpan on 16/11/18.
*/
/* 是否是公司邮箱*/
export
function
isWscnEmail
(
str
)
{
const
reg
=
/^
[
a-z0-9
](?:[
-_.+
]?[
a-z0-9
]
+
)
*@wallstreetcn
\.
com$/i
return
reg
.
test
(
str
.
trim
())
export
function
isvalidUsername
(
str
)
{
const
valid_map
=
[
'admin'
,
'editor'
]
return
valid_map
.
indexOf
(
str
.
trim
())
>=
0
}
/* 合法uri*/
...
...
src/views/login/index.vue
View file @
25a4be5a
...
...
@@ -3,11 +3,11 @@
<el-form
autoComplete=
"on"
:model=
"loginForm"
:rules=
"loginRules"
ref=
"loginForm"
label-position=
"left"
label-width=
"0px"
class=
"card-box login-form"
>
<h3
class=
"title"
>
系统登录
</h3>
<el-form-item
prop=
"email
"
>
<span
class=
"svg-container"
>
<icon-svg
icon-class=
"
email"
></icon-svg
>
<el-form-item
prop=
"username
"
>
<span
class=
"svg-container
svg-container_login
"
>
<icon-svg
icon-class=
"
yonghuming"
/
>
</span>
<el-input
name=
"
email"
type=
"text"
v-model=
"loginForm.email"
autoComplete=
"on"
placeholder=
"邮箱"
></el-input
>
<el-input
name=
"
username"
type=
"text"
v-model=
"loginForm.username"
autoComplete=
"on"
placeholder=
"邮箱"
/
>
</el-form-item>
<el-form-item
prop=
"password"
>
<span
class=
"svg-container"
>
...
...
@@ -21,21 +21,21 @@
登录
</el-button>
</el-form-item>
<div
class=
'tips'
>
admin账号为:admin@wallstreetcn.com
密码随便填
</div>
<div
class=
'tips'
>
editor账号:editor@wallstreetcn.com
密码随便填
</div>
<div
class=
'tips'
>
账号:admin
密码随便填
</div>
<div
class=
'tips'
>
账号:editor
密码随便填
</div>
</el-form>
</div>
</
template
>
<
script
>
import
{
is
WscnEmail
}
from
'@/utils/validate'
import
{
is
validUsername
}
from
'@/utils/validate'
export
default
{
name
:
'login'
,
data
()
{
const
validate
Email
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
is
WscnEmail
(
value
))
{
callback
(
new
Error
(
'请输入正确的
合法邮箱
'
))
const
validate
Username
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
is
validUsername
(
value
))
{
callback
(
new
Error
(
'请输入正确的
用户名
'
))
}
else
{
callback
()
}
...
...
@@ -49,16 +49,12 @@ export default {
}
return
{
loginForm
:
{
email
:
'admin@wallstreetcn.com
'
,
username
:
'admin
'
,
password
:
'111111'
},
loginRules
:
{
email
:
[
{
required
:
true
,
trigger
:
'blur'
,
validator
:
validateEmail
}
],
password
:
[
{
required
:
true
,
trigger
:
'blur'
,
validator
:
validatePass
}
]
username
:
[{
required
:
true
,
trigger
:
'blur'
,
validator
:
validateUsername
}],
password
:
[{
required
:
true
,
trigger
:
'blur'
,
validator
:
validatePass
}]
},
loading
:
false
}
...
...
@@ -85,63 +81,82 @@ export default {
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
>
@import
"src/styles/mixin.scss"
;
@import
"src/styles/mixin.scss"
;
$bg
:
#2d3a4b
;
$dark_gray
:
#889aa4
;
$light_gray
:
#eee
;
.login-container
{
@include
relative
;
height
:
100vh
;
background-color
:
$bg
;
input
:
-
webkit-autofill
{
-webkit-box-shadow
:
0
0
0px
1000px
#293444
inset
!
important
;
-webkit-text-fill-color
:
#fff
!
important
;
}
input
{
background
:
transparent
;
border
:
0px
;
-webkit-appearance
:
none
;
border-radius
:
0px
;
padding
:
12px
5px
12px
15px
;
color
:
$light_gray
;
height
:
47px
;
}
.el-input
{
display
:
inline-block
;
height
:
47px
;
width
:
85%
;
}
.tips
{
font-size
:
14px
;
color
:
#fff
;
margin-bottom
:
5
px
;
margin-bottom
:
10
px
;
}
.login-container
{
@include
relative
;
height
:
100vh
;
background-color
:
#2d3a4b
;
input
:
-
webkit-autofill
{
-webkit-box-shadow
:
0
0
0px
1000px
#293444
inset
!
important
;
-webkit-text-fill-color
:
#fff
!
important
;
}
input
{
background
:
transparent
;
border
:
0px
;
-webkit-appearance
:
none
;
border-radius
:
0px
;
padding
:
12px
5px
12px
15px
;
color
:
#eeeeee
;
height
:
47px
;
}
.el-input
{
display
:
inline-block
;
height
:
47px
;
width
:
85%
;
}
.svg-container
{
padding
:
6px
5px
6px
15px
;
color
:
#889aa4
;
}
.title
{
font-size
:
26px
;
font-weight
:
400
;
color
:
#eeeeee
;
margin
:
0px
auto
40px
auto
;
text-align
:
center
;
font-weight
:
bold
;
}
.login-form
{
position
:
absolute
;
left
:
0
;
right
:
0
;
width
:
400px
;
padding
:
35px
35px
15px
35px
;
margin
:
120px
auto
;
}
.el-form-item
{
border
:
1px
solid
rgba
(
255
,
255
,
255
,
0
.1
);
background
:
rgba
(
0
,
0
,
0
,
0
.1
);
border-radius
:
5px
;
color
:
#454545
;
}
.forget-pwd
{
color
:
#fff
;
.svg-container
{
padding
:
6px
5px
6px
15px
;
color
:
$dark_gray
;
vertical-align
:
middle
;
width
:
30px
;
display
:
inline-block
;
&
_login
{
font-size
:
20px
;
}
}
.title
{
font-size
:
26px
;
font-weight
:
400
;
color
:
$light_gray
;
margin
:
0px
auto
40px
auto
;
text-align
:
center
;
font-weight
:
bold
;
}
.login-form
{
position
:
absolute
;
left
:
0
;
right
:
0
;
width
:
400px
;
padding
:
35px
35px
15px
35px
;
margin
:
120px
auto
;
}
.el-form-item
{
border
:
1px
solid
rgba
(
255
,
255
,
255
,
0
.1
);
background
:
rgba
(
0
,
0
,
0
,
0
.1
);
border-radius
:
5px
;
color
:
#454545
;
}
.show-pwd
{
position
:
absolute
;
right
:
10px
;
top
:
7px
;
font-size
:
16px
;
color
:
$dark_gray
;
cursor
:
pointer
;
}
.thirdparty-button
{
position
:
absolute
;
right
:
35px
;
bottom
:
28px
;
}
}
</
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