From 3a8f4fcd51863cfa72a6331c5c82440046397c30 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Mon, 7 Sep 2026 19:59:54 -0600 Subject: [PATCH] =?UTF-8?q?fix(=E5=90=8E=E5=8F=B0=E7=94=A8=E6=88=B7):=20?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E5=AF=86=E7=A0=81=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=87=BA=E6=9D=A5=E4=B9=8B=E5=90=8E=E8=83=BD=E5=86=8D=E9=9A=90?= =?UTF-8?q?=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原来只发 reveal 事件,露出去就没有回头路,只有翻页 / 搜索才会回到打码状态 —— 看一眼就该关掉,不然一整页管理员密码那么摊着。改成 toggle,打码与否只看 revealed 这一个 prop,按钮文案跟着走。 密码列顺带从 150 拓到 180:露出明文后面还跟着「隐藏」按钮,150 挤不下。 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_017xu912Rv5JUUuy6MqMcQW2 --- .../web/src/admin/user/components/Password.vue | 18 ++++++++++-------- apps/web/src/admin/user/list.vue | 11 +++++++---- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/apps/web/src/admin/user/components/Password.vue b/apps/web/src/admin/user/components/Password.vue index 4d4f6d8..26b7573 100644 --- a/apps/web/src/admin/user/components/Password.vue +++ b/apps/web/src/admin/user/components/Password.vue @@ -9,11 +9,11 @@ interface Props { } const props = defineProps() defineEmits<{ - (e: "reveal", value: number): void + (e: "toggle", value: number): void }>() /** - * 只有**管理员账号**的密码默认打码。 + * 只有**管理员账号**的密码需要打码。 * * 学生的密码照旧直接显示 —— 老师查学生密码是日常动作(明文列 `raw_password` 就是为它 * 保留的),挡一道只是添乱。要防的是管理员密码在投屏、或者旁人路过时被看到。 @@ -21,18 +21,20 @@ defineEmits<{ * `rawPassword` 为空时不打码:给一个点了什么也不显示的按钮没有意义,直接走原来的 * TextCopy(渲染成空)。 */ -const masked = computed( +const maskable = computed( () => - !props.revealed && props.user.adminType !== USER_TYPE.REGULAR_USER && !!props.user.rawPassword, )