Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
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
5 years ago
by
xulili
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户登录
parent
ba3c096c
master
No related merge requests found
Show 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'
...
...
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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