修复后台空白页:更正base模板标签闭合与脚本兼容性

变更项:

1. 修复 base.html 顶栏修改密码按钮闭合错误(el-button 被误写为 div)。

2. 移除可选链写法,改为兼容语法,避免低版本浏览器脚本解析失败。

3. 调整 app-container 默认可见,避免脚本异常时整页因 opacity=0 看起来空白。

4. 确认密码校验函数使用稳定上下文引用,避免 this 访问异常。
This commit is contained in:
liuwei
2026-04-23 09:42:20 +08:00
parent 35f1fbc978
commit 32eabf880d

View File

@@ -63,7 +63,7 @@
.app-container { .app-container {
min-height: 100vh; min-height: 100vh;
opacity: 0; opacity: 1;
transition: opacity .24s ease; transition: opacity .24s ease;
} }
@@ -764,7 +764,7 @@
</div> </div>
<el-button type="text" class="account-btn" @click="openPasswordDialog"> <el-button type="text" class="account-btn" @click="openPasswordDialog">
<i class="el-icon-lock"></i> 修改密码 <i class="el-icon-lock"></i> 修改密码
</div> </el-button>
<el-button type="text" class="logout-btn" @click="logout"> <el-button type="text" class="logout-btn" @click="logout">
<i class="el-icon-switch-button"></i> 退出 <i class="el-icon-switch-button"></i> 退出
</el-button> </el-button>
@@ -917,6 +917,7 @@
const baseApp = { const baseApp = {
data() { data() {
const vm = this;
return { return {
currentView: '1', currentView: '1',
timeRange: '7', timeRange: '7',
@@ -941,8 +942,8 @@
confirm_password: [ confirm_password: [
{ required: true, message: '请再次输入新密码', trigger: 'blur' }, { required: true, message: '请再次输入新密码', trigger: 'blur' },
{ {
validator: (rule, value, callback) => { validator: function(rule, value, callback) {
if (value !== this.passwordForm.new_password) { if (value !== vm.passwordForm.new_password) {
callback(new Error('两次输入的新密码不一致')); callback(new Error('两次输入的新密码不一致'));
return; return;
} }
@@ -1065,7 +1066,14 @@
this.passwordDialogVisible = false; this.passwordDialogVisible = false;
}) })
.catch((error) => { .catch((error) => {
const errorMsg = error?.response?.data?.error || '修改密码失败,请稍后重试'; let errorMsg = '修改密码失败,请稍后重试';
try {
if (error && error.response && error.response.data && error.response.data.error) {
errorMsg = error.response.data.error;
}
} catch (e) {
// 读取错误信息失败时保持默认文案即可。
}
this.$message.error(errorMsg); this.$message.error(errorMsg);
}) })
.finally(() => { .finally(() => {