|
|
|
@ -67,6 +67,12 @@
|
|
|
|
<div class="main_item">
|
|
|
|
<div class="main_item">
|
|
|
|
<div class="main_title">修改操作密码</div>
|
|
|
|
<div class="main_title">修改操作密码</div>
|
|
|
|
<div class="main_content">
|
|
|
|
<div class="main_content">
|
|
|
|
|
|
|
|
<div class="line">
|
|
|
|
|
|
|
|
<div class="item full-width">
|
|
|
|
|
|
|
|
<div class="key">启用密码保护</div>
|
|
|
|
|
|
|
|
<el-switch v-model="passwordEnabled" @change="handlePasswordEnableChange" />
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="line">
|
|
|
|
<div class="line">
|
|
|
|
<div class="item full-width">
|
|
|
|
<div class="item full-width">
|
|
|
|
<div class="key">原密码</div>
|
|
|
|
<div class="key">原密码</div>
|
|
|
|
@ -208,6 +214,45 @@ const changePassword = async () => {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ─── 密码保护开关 ─────────────────────────────────
|
|
|
|
|
|
|
|
const passwordEnabled = ref(false)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const getPasswordStatus = async () => {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
const res = await RPC.post('/m9z/password/status', {})
|
|
|
|
|
|
|
|
passwordEnabled.value = res?.enabled || false
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
// 错误由 rpc.js 处理
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const handlePasswordEnableChange = async (val) => {
|
|
|
|
|
|
|
|
const actionText = val ? '开启' : '关闭'
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
await ElMessageBox.confirm(
|
|
|
|
|
|
|
|
`确认要${actionText}密码保护功能吗?`,
|
|
|
|
|
|
|
|
'提示',
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
|
|
|
|
type: 'warning',
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const method = val ? '/m9z/password/enable' : '/m9z/password/disable'
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
await RPC.post(method, {})
|
|
|
|
|
|
|
|
ElMessage.success(`${actionText}密码保护成功`)
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
// 如果接口失败,回滚状态
|
|
|
|
|
|
|
|
passwordEnabled.value = !val
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
// 用户取消,回滚状态
|
|
|
|
|
|
|
|
passwordEnabled.value = !val
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const goBack = () => {
|
|
|
|
const goBack = () => {
|
|
|
|
router.push('/')
|
|
|
|
router.push('/')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -217,6 +262,7 @@ onMounted(() => {
|
|
|
|
updateTime()
|
|
|
|
updateTime()
|
|
|
|
timeInterval = setInterval(updateTime, 1000)
|
|
|
|
timeInterval = setInterval(updateTime, 1000)
|
|
|
|
getSystemTime()
|
|
|
|
getSystemTime()
|
|
|
|
|
|
|
|
getPasswordStatus()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
onUnmounted(() => {
|
|
|
|
onUnmounted(() => {
|
|
|
|
if (timeInterval) clearInterval(timeInterval)
|
|
|
|
if (timeInterval) clearInterval(timeInterval)
|
|
|
|
|