Merge pull request #9100 from dataease/pr@dev@perf_pwd_tips

perf: 密码到期提示页面
This commit is contained in:
fit2cloud-chenyw 2024-04-15 16:15:01 +08:00 committed by GitHub
commit 1a0f218fc5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 74 additions and 26 deletions

View File

@ -0,0 +1,66 @@
<template>
<div
v-if="pwdPeriodWarn && !tipClosed"
class="lic_tips"
>
<el-alert
class="lic_alert"
:title="warnMsg"
type="warning"
show-icon
center
@close="closeTip"
/>
</div>
</template>
<script>
export default {
name: 'PwdExpTips',
components: {
},
data() {
return {
tipClosed: false
}
},
computed: {
pwdPeriodWarn() {
return this.$store.state.user.validityPeriod > 0 && this.$store.state.user.validityPeriod < 8
},
warnMsg() {
if (this.$store.state.user.validityPeriod > 0 && this.$store.state.user.validityPeriod < 8) {
return `密码将于${this.$store.state.user.validityPeriod}后过期,为了不影响正常使用,请及时进行修改!`
}
return null
}
},
mounted() {
},
methods: {
closeTip() {
this.tipClosed = true
}
}
}
</script>
<style lang="scss" scoped>
.lic_tips {
position: absolute;
z-index: 2000;
position:absolute;
top: 0;left:0;right:0;
margin: auto;
}
.lic_alert ::v-deep .el-icon-close{
top: 16px !important;
right: 10px !important;
}
</style>

View File

@ -4,3 +4,4 @@ export { default as Sidebar } from './Sidebar'
export { default as AppMain } from './AppMain'
export { default as Topbar } from './Topbar'
export { default as Licbar } from './Licbar'
export { default as PwdExpTips } from './PwdExpTips'

View File

@ -6,6 +6,8 @@
class="app-wrapper"
>
<licbar />
<pwd-exp-tips />
<topbar
v-if="!fullHeightFlag"
:show-tips="showTips"
@ -57,7 +59,7 @@
</template>
<script>
import { Sidebar, AppMain, Topbar, Licbar } from './components'
import { Sidebar, AppMain, Topbar, Licbar, PwdExpTips } from './components'
import ResizeMixin from './mixin/ResizeHandler'
import DeMainContainer from '@/components/dataease/DeMainContainer'
import DeContainer from '@/components/dataease/DeContainer'
@ -74,7 +76,8 @@ export default {
Licbar,
DeMainContainer,
DeContainer,
DeAsideContainer
DeAsideContainer,
PwdExpTips
},
mixins: [ResizeMixin],
data() {

View File

@ -85,13 +85,6 @@ const actions = {
login({ username: username.trim(), password: password, loginType: loginType }).then(response => {
const { data } = response
commit('SET_LOGIN_MSG', null)
if (data.validityPeriod === 0) {
commit('SET_LOGIN_MSG', '密码已过期,请联系管理员进行密码重置!')
reject(null)
return
} else if (data.validityPeriod > 0 && data.validityPeriod < 8) {
commit('SET_LOGIN_MSG', `密码将于${data.validityPeriod}天后过期,为了不影响正常使用,请及时进行修改!`)
}
commit('SET_TOKEN', data.token)
setToken(data.token)
setTokenExp(data.expireTime)

View File

@ -122,7 +122,7 @@
</div>
<div
class="login-msg"
:class="{'login-msg-warn': pwdPeriodWarn}"
>
{{ msg }}
</div>
@ -266,9 +266,6 @@ export default {
},
radioTypes() {
return this.loginTypes && this.loginTypes.filter(item => item < 4 || item > 6) || []
},
pwdPeriodWarn() {
return this.$store.state.user.validityPeriod > 0 && this.$store.state.user.validityPeriod < 8
}
},
watch: {
@ -501,11 +498,7 @@ export default {
loginType: this.loginForm.loginType
}
this.$store.dispatch('user/login', user).then(() => {
if (this.pwdPeriodWarn) {
this.showPwdPeriodMsg()
} else {
this.$router.push({ path: this.redirect || '/' })
}
this.$router.push({ path: this.redirect || '/' })
this.loading = false
}).catch((e) => {
this.loading = false
@ -516,11 +509,6 @@ export default {
}
})
},
showPwdPeriodMsg() {
setTimeout(() => {
this.$router.push({ path: this.redirect || '/' })
}, 2000)
},
showMessage() {
showMultiLoginMsg()
},
@ -663,9 +651,6 @@ export default {
color: $--color-danger;
text-align: center;
}
.login-msg-warn {
color: $--color-warning !important;
}
.login-image {
background: url(../../assets/login-desc.png) no-repeat;