优化-首次登录重置密码
This commit is contained in:
parent
7cad098111
commit
f50ed92537
|
|
@ -112,5 +112,12 @@ export function loginByMall(data) {
|
|||
})
|
||||
}
|
||||
|
||||
|
||||
// 验证密码
|
||||
export function checkPasswordStatusApi(data) {
|
||||
return request({
|
||||
url: '/auth/checkPasswordStatus',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import { login, logout, getInfo, refreshToken, checkCode, loginByMall } from '@/
|
|||
import { getToken, setToken, setExpiresIn, removeToken } from '@/utils/auth'
|
||||
import { Notification, MessageBox, Message, Loading } from 'element-ui'
|
||||
import { encrypt } from '@/utils/jsencrypt'
|
||||
import { checkPasswordStatus } from '@/utils/checkPw'
|
||||
|
||||
const user = {
|
||||
state: {
|
||||
|
|
@ -48,7 +49,6 @@ const user = {
|
|||
return new Promise((resolve, reject) => {
|
||||
login(username, password, code, uuid).then(res => {
|
||||
let data = res.data
|
||||
localStorage.setItem('isCode', data.code || '')
|
||||
setToken(data.access_token)
|
||||
commit('SET_TOKEN', data.access_token)
|
||||
localStorage.setItem('token', data.access_token)
|
||||
|
|
@ -112,7 +112,12 @@ const user = {
|
|||
// 获取用户信息
|
||||
GetInfo({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getInfo().then(res => {
|
||||
getInfo().then(async res => {
|
||||
const href = window.location.href
|
||||
if (!href.includes('resetPassword') && JSON.parse(localStorage.getItem('isReset'))) {
|
||||
await checkPasswordStatus()
|
||||
}
|
||||
|
||||
const user = res.user
|
||||
/* 存储当前登录用户的userId */
|
||||
sessionStorage.setItem('userId', user.userId)
|
||||
|
|
@ -155,7 +160,8 @@ const user = {
|
|||
commit('SET_TOKEN', '')
|
||||
commit('SET_ROLES', [])
|
||||
commit('SET_PERMISSIONS', [])
|
||||
localStorage.removeItem('isCode')
|
||||
localStorage.removeItem('username')
|
||||
localStorage.removeItem('pw')
|
||||
removeToken()
|
||||
resolve()
|
||||
}).catch(error => {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
import { Message } from 'element-ui'
|
||||
import { checkPasswordStatusApi } from '@/api/login'
|
||||
|
||||
export const checkPasswordStatus = () => {
|
||||
const username = localStorage.getItem('username')
|
||||
const password = localStorage.getItem('pw')
|
||||
try {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const res = await checkPasswordStatusApi({ username, password })
|
||||
if (res.data == true) {
|
||||
Message.error(res.msg)
|
||||
localStorage.setItem('isReset', JSON.stringify(true))
|
||||
resolve(false)
|
||||
location.href = '/resetPassword'
|
||||
} else {
|
||||
localStorage.setItem('isReset', JSON.stringify(false))
|
||||
resolve(true)
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ checkPasswordStatus ~ error:', error)
|
||||
}
|
||||
}
|
||||
|
|
@ -281,6 +281,7 @@
|
|||
import { getCodeImg, sendCode } from '@/api/login'
|
||||
import Cookies from 'js-cookie'
|
||||
import { encrypt, decrypt } from '@/utils/jsencrypt'
|
||||
import { checkPasswordStatus } from '@/utils/checkPw'
|
||||
|
||||
export default {
|
||||
name: 'Login',
|
||||
|
|
@ -518,17 +519,16 @@ export default {
|
|||
}
|
||||
this.$store
|
||||
.dispatch('Login', this.loginForm)
|
||||
.then(() => {
|
||||
// 宁夏目前不需要重置初始密码
|
||||
// if (localStorage.getItem('isCode') == 1) {
|
||||
// this.$router.push({ path: '/resetPassword' }).catch(() => {})
|
||||
// } else {
|
||||
// this.$router.push({ path: '/' }).catch(() => {})
|
||||
// }
|
||||
|
||||
this.$router.push({ path: '/' }).catch(() => {})
|
||||
|
||||
.then(async () => {
|
||||
localStorage.setItem('notice', true)
|
||||
|
||||
const username = this.loginForm.username.trim()
|
||||
const password = encrypt(this.loginForm.password)
|
||||
localStorage.setItem('username', username)
|
||||
localStorage.setItem('pw', password)
|
||||
const res = await checkPasswordStatus()
|
||||
console.log('🚀 ~ .then ~ res:', res)
|
||||
this.$router.push({ path: '/' }).catch(() => {})
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false
|
||||
|
|
|
|||
|
|
@ -4,14 +4,14 @@
|
|||
<div class="form-bar">
|
||||
<h3 class="title">请重置登录密码</h3>
|
||||
<el-form ref="form" :model="user" :rules="rules">
|
||||
<el-form-item label="旧密码" prop="oldPassword">
|
||||
<!-- <el-form-item label="旧密码" prop="oldPassword">
|
||||
<el-input
|
||||
v-model="user.oldPassword"
|
||||
placeholder="请输入旧密码"
|
||||
type="password"
|
||||
show-password
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="新密码" prop="newPassword">
|
||||
<el-input
|
||||
v-model="user.newPassword"
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { updateUserPwd } from '@/api/system/user'
|
||||
import { updateUserPwd, resetUserPwd } from '@/api/system/user'
|
||||
import { validPassword } from '@/utils/validate'
|
||||
import { encrypt } from '@/utils/jsencrypt.js'
|
||||
|
||||
|
|
@ -120,9 +120,9 @@ export default {
|
|||
if (valid) {
|
||||
const oldPassword = encrypt(this.user.oldPassword)
|
||||
const newPassword = encrypt(this.user.newPassword)
|
||||
updateUserPwd(oldPassword, newPassword).then((response) => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
// 进入首页
|
||||
resetUserPwd(0, newPassword).then((response) => {
|
||||
this.$modal.msgSuccess('修改成功, 请重新登录')
|
||||
// 重新登录
|
||||
this.$store.dispatch('LogOut').then(() => {
|
||||
location.href = '/login'
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue