Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sup-server
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
sup-server
Commits
68a10ac9
Commit
68a10ac9
authored
Nov 11, 2022
by
tyn
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://47.105.106.177:66/root/sup-server
parents
9f4ff485
bc3be17e
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
653 additions
and
525 deletions
+653
-525
login.vue
dsk-srm-server/src/login.vue
+646
-524
UserController.java
...java/com/supServer/project/controller/UserController.java
+6
-0
UserInfoServiceImpl.java
...m/supServer/project/service/impl/UserInfoServiceImpl.java
+1
-1
No files found.
dsk-srm-server/src/login.vue
View file @
68a10ac9
...
...
@@ -17,33 +17,34 @@
<div
class=
"title"
:class=
"
{'on': type=='yzm'}" @click="type='yzm'">验证码登录
</div>
<div
class=
"title"
:class=
"
{'on': type=='mima'}" @click="type='mima'">密码登录
</div>
</div>
<!--密码登录 -->
<div
class=
"logoncont"
v-if=
"type=='mima'"
>
<div
class=
"inputs"
>
<el-input
placeholder=
"请输入
企业名称
"
></el-input>
<el-input
placeholder=
"请输入
账号"
v-model=
"mimaparam.username
"
></el-input>
</div>
<div
class=
"inputs"
>
<el-input
placeholder=
"请输入登录密码"
></el-input>
<el-input
placeholder=
"请输入登录密码"
v-model=
"mimaparam.password"
></el-input>
</div>
<div
class=
"inputs"
>
<el-input
width=
"191px"
class=
"small"
placeholder=
"请输入验证码"
></el-input>
<el-input
width=
"191px"
class=
"small"
placeholder=
"请输入验证码"
v-model=
"mimaparam.code"
></el-input>
<div
class=
"login-code"
>
<img
:src=
"codeUrl"
@
click=
"getCode"
class=
"login-code-img"
/>
</div>
</div>
<div
class=
"loginin"
@
click=
"login"
>
登录
</div>
<div
class=
"loginzc"
>
<p
@
click=
"
type='wjmm'
"
>
忘记密码
</p>
<p
@
click=
"
wjmm
"
>
忘记密码
</p>
<p>
没加入我们?现在就
<span
@
click=
"dialogVisible = true"
>
注册
</span></p>
</div>
</div>
<!-- 验证码登录-->
<div
class=
"logoncont"
v-if=
"type=='yzm'"
>
<div
class=
"inputs"
>
<el-input
placeholder=
"请输入手机号"
oninput=
"value=value.replace(/[^0-9]/g,'')"
></el-input>
<el-input
placeholder=
"请输入手机号"
v-model=
"yzmparam.phone"
oninput=
"value=value.replace(/[^0-9]/g,'')"
></el-input>
</div>
<div
class=
"inputs"
>
<el-input
placeholder=
"短信验证码"
class=
"hqyzm"
>
<template
slot=
"append"
>
获取验证码
</
template
>
<el-input
placeholder=
"短信验证码"
v-model=
"yzmparam.smsCode"
class=
"hqyzm"
>
<template
slot=
"append"
><span
@
click=
"getSmsCode(1)"
>
{{
timer
}}
</span></
template
>
</el-input>
</div>
<div
class=
"loginin"
@
click=
"yzmlogin"
>
登录
</div>
...
...
@@ -51,32 +52,34 @@
<p>
没加入我们?现在就
<span
@
click=
"dialogVisible = true"
>
注册
</span></p>
</div>
</div>
<!-- 忘记密码-->
<div
class=
"logoncont"
v-if=
"type=='wjmm'"
>
<div
class=
"inputs"
>
<el-input
placeholder=
"请输入手机号"
oninput=
"value=value.replace(/[^0-9]/g,'')"
></el-input>
<el-input
placeholder=
"请输入手机号"
v-model=
"resetparam.phone"
oninput=
"value=value.replace(/[^0-9]/g,'')"
></el-input>
</div>
<div
class=
"inputs"
>
<el-input
placeholder=
"短信验证码"
class=
"hqyzm"
>
<
template
slot=
"append"
>
获取验证码
</
template
>
<el-input
placeholder=
"短信验证码"
v-model=
"resetparam.smsCode"
class=
"hqyzm"
>
<
template
slot=
"append"
>
<span
@
click=
"getSmsCode(1)"
>
{{
timer
}}
</span>
</
template
>
</el-input>
</div>
<div
class=
"inputs"
>
<el-input
class=
"small"
placeholder=
"请输入验证码"
></el-input>
<el-input
class=
"small"
v-model=
"resetparam.code"
placeholder=
"请输入验证码"
></el-input>
<div
class=
"login-code"
>
<img
:src=
"codeUrl"
@
click=
"getCode"
class=
"login-code-img"
/>
</div>
</div>
<div
class=
"loginin"
@
click=
"
type='tjmm'
"
>
下一步
</div>
<div
class=
"loginin"
@
click=
"
yzSmscode
"
>
下一步
</div>
<div
class=
"loginzc"
style=
"justify-content: center"
>
<p><span
@
click=
"type='mima'"
>
返回登录
</span></p>
</div>
</div>
<!-- 提交重置的密码-->
<div
class=
"logoncont"
v-if=
"type=='tjmm'"
>
<div
class=
"inputs"
>
<el-input
placeholder=
"请输入密码"
></el-input>
<el-input
v-model=
"resetparam.passWord"
placeholder=
"请输入密码"
></el-input>
</div>
<div
class=
"inputs"
>
<el-input
placeholder=
"请再次输入密码"
></el-input>
<el-input
v-model=
"resetparam.passWord1"
placeholder=
"请再次输入密码"
></el-input>
</div>
<div
class=
"loginin"
@
click=
"resetpwd"
>
提交
</div>
<div
class=
"loginzc"
style=
"justify-content: center"
>
...
...
@@ -327,13 +330,14 @@
</template>
<
script
>
import
footers
from
'@/components/foots'
import
footers
from
'@/components/foots'
export
default
{
export
default
{
components
:
{
footers
},
data
()
{
return
{
codeUrl
:
''
,
//图形验证码
uuid
:
''
,
//图形验证码唯一凭证
dialogVisible
:
false
,
agreeRegister
:
false
,
registerType
:
2
,
...
...
@@ -383,31 +387,31 @@
{
required
:
true
,
message
:
'请输入企业简介'
,
trigger
:
'change'
}
],
},
type
:
"yz
m"
,
//登录方式 密码:mima 验证码:yzm 忘记密码:wjmm 提交密码:tjmm
type
:
"tjm
m"
,
//登录方式 密码:mima 验证码:yzm 忘记密码:wjmm 提交密码:tjmm
yzmparam
:{
phone
:
''
,
c
ode
:
''
smsC
ode
:
''
}
,
mimaparam
:{
name
:
''
,
pwd
:
''
,
code
:
''
},
wjparam
:{
name
:
''
,
pwd
:
''
,
username
:
''
,
password
:
''
,
code
:
''
,
code1
:
''
uuid
:
''
},
resetparam
:{
pwd
:
''
,
}
phone
:
''
,
passWord
:
''
,
passWord1
:
''
,
code
:
''
,
smsCode
:
''
},
timer
:
'获取验证码'
,
//倒计时
};
},
computed
:
{
},
mounted
()
{
//
this.getCode()
this
.
getCode
()
},
watch
:{
type
(
val
){
...
...
@@ -419,17 +423,135 @@
cleardata
(){
},
//登录
login
(){},
//验证码登录
yzmlogin
(){},
//登录 /login
login
(){
this
.
mimaparam
.
uuid
=
this
.
uuid
if
(
!
(
this
.
mimaparam
.
username
||
this
.
mimaparam
.
code
||
this
.
mimaparam
.
code
)){
this
.
$message
.
error
(
'账号、密码、验证码不能为空!'
);
return
false
;
}
login
(
this
.
mimaparam
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
toList
()
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
},
//验证码登录 /smsLogin
yzmlogin
(){
if
(
!
(
this
.
yzmparam
.
phone
||
this
.
yzmparam
.
smsCode
)){
this
.
$message
.
error
(
'账号、验证码不能为空!'
);
return
false
;
}
smsLogin
(
this
.
yzmparam
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
toList
()
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
},
//验证短信验证码、图形验证码
yzSmscode
(){
let
param
=
{
phone
:
this
.
resetparam
.
phone
,
code
:
this
.
resetparam
.
smsCode
}
//校验短信验证码 /sms/validateSmsCode
validateSmsCode
(
param
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
let
params
=
{
uuid
:
this
.
uuid
,
code
:
this
.
resetparam
.
code
}
//校验图形验证码 /validateCaptcha
validateCaptcha
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
type
=
'tjmm'
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
},
//重置密码
resetpwd
(){},
//获取验证码
resetpwd
(){
let
pwd
=
this
.
resetparam
.
passWord
let
pwd1
=
this
.
resetparam
.
passWord1
if
(
pwd
!=
pwd1
){
this
.
$message
.
error
(
'两次输入密码不一致'
);
}
else
{
//重置 /forgotPassword
let
param
=
{
phone
:
this
.
resetparam
.
phone
,
passWord
:
this
.
resetparam
.
passWord
}
forgotPassword
(
param
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
type
=
'mima'
this
.
getCode
()
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
}
},
//获取验图形证码
getCode
(){
this
.
getYZMimage
().
then
(
res
=>
{
this
.
codeUrl
=
res
.
data
.
imag
this
.
uuid
=
res
.
data
.
uuid
})
},
//获取手机验证码
getSmsCode
(
type
){
if
(
type
==
1
){
//短信登录
if
(
this
.
yzmparam
.
phone
)
this
.
yzPohne
(
this
.
yzmparam
.
phone
)
else
this
.
$message
({
message
:
'请输入手机号!'
,
type
:
'warning'
});
}
},
// 验证手机号发送验证码 /sms/sendRegisterCode
yzPohne
(
phone
){
var
param
=
{
phone
:
phone
,
type
:
1
//0:注册,1:短信登录/忘记密码
}
//验证账户发送短信 /checkUser
checkUser
(
param
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
getTimer
()
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
},
getTimer
(){
//倒计时
let
num
=
60
var
timers
=
setInterval
(()
=>
{
if
(
num
>
0
){
num
--
;
this
.
timer
=
num
+
's重新发送'
}
else
{
clearInterval
(
timers
)
this
.
timer
=
'发送验证码'
timers
=
null
}
},
1000
)
},
wjmm
(){
this
.
type
=
'wjmm'
this
.
getCode
()
},
//登录成功跳转
toList
(){
},
handleAvatarSuccess
(
res
,
file
)
{
console
.
log
(
"上传成功"
)
...
...
@@ -457,11 +579,11 @@
return
isJPG
&&
isLt2M
;
}
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.main
{
.main
{
position
:
relative
;
height
:
100%
;
width
:
100%
;
...
...
@@ -651,9 +773,9 @@
left
:
169px
;
}
}
}
/*注册样式*/
::v-deep
.el-dialog.registration
{
}
/*注册样式*/
::v-deep
.el-dialog.registration
{
height
:
calc
(
100%
-
132px
);
overflow-y
:
auto
;
overflow-x
:
hidden
;
...
...
@@ -922,8 +1044,8 @@
}
}
}
}
::v-deep
.el-dialog.registration-policy
{
}
::v-deep
.el-dialog.registration-policy
{
.el-dialog__body
{
height
:
567px
;
overflow-y
:
auto
;
...
...
@@ -939,5 +1061,5 @@
padding
:
9px
20px
;
}
}
}
}
</
style
>
src/main/java/com/supServer/project/controller/UserController.java
View file @
68a10ac9
...
...
@@ -12,11 +12,13 @@ import com.supServer.framework.web.domain.AjaxResult;
import
com.supServer.project.entity.UserInfo
;
import
com.supServer.project.entity.vo.ForgotPasswordVo
;
import
com.supServer.project.entity.vo.UserResetPwdVo
;
import
com.supServer.project.mapper.UserInfoMapper
;
import
com.supServer.project.service.SmsService
;
import
com.supServer.project.service.UserInfoService
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.crypto.bcrypt.BCrypt
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
...
@@ -63,6 +65,10 @@ public class UserController {
if
(
userInfo
.
getAccountStatus
().
equals
(
"3"
)){
return
AjaxResult
.
error
(
"当前账号已注销"
);
}
String
oldPassword
=
BCrypt
.
hashpw
(
loginBody
.
getPassword
(),
userInfo
.
getPassword
());
if
(!
oldPassword
.
equals
(
userInfo
.
getPassword
()))
{
return
AjaxResult
.
error
(
"密码错误"
);
}
//AesUtil.decode(loginBody.getUserName()),AesUtil.decode(loginBody.getPassword()),loginBody.getCode(),loginBody.getUuid(),loginBody.getType()
String
token
=
userLoginService
.
login
(
loginBody
.
getUserName
(),
loginBody
.
getPassword
(),
loginBody
.
getCode
(),
loginBody
.
getUuid
());
AjaxResult
ajax
=
AjaxResult
.
success
();
...
...
src/main/java/com/supServer/project/service/impl/UserInfoServiceImpl.java
View file @
68a10ac9
...
...
@@ -112,7 +112,7 @@ public class UserInfoServiceImpl implements UserInfoService {
LoginUser
loginUser
=
tokenService
.
getLoginUser
(
ServletUtils
.
getRequest
());
UserInfo
userInfoToken
=
loginUser
.
getUser
();
// 查询最新的数据
UserInfo
userInfo
=
userInfoMapper
.
selectUserByUserName
(
userInfoToken
.
get
UserNam
e
());
UserInfo
userInfo
=
userInfoMapper
.
selectUserByUserName
(
userInfoToken
.
get
Phon
e
());
// 原密码
String
oldPassword
=
BCrypt
.
hashpw
(
userInfoVo
.
getOldPassword
(),
userInfo
.
getPassword
());
if
(!
oldPassword
.
equals
(
userInfo
.
getPassword
()))
{
...
...
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