Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gdtel-gztel-school-center-ui
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
吴学德
gdtel-gztel-school-center-ui
Commits
44df5aa5
Commit
44df5aa5
authored
Mar 30, 2020
by
黄森林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户修改密码,登录增加短信验证功能
parent
4ce694d2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
80 additions
and
69 deletions
+80
-69
src/api/system.js
+4
-4
src/config/router.config.js
+7
-1
src/views/system/systemUser.vue
+30
-13
src/views/user/Login.vue
+39
-51
src/views/user/register.vue
+0
-0
No files found.
src/api/system.js
View file @
44df5aa5
...
@@ -2,11 +2,11 @@
...
@@ -2,11 +2,11 @@
* 系统管理的api管理
* 系统管理的api管理
*/
*/
import
{
getAction
,
postAction
,
postFormAction
}
from
'@/api/manage'
import
{
getAction
,
postAction
,
postFormAction
}
from
'@/api/manage'
let
prefix
=
'auth/ciop
/
'
let
prefix
=
'auth/ciop'
//忘记密码
//忘记密码
let
register
=
(
params
)
=>
postAction
(
prefix
+
"forgerpw/changePwd"
,
params
);
let
register
=
(
params
)
=>
postAction
(
prefix
+
"
/
forgerpw/changePwd"
,
params
);
let
registercode
=
(
params
)
=>
postAction
(
prefix
+
"forgerpw/verificationCode"
,
params
);
let
registercode
=
(
params
)
=>
postAction
(
prefix
+
"
/
forgerpw/verificationCode"
,
params
);
// 用户管理
// 用户管理
let
getList
=
(
params
)
=>
getAction
(
prefix
+
"/dept/tree"
,
params
);
let
getList
=
(
params
)
=>
getAction
(
prefix
+
"/dept/tree"
,
params
);
let
tabList
=
(
params
)
=>
getAction
(
prefix
+
"/mgr/list"
,
params
);
let
tabList
=
(
params
)
=>
getAction
(
prefix
+
"/mgr/list"
,
params
);
...
@@ -19,7 +19,7 @@ let roleTreeList = (params) => postAction(prefix+"/role/roleTreeListByUserId", p
...
@@ -19,7 +19,7 @@ let roleTreeList = (params) => postAction(prefix+"/role/roleTreeListByUserId", p
let
roleTreeList2
=
(
params
)
=>
postAction
(
prefix
+
"/role/roleTreeListByUserId/"
+
params
[
"id"
],
{});
let
roleTreeList2
=
(
params
)
=>
postAction
(
prefix
+
"/role/roleTreeListByUserId/"
+
params
[
"id"
],
{});
let
userFreeze
=
(
params
)
=>
postAction
(
prefix
+
"/mgr/freeze"
,
params
);
let
userFreeze
=
(
params
)
=>
postAction
(
prefix
+
"/mgr/freeze"
,
params
);
let
userUnFreeze
=
(
params
)
=>
postAction
(
prefix
+
"/mgr/unfreeze"
,
params
);
let
userUnFreeze
=
(
params
)
=>
postAction
(
prefix
+
"/mgr/unfreeze"
,
params
);
let
changeOtherPwd
=
(
params
)
=>
postAction
(
prefix
+
"/
mgr/changeOtherPwd"
,
params
);
//超级用户
修改密码
let
changeOtherPwd
=
(
params
)
=>
postAction
(
prefix
+
"/
forgerpw/changeOtherPwd"
,
params
);
//
修改密码
//部门管理
//部门管理
const
departmentList
=
(
params
)
=>
getAction
(
prefix
+
"/dept/departmentList"
,
params
);
const
departmentList
=
(
params
)
=>
getAction
(
prefix
+
"/dept/departmentList"
,
params
);
let
deptAdd
=
(
params
)
=>
postAction
(
prefix
+
"/dept/add"
,
params
);
let
deptAdd
=
(
params
)
=>
postAction
(
prefix
+
"/dept/add"
,
params
);
...
...
src/config/router.config.js
View file @
44df5aa5
...
@@ -14,7 +14,13 @@ export const asyncRouterMap = [{
...
@@ -14,7 +14,13 @@ export const asyncRouterMap = [{
path
:
'login'
,
path
:
'login'
,
name
:
'login'
,
name
:
'login'
,
component
:
()
=>
import
(
/* webpackChunkName: "user" */
'@/views/user/Login'
)
component
:
()
=>
import
(
/* webpackChunkName: "user" */
'@/views/user/Login'
)
},
}
,
{
path
:
'register'
,
name
:
'register'
,
component
:
()
=>
import
(
/* webpackChunkName: "user" */
'@/views/user/register'
)
},
{
{
path
:
'ueditor2'
,
path
:
'ueditor2'
,
name
:
'ueditor2'
,
name
:
'ueditor2'
,
...
...
src/views/system/systemUser.vue
View file @
44df5aa5
...
@@ -90,8 +90,13 @@
...
@@ -90,8 +90,13 @@
</s-table>
</s-table>
<!-- 修改密码 -->
<!-- 修改密码 -->
<a-modal
title=
"密码修改"
v-model=
"editpaswordmodel"
@
ok=
"editPassword"
@
cancel=
"editPasswordcancel"
>
<a-modal
title=
"密码修改"
v-model=
"editpaswordmodel"
@
ok=
"editPassword"
@
cancel=
"editPasswordcancel"
>
<a-form
:form=
"EditPassFrom"
>
<a-form
:form=
"EditPassFrom"
>
<a-form-item
label=
"新密码"
>
<a-form-item
label=
"原密码"
v-if=
"hasOperationPermission(['超级管理员'])"
>
<a-input
placeholder=
"原密码"
type=
"password"
v-model=
"editpasswordfrom.oldPwd"
></a-input>
</a-form-item>
<a-form-item
label=
"新密码"
>
<a-input
placeholder=
"新密码"
v-decorator=
"['editpassword',{rules: [{ required: true, message: '新密码不能为空!' }]}]"
type=
"password"
></a-input>
<a-input
placeholder=
"新密码"
v-decorator=
"['editpassword',{rules: [{ required: true, message: '新密码不能为空!' }]}]"
type=
"password"
></a-input>
</a-form-item>
</a-form-item>
<a-form-item
label=
"确认密码"
>
<a-form-item
label=
"确认密码"
>
...
@@ -252,6 +257,7 @@ export default {
...
@@ -252,6 +257,7 @@ export default {
//修改密码窗口
//修改密码窗口
editpaswordmodel
:
false
,
editpaswordmodel
:
false
,
editpasswordfrom
:{
editpasswordfrom
:{
oldPwd
:
''
,
newPwd
:
""
,
newPwd
:
""
,
rePwd
:
""
,
rePwd
:
""
,
changeId
:
""
,
changeId
:
""
,
...
@@ -356,26 +362,29 @@ export default {
...
@@ -356,26 +362,29 @@ export default {
},
},
//提交密码修改
//提交密码修改
editPassword
()
{
editPassword
()
{
if
(
this
.
hasOperationPermission
([
'超级管理员'
])){
if
(
this
.
editpasswordfrom
.
oldPwd
==
''
||
this
.
editpasswordfrom
.
oldPwd
==
undefined
){
this
.
$message
.
error
(
"请输入原密码!"
,
5
);
}
}
this
.
EditPassFrom
.
validateFields
(
err
=>
{
this
.
EditPassFrom
.
validateFields
(
err
=>
{
if
(
!
err
)
{
if
(
!
err
)
{
this
.
editpasswordfrom
.
newPwd
=
encodeURIComponent
(
this
.
getPass
(
this
.
EditPassFrom
.
getFieldValue
(
'editpassword'
)))
this
.
editpasswordfrom
.
newPwd
=
encodeURIComponent
(
this
.
getPass
(
this
.
EditPassFrom
.
getFieldValue
(
'editpassword'
)))
this
.
editpasswordfrom
.
oldPwd
=
encodeURIComponent
(
this
.
getPass
(
this
.
editpasswordfrom
.
oldPwd
))
this
.
editpasswordfrom
.
rePwd
=
this
.
editpasswordfrom
.
newPwd
this
.
editpasswordfrom
.
rePwd
=
this
.
editpasswordfrom
.
newPwd
changeOtherPwd
(
this
.
editpasswordfrom
).
then
(
res
=>
{
changeOtherPwd
(
this
.
editpasswordfrom
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
state
==
'success'
)
{
this
.
editpasswordfrom
.
oldPwd
=
''
this
.
editpasswordfrom
.
editrepassword
=
''
this
.
editpasswordfrom
.
editpassword
=
''
this
.
EditPassFrom
.
setFieldsValue
({
editpassword
:
""
});
this
.
EditPassFrom
.
setFieldsValue
({
editpassword
:
""
});
this
.
EditPassFrom
.
setFieldsValue
({
editrepassword
:
""
});
this
.
EditPassFrom
.
setFieldsValue
({
editrepassword
:
""
});
if
(
res
.
message
==
undefined
){
this
.
$message
.
success
(
res
.
data
!=
""
?
res
.
data
:
"修改成功"
,
5
);
this
.
$message
.
success
(
res
.
data
!=
""
?
res
.
data
:
"修改成功"
,
5
);
}
else
{
this
.
$message
.
success
(
res
.
message
!=
""
?
res
.
message
:
"修改成功"
,
5
);
}
}
else
{
}
else
{
if
(
res
.
message
==
undefined
){
this
.
editpasswordfrom
.
oldPwd
=
''
this
.
$message
.
error
(
res
.
data
!=
""
?
res
.
data
:
"失败修改"
,
5
);
this
.
editpasswordfrom
.
editrepassword
=
''
}
else
{
this
.
editpasswordfrom
.
editpassword
=
''
this
.
$message
.
error
(
res
.
message
!=
""
?
res
.
message
:
"失败修改"
,
5
);
this
.
$message
.
error
(
res
.
msg
!=
""
?
res
.
msg
:
"修改失败"
,
5
);
}
}
}
this
.
editpaswordmodel
=
false
this
.
editpaswordmodel
=
false
})
})
...
@@ -577,6 +586,14 @@ export default {
...
@@ -577,6 +586,14 @@ export default {
that
.
$refs
.
table
.
refresh
({
search
:
true
})
that
.
$refs
.
table
.
refresh
({
search
:
true
})
})
})
},
},
hasOperationPermission
(
marks
=
[])
{
for
(
const
index
in
marks
)
{
if
(
this
.
$store
.
state
.
user
.
info
.
role
.
indexOf
(
marks
[
index
])
>
-
1
)
{
return
false
;
}
}
return
true
;
},
updatePassword
(
userid
){
updatePassword
(
userid
){
this
.
editpaswordmodel
=
true
this
.
editpaswordmodel
=
true
this
.
editpasswordfrom
.
changeId
=
userid
;
this
.
editpasswordfrom
.
changeId
=
userid
;
...
...
src/views/user/Login.vue
View file @
44df5aa5
...
@@ -39,6 +39,31 @@
...
@@ -39,6 +39,31 @@
</a-col>
</a-col>
</a-row>
</a-row>
<a-row
:gutter=
"0"
>
<a-col
:span=
"14"
>
<a-form-item>
<a-input
:disabled=
"!loginBtn"
v-decorator=
"['phonecode',validatorRules.phoneCode]"
size=
"large"
type=
"text"
placeholder=
"请输入手机验证码"
>
<a-icon
slot=
"prefix"
type=
"message"
:style=
"
{ color: 'rgba(0,0,0,.25)' }"/>
</a-input>
</a-form-item>
</a-col>
<a-col
:span=
"10"
>
<a-button
size=
"small"
type=
"primary"
htmlType=
"submit"
class=
"code-button"
@
click
.
stop
.
prevent=
"getCode"
:disabled=
"!loginBtn"
>
{{
codeMsg
}}
</a-button>
<!--
<j-graphic-code
@
success=
"generateCode"
style=
"float: right"
></j-graphic-code>
-->
</a-col>
</a-row>
<a-form-item>
<a-form-item>
<a-input
<a-input
:disabled=
"!loginBtn"
:disabled=
"!loginBtn"
...
@@ -50,7 +75,7 @@
...
@@ -50,7 +75,7 @@
<a-icon
slot=
"prefix"
type=
"lock"
:style=
"
{ color: 'rgba(0,0,0,.25)' }"/>
<a-icon
slot=
"prefix"
type=
"lock"
:style=
"
{ color: 'rgba(0,0,0,.25)' }"/>
</a-input>
</a-input>
</a-form-item>
</a-form-item>
<!--
<div
class=
"register"
>
忘记密码?
<router-link
:to=
"
{path: '/user/register'}">找回密码
</router-link></div>
--
>
<div
class=
"register"
>
忘记密码?
<router-link
:to=
"
{path: '/user/register'}">找回密码
</router-link></div
>
<a-form-item
style=
"margin-top:24vw/@vw"
>
<a-form-item
style=
"margin-top:24vw/@vw"
>
<a-button
<a-button
...
@@ -125,7 +150,6 @@ export default {
...
@@ -125,7 +150,6 @@ export default {
created
()
{
created
()
{
Vue
.
ls
.
remove
(
ACCESS_TOKEN
)
Vue
.
ls
.
remove
(
ACCESS_TOKEN
)
this
.
getRouterData
();
this
.
getRouterData
();
this
.
browserTips
();
},
},
methods
:
{
methods
:
{
...
mapActions
([
"Login"
,
"Logout"
]),
...
mapActions
([
"Login"
,
"Logout"
]),
...
@@ -150,6 +174,17 @@ export default {
...
@@ -150,6 +174,17 @@ export default {
let
data
=
{
let
data
=
{
username
:
username
,
username
:
username
,
}
}
getPhoneCode
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$notification
.
success
({
message
:
res
.
message
?
res
.
message
:
"发送成功"
,
});
return
null
;
}
this
.
$notification
.
error
({
message
:
res
.
message
?
res
.
message
:
"发送错误"
,
});
})
//初始化倒计时
//初始化倒计时
this
.
countdown
=
60
;
this
.
countdown
=
60
;
this
.
timer
=
setInterval
(()
=>
{
this
.
timer
=
setInterval
(()
=>
{
...
@@ -174,11 +209,12 @@ export default {
...
@@ -174,11 +209,12 @@ export default {
smsCode
:
"xxxx"
smsCode
:
"xxxx"
};
};
// 使用账户密码登陆
// 使用账户密码登陆
that
.
form
.
validateFields
([
'username'
,
'password'
,
'inputCode'
],
{
force
:
true
},
(
err
,
values
)
=>
{
that
.
form
.
validateFields
([
'username'
,
'password'
,
'inputCode'
,
"phonecode"
],
{
force
:
true
},
(
err
,
values
)
=>
{
if
(
!
err
)
{
if
(
!
err
)
{
loginParams
.
username
=
values
.
username
;
loginParams
.
username
=
values
.
username
;
loginParams
.
password
=
encodeURIComponent
(
this
.
getPass
(
values
.
password
));
loginParams
.
password
=
encodeURIComponent
(
this
.
getPass
(
values
.
password
));
loginParams
.
remember
=
that
.
formLogin
.
remember
;
loginParams
.
remember
=
that
.
formLogin
.
remember
;
loginParams
.
phonecode
=
encodeURIComponent
(
this
.
getPass
(
values
.
phonecode
));
//console.log(loginParams);
//console.log(loginParams);
that
.
Login
(
loginParams
).
then
(()
=>
{
that
.
Login
(
loginParams
).
then
(()
=>
{
this
.
departConfirm
({});
this
.
departConfirm
({});
...
@@ -290,54 +326,6 @@ export default {
...
@@ -290,54 +326,6 @@ export default {
});
});
})
})
},
},
// 提示浏览器版本
browserTips
()
{
//取得浏览器的userAgent字符串
let
userAgent
=
navigator
.
userAgent
;
try
{
//判断是否IE
<
11
浏览器
let
isIE
=
userAgent
.
indexOf
(
"compatible"
)
>
-
1
&&
userAgent
.
indexOf
(
"MSIE"
)
>
-
1
;
//判断是否IE的Edge浏览器
let
isEdge
=
userAgent
.
indexOf
(
"Edge"
)
>
-
1
&&
!
isIE
;
let
isIE11
=
userAgent
.
indexOf
(
'Trident'
)
>
-
1
&&
userAgent
.
indexOf
(
"rv:11.0"
)
>
-
1
;
if
(
isIE
)
{
let
reIE
=
new
RegExp
(
"MSIE (
\\
d+
\\
.
\\
d+);"
);
reIE
.
test
(
userAgent
);
let
fIEVersion
=
parseFloat
(
RegExp
[
"$1"
]);
if
(
fIEVersion
==
7
)
{
this
.
$notification
.
error
({
message
:
"系统不兼容 IE 7 浏览器,推荐使用Chrome。请到https://www.google.cn/chrome 下载。如果使用双核浏览器请切换极速模式!"
});
}
else
if
(
fIEVersion
==
8
)
{
this
.
$notification
.
error
({
message
:
"系统不兼容 IE 8 浏览器,推荐使用Chrome。请到https://www.google.cn/chrome 下载。如果使用双核浏览器请切换极速模式!"
});
}
else
if
(
fIEVersion
==
9
)
{
this
.
$notification
.
error
({
message
:
"系统不兼容 IE 9 浏览器,推荐使用Chrome。请到https://www.google.cn/chrome 下载。如果使用双核浏览器请切换极速模式!"
});
}
else
if
(
fIEVersion
==
10
)
{
this
.
$notification
.
error
({
message
:
"系统不兼容 IE 10 浏览器,推荐使用Chrome。请到https://www.google.cn/chrome 下载。如果使用双核浏览器请切换极速模式!"
});
}
else
{
this
.
$notification
.
error
({
message
:
"系统不兼容 IE 6及其以下版本浏览器,推荐使用Chrome。请到https://www.google.cn/chrome 下载。如果使用双核浏览器请切换极速模式!"
});
}
}
else
if
(
isEdge
)
{
this
.
$notification
.
error
({
message
:
"系统不兼容 IE Edge 浏览器,推荐使用Chrome。请到https://www.google.cn/chrome 下载。如果使用双核浏览器请切换极速模式!"
});
}
else
if
(
isIE11
)
{
this
.
$notification
.
error
({
message
:
"系统不兼容 IE 11 浏览器,推荐使用Chrome。请到https://www.google.cn/chrome 下载。如果使用双核浏览器请切换极速模式!"
});
}
}
finally
{
console
.
log
(
userAgent
);
}
}
}
}
}
}
</
script
>
</
script
>
...
...
src/views/user/register.vue
0 → 100644
View file @
44df5aa5
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