mirror of
https://gitee.com/xiaonuobase/snowy.git
synced 2026-10-06 06:52:58 +08:00
【底座】修复锁屏密码输入错误时错误信息在锁屏背后展示的bug,改为错误信息在输入框底部展示
This commit is contained in:
@@ -27,8 +27,8 @@ export default {
|
||||
return request('lock', data)
|
||||
},
|
||||
// 解锁屏幕
|
||||
userUnlock(data) {
|
||||
return request('unlock', data)
|
||||
userUnlock(data, options) {
|
||||
return request('unlock', data, 'post', options)
|
||||
},
|
||||
// 修改自动锁屏时长
|
||||
userUpdateAutoLockTime(data) {
|
||||
|
||||
@@ -16,12 +16,18 @@
|
||||
:style="{ borderRadius: 0 }"
|
||||
:status="inputStatus"
|
||||
@keyup.enter="handleUnlock"
|
||||
@change="inputStatus = ''"
|
||||
@change="
|
||||
() => {
|
||||
inputStatus = ''
|
||||
errorMessage = ''
|
||||
}
|
||||
"
|
||||
>
|
||||
<template #prefix>
|
||||
<lock-outlined />
|
||||
</template>
|
||||
</a-input-password>
|
||||
<div class="lock-screen-error-msg">{{ errorMessage }}</div>
|
||||
<a-button
|
||||
type="primary"
|
||||
size="large"
|
||||
@@ -59,20 +65,23 @@
|
||||
const password = ref('')
|
||||
const loading = ref(false)
|
||||
const inputStatus = ref('')
|
||||
const errorMessage = ref('')
|
||||
|
||||
// 锁屏界面是否可见,登录页不展示
|
||||
const visible = computed(() => store.isLocked && route.path !== '/login')
|
||||
|
||||
// 解锁,失败提示由全局错误处理统一弹出
|
||||
// 解锁
|
||||
const handleUnlock = () => {
|
||||
if (!password.value) {
|
||||
inputStatus.value = 'error'
|
||||
errorMessage.value = '请输入登录密码'
|
||||
return
|
||||
}
|
||||
loading.value = true
|
||||
inputStatus.value = ''
|
||||
errorMessage.value = ''
|
||||
userCenterApi
|
||||
.userUnlock({ password: smCrypto.doSm2Encrypt(password.value) })
|
||||
.userUnlock({ password: smCrypto.doSm2Encrypt(password.value) }, { skipErrorMessage: true })
|
||||
.then(() => {
|
||||
store.setIsLocked(false)
|
||||
password.value = ''
|
||||
@@ -80,8 +89,9 @@
|
||||
useMenuStore().refreshApiMenu()
|
||||
useDictStore().refreshDict()
|
||||
})
|
||||
.catch(() => {
|
||||
.catch((err) => {
|
||||
inputStatus.value = 'error'
|
||||
errorMessage.value = err.msg || '解锁失败,请重试'
|
||||
})
|
||||
.finally(() => {
|
||||
loading.value = false
|
||||
@@ -105,6 +115,7 @@
|
||||
} else {
|
||||
password.value = ''
|
||||
inputStatus.value = ''
|
||||
errorMessage.value = ''
|
||||
}
|
||||
})
|
||||
</script>
|
||||
@@ -194,6 +205,14 @@
|
||||
.lock-screen-logout-btn {
|
||||
margin-top: 8px;
|
||||
}
|
||||
.lock-screen-error-msg {
|
||||
color: #ff4d4f;
|
||||
font-size: 14px;
|
||||
min-height: 28px;
|
||||
line-height: 28px;
|
||||
text-align: left;
|
||||
padding-left: 2px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -95,16 +95,11 @@ service.interceptors.response.use(
|
||||
return handleLocked(data)
|
||||
}
|
||||
if (code !== 200) {
|
||||
const customErrorMessage = response.config.customErrorMessage
|
||||
message.error(customErrorMessage || data.msg)
|
||||
if (!response.config.skipErrorMessage) {
|
||||
const customErrorMessage = response.config.customErrorMessage
|
||||
message.error(customErrorMessage || data.msg)
|
||||
}
|
||||
return Promise.reject(data)
|
||||
// 自定义错误提示,覆盖后端返回的message
|
||||
// 使用示例:
|
||||
// export function customerList (data) {
|
||||
// return request('list', data, 'get', {
|
||||
// customErrorMessage: '自定义错误消息提示'
|
||||
// });
|
||||
// }
|
||||
} else {
|
||||
// 统一成功提示(支持 skipSuccessMessage 跳过)
|
||||
if (!response.config.skipSuccessMessage) {
|
||||
|
||||
Reference in New Issue
Block a user