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