Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
ybf
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
xulili
ybf
Commits
d1304930
Commit
d1304930
authored
Jan 14, 2020
by
xulili
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户登录
parent
ba3c096c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
40 additions
and
144 deletions
+40
-144
account.js
ybf_admin/src/store/modules/d2admin/modules/account.js
+17
-23
page.vue
ybf_admin/src/views/system/login/page.vue
+23
-121
No files found.
ybf_admin/src/store/modules/d2admin/modules/account.js
View file @
d1304930
import
{
Message
,
MessageBox
}
from
'element-ui'
import
{
Message
,
MessageBox
}
from
'element-ui'
import
util
from
'@/libs/util.js'
import
util
from
'@/libs/util.js'
import
router
from
'@/router'
import
router
from
'@/router'
import
{
AccountLogin
}
from
'@api/sys.login'
//
import { AccountLogin } from '@api/sys.login'
import
{
ApiLoginSubmit
}
from
"@api/login/main"
;
export
default
{
export
default
{
namespaced
:
true
,
namespaced
:
true
,
actions
:
{
actions
:
{
...
@@ -14,31 +14,28 @@ export default {
...
@@ -14,31 +14,28 @@ export default {
* @param {Object} payload route {Object} 登录成功后定向的路由对象 任何 vue-router 支持的格式
* @param {Object} payload route {Object} 登录成功后定向的路由对象 任何 vue-router 支持的格式
*/
*/
login
({
dispatch
},
{
login
({
dispatch
},
{
usern
ame
=
''
,
loginN
ame
=
''
,
passwor
d
=
''
loginPw
d
=
''
}
=
{})
{
}
=
{})
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
// 开始请求登录接口
// 开始请求登录接口
A
ccountLogin
({
A
piLoginSubmit
({
usern
ame
,
loginN
ame
,
passwor
d
loginPw
d
})
})
.
then
(
async
res
=>
{
.
then
(
async
res
=>
{
// 设置 cookie 一定要存 uuid 和 token 两个 cookie
// 整个系统依赖这两个数据进行校验和存储
// uuid 是用户身份唯一标识 用户注册的时候确定 并且不可改变 不可重复
// token 代表用户当前登录状态 建议在网络请求中携带 token
// token 代表用户当前登录状态 建议在网络请求中携带 token
// 如有必要 token 需要定时更新,默认保存一天
// 如有必要 token 需要定时更新,默认保存一天
util
.
cookies
.
set
(
'uuid'
,
res
.
uuid
)
if
(
res
.
result
==
'fail'
){
util
.
cookies
.
set
(
'token'
,
res
.
token
)
console
.
log
(
'err: '
,
res
.
errorMsg
)
// 设置 vuex 用户信息
reject
(
res
)
await
dispatch
(
'd2admin/user/set'
,
{
}
else
{
name
:
res
.
name
util
.
cookies
.
set
(
'token'
,
res
.
data
)
},
{
root
:
true
})
// 用户登录后从持久化数据加载一系列的设置
// 用户登录后从持久化数据加载一系列的设置
await
dispatch
(
'load'
)
await
dispatch
(
'load'
)
// 结束
// 结束
resolve
()
resolve
()
}
})
})
.
catch
(
err
=>
{
.
catch
(
err
=>
{
console
.
log
(
'err: '
,
err
)
console
.
log
(
'err: '
,
err
)
...
@@ -58,9 +55,6 @@ export default {
...
@@ -58,9 +55,6 @@ export default {
async
function
logout
()
{
async
function
logout
()
{
// 删除cookie
// 删除cookie
util
.
cookies
.
remove
(
'token'
)
util
.
cookies
.
remove
(
'token'
)
util
.
cookies
.
remove
(
'uuid'
)
// 清空 vuex 用户信息
await
dispatch
(
'd2admin/user/set'
,
{},
{
root
:
true
})
// 跳转路由
// 跳转路由
router
.
push
({
router
.
push
({
name
:
'login'
name
:
'login'
...
...
ybf_admin/src/views/system/login/page.vue
View file @
d1304930
...
@@ -7,8 +7,7 @@
...
@@ -7,8 +7,7 @@
</div>
</div>
<div
<div
class=
"page-login--layer page-login--layer-time loginbktime"
class=
"page-login--layer page-login--layer-time loginbktime"
flex=
"main:center cross:center"
flex=
"main:center cross:center"
>
style=
"border: 2px solid red;"
>
{{
time
}}
{{
time
}}
</div>
</div>
<div
class=
"page-login--layer"
>
<div
class=
"page-login--layer"
>
...
@@ -24,7 +23,9 @@
...
@@ -24,7 +23,9 @@
class=
"page-login--content-main"
class=
"page-login--content-main"
flex=
"dir:top main:center cross:center"
>
flex=
"dir:top main:center cross:center"
>
<!-- logo -->
<!-- logo -->
<img
class=
"page-login--logo"
src=
"./image/logo@2x.png"
>
<div>
<p
style=
"font-size: 30px;margin-bottom: 20px ;color: #545252"
>
亿佰分管理系统
</p>
</div>
<!-- form -->
<!-- form -->
<div
class=
"page-login--form"
>
<div
class=
"page-login--form"
>
<el-card
shadow=
"never"
>
<el-card
shadow=
"never"
>
...
@@ -50,23 +51,6 @@
...
@@ -50,23 +51,6 @@
<i
slot=
"prepend"
class=
"fa fa-keyboard-o"
></i>
<i
slot=
"prepend"
class=
"fa fa-keyboard-o"
></i>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"code"
>
<!--
<el-input
type=
"text"
v-model=
"formLogin.code"
placeholder=
"验证码"
>
<template
slot=
"append"
>
<img
class=
"login-code"
src=
"./image/login-code.png"
>
</
template
>
</el-input>
-->
</el-form-item>
<!-- <el-button
size="default"
@click="submit"
type="primary"
class="button-login">
登录
</el-button> -->
<el-button
<el-button
size=
"default"
size=
"default"
@
click=
"loginSubmit"
@
click=
"loginSubmit"
...
@@ -79,53 +63,13 @@
...
@@ -79,53 +63,13 @@
<p
<p
class=
"page-login--options"
class=
"page-login--options"
flex=
"main:justify cross:center"
>
flex=
"main:justify cross:center"
>
<!-- <span><d2-icon name="question-circle"/> 忘记密码</span> -->
<!-- <span>注册用户</span> -->
</p>
</p>
<!-- quick login -->
<!-- <el-button class="page-login--quick" size="default" type="info" @click="dialogVisible = true">
快速选择用户(测试功能)
</el-button> -->
</div>
</div>
</div>
</div>
<div
class=
"page-login--content-footer"
>
<div
class=
"page-login--content-footer"
>
<!-- <p class="page-login--content-footer-locales">
<a
v-for="language in $languages"
:key="language.value"
@click="onChangeLocale(language.value)">
{{ language.label }}
</a>
</p>
<p class="page-login--content-footer-copyright">
Copyright
<d2-icon name="copyright"/>
2018 D2 Projects 开源组织出品
<a href="https://github.com/FairyEver">
@FairyEver
</a>
</p>
<p class="page-login--content-footer-options">
<a href="#">帮助</a>
<a href="#">隐私</a>
<a href="#">条款</a>
</p> -->
</div>
</div>
</div>
</div>
</div>
</div>
<!-- <el-dialog
title="快速选择用户"
:visible.sync="dialogVisible"
width="400px">
<el-row :gutter="10" style="margin: -20px 0px -10px 0px;">
<el-col v-for="(user, index) in users" :key="index" :span="8">
<div class="page-login--quick-user" @click="handleUserBtnClick(user)">
<d2-icon name="user-circle-o"/>
<span>{{user.name}}</span>
</div>
</el-col>
</el-row>
</el-dialog> -->
</div>
</div>
</
template
>
</
template
>
...
@@ -146,28 +90,9 @@ export default {
...
@@ -146,28 +90,9 @@ export default {
time
:
dayjs
().
format
(
'HH:mm:ss'
),
time
:
dayjs
().
format
(
'HH:mm:ss'
),
// 快速选择用户
// 快速选择用户
dialogVisible
:
false
,
dialogVisible
:
false
,
users
:
[
{
name
:
'Admin'
,
username
:
'admin'
,
password
:
'admin'
},
{
name
:
'Editor'
,
username
:
'editor'
,
password
:
'editor'
},
{
name
:
'User1'
,
username
:
'user1'
,
password
:
'user1'
}
],
// 表单
formLogin
:
{
formLogin
:
{
username
:
'admin'
,
username
:
'18888888888'
,
password
:
'admin'
,
password
:
'admin123'
,
code
:
'v9am'
},
},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
...
@@ -184,13 +109,6 @@ export default {
...
@@ -184,13 +109,6 @@ export default {
message
:
'请输入密码'
,
message
:
'请输入密码'
,
trigger
:
'blur'
trigger
:
'blur'
}
}
],
code
:
[
{
required
:
true
,
message
:
'请输入验证码'
,
trigger
:
'blur'
}
]
]
}
}
}
}
...
@@ -208,51 +126,35 @@ export default {
...
@@ -208,51 +126,35 @@ export default {
'login'
'login'
]),
]),
loginSubmit
(){
// loginSubmit(){
let
postData
=
{
// let postData = {
loginName
:
this
.
formLogin
.
username
,
// loginName: this.formLogin.username,
loginPwd
:
md5
(
this
.
formLogin
.
password
),
// loginPwd: md5(this.formLogin.password),
}
// }
// ApiLoginSubmit(postData)
ApiLoginSubmit
(
postData
)
// .then(res => {
.
then
(
res
=>
{
// if(res.result === 'success'){
if
(
res
.
result
===
'success'
){
// console.log('--->login: res =', res)
console
.
log
(
'--->login: res ='
,
res
)
// this.$router.replace(this.$route.query.redirect || '/')
// }
this
.
$router
.
replace
(
this
.
$route
.
query
.
redirect
||
'/'
)
// })
// this.$router.push('/')
// },
}
})
},
refreshTime
()
{
refreshTime
()
{
this
.
time
=
dayjs
().
format
(
'HH:mm:ss'
)
this
.
time
=
dayjs
().
format
(
'HH:mm:ss'
)
},
},
/**
* @description 接收选择一个用户快速登录的事件
* @param {Object} user 用户信息
*/
handleUserBtnClick
(
user
)
{
this
.
formLogin
.
username
=
user
.
username
this
.
formLogin
.
password
=
user
.
password
this
.
submit
()
},
/**
/**
* @description 提交表单
* @description 提交表单
*/
*/
// 提交登录信息
// 提交登录信息
s
ubmit
()
{
loginS
ubmit
()
{
this
.
$refs
.
loginForm
.
validate
((
valid
)
=>
{
this
.
$refs
.
loginForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
// 登录
// 登录
// 注意 这里的演示没有传验证码
// 注意 这里的演示没有传验证码
// 具体需要传递的数据请自行修改代码
// 具体需要传递的数据请自行修改代码
this
.
login
({
this
.
login
({
usern
ame
:
this
.
formLogin
.
username
,
loginN
ame
:
this
.
formLogin
.
username
,
password
:
this
.
formLogin
.
password
loginPwd
:
md5
(
this
.
formLogin
.
password
)
})
})
.
then
(()
=>
{
.
then
(()
=>
{
// 重定向对象不存在则返回顶层路径
// 重定向对象不存在则返回顶层路径
...
@@ -518,6 +420,6 @@ export default {
...
@@ -518,6 +420,6 @@ export default {
<
style
scoped
>
<
style
scoped
>
.loginbktime
{
.loginbktime
{
border
:
2px
solid
red
;
/*border: 2px solid red;*/
}
}
</
style
>
</
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