fix: 登录失败提示中文化

This commit is contained in:
czl231
2026-08-10 19:13:23 +08:00
parent 4e38ee8021
commit 29562b0703
4 changed files with 66 additions and 3 deletions

View File

@@ -0,0 +1,42 @@
# 登录失败提示中文化操作日志
操作时间2026-08-10
操作类型:修改
影响模块:平台后台、气站后台、配送后台登录页
## 操作前状态
三个后台的 `/login` 页面会直接展示登录接口返回的错误消息。后端 SDK 返回 `Password Incorrect``Account Disabled``Invalid Argument` 时,页面显示英文提示。
## 具体操作
在三个后台登录表单的异常处理逻辑中增加登录错误文案映射。匹配时忽略大小写和首尾空格:
- `Password Incorrect`:账号或密码错误
- `Account Disabled`:账号已禁用
- `Invalid Argument`:登录参数错误
未命中的错误继续展示原消息,不改变全局 HTTP 错误处理行为。
## 操作后状态
三个后台的已知登录失败提示统一显示中文;其他服务端错误保持原有展示方式。
## 代码变更
- `frontend/platform_admin/src/views/login/components/login-form.vue`:修改 `handleSubmit` 的登录异常提示处理。
- `frontend/gas_admin/src/views/login/components/login-form.vue`:修改 `handleSubmit` 的登录异常提示处理。
- `frontend/delivery_admin/src/views/login/components/login-form.vue`:修改 `handleSubmit` 的登录异常提示处理。
## 验证结果
- 三个后台分别执行 `npm run type:check`,均通过。
- 三个修改文件分别执行 Biome 定向 lint均无错误每个文件存在 3 个修改前已有的 Vue 模板变量误判警告。
- 执行 `git diff --check`,未发现空白符错误。
- 边界检查:映射支持大小写变化和首尾空格;未知错误仍保留原文。
## 风险评估
- 影响仅限三个登录表单的错误展示,不改变认证、路由、状态管理或全局请求逻辑。
- 如果 SDK 后续调整英文文案,新的文案不会命中映射,将按约定保留原文;届时需同步扩展映射。
- 仓库原有的 `backend/go.work.sum` 修改及后端日志文件未纳入本次操作,也未被改动。

View File

@@ -116,7 +116,14 @@ const handleSubmit = async ({
loginConfig.value.username = rememberPassword ? username : '';
loginConfig.value.password = '';
} catch (err) {
errorMessage.value = (err as Error).message;
// 将登录接口的已知英文错误转换为中文,未知错误保持服务端原文。
const message = (err as Error).message;
const loginErrorMessages: Record<string, string> = {
'password incorrect': '账号或密码错误',
'account disabled': '账号已禁用',
'invalid argument': '登录参数错误',
};
errorMessage.value = loginErrorMessages[message.trim().toLowerCase()] || message;
} finally {
setLoading(false);
}

View File

@@ -116,7 +116,14 @@ const handleSubmit = async ({
loginConfig.value.username = rememberPassword ? username : '';
loginConfig.value.password = '';
} catch (err) {
errorMessage.value = (err as Error).message;
// 将登录接口的已知英文错误转换为中文,未知错误保持服务端原文。
const message = (err as Error).message;
const loginErrorMessages: Record<string, string> = {
'password incorrect': '账号或密码错误',
'account disabled': '账号已禁用',
'invalid argument': '登录参数错误',
};
errorMessage.value = loginErrorMessages[message.trim().toLowerCase()] || message;
} finally {
setLoading(false);
}

View File

@@ -116,7 +116,14 @@ const handleSubmit = async ({
loginConfig.value.username = rememberPassword ? username : '';
loginConfig.value.password = '';
} catch (err) {
errorMessage.value = (err as Error).message;
// 将登录接口的已知英文错误转换为中文,未知错误保持服务端原文。
const message = (err as Error).message;
const loginErrorMessages: Record<string, string> = {
'password incorrect': '账号或密码错误',
'account disabled': '账号已禁用',
'invalid argument': '登录参数错误',
};
errorMessage.value = loginErrorMessages[message.trim().toLowerCase()] || message;
} finally {
setLoading(false);
}