This commit is contained in:
Zzzz
2026-04-28 22:08:36 +08:00
parent d1f32b9d52
commit a37d37945b
7 changed files with 118 additions and 130 deletions
@@ -0,0 +1,4 @@
{"_example": "Fill with {\"file\": \"<path>\", \"reason\": \"<why>\"}. Put spec/research files only — no code paths. Run `python3 .trellis/scripts/get_context.py --mode packages` to list available specs. Delete this line once real entries are added."}
{"file": ".trellis/spec/frontend/index.md", "reason": "Frontend checklist for reviewing login page UI changes"}
{"file": ".trellis/spec/frontend/type-safety.md", "reason": "Verify login form contract remains unchanged"}
{"file": ".trellis/spec/frontend/quality-guidelines.md", "reason": "Verify UI layout quality after removal"}
@@ -0,0 +1,7 @@
{"_example": "Fill with {\"file\": \"<path>\", \"reason\": \"<why>\"}. Put spec/research files only — no code paths. Run `python3 .trellis/scripts/get_context.py --mode packages` to list available specs. Delete this line once real entries are added."}
{"file": ".trellis/spec/frontend/index.md", "reason": "Frontend JSP/CSS guidelines for login page UI changes"}
{"file": ".trellis/spec/frontend/directory-structure.md", "reason": "JSP and static asset placement conventions"}
{"file": ".trellis/spec/frontend/component-guidelines.md", "reason": "Form and page component conventions"}
{"file": ".trellis/spec/frontend/state-management.md", "reason": "Server-rendered form state conventions"}
{"file": ".trellis/spec/frontend/type-safety.md", "reason": "Login form request contract and loginRole behavior"}
{"file": ".trellis/spec/frontend/quality-guidelines.md", "reason": "UI quality checks for JSP/CSS changes"}
@@ -0,0 +1,52 @@
# 调整登录页登录选项与布局
## Goal
简化登录界面:移除登录身份单选项和标题旁的图书图标,并微调表单布局,让登录卡片在元素减少后仍保持居中、紧凑和视觉平衡。
## What I Already Know
* 用户要求删除登录界面中的“登录身份”选项。
* 用户要求删除登录界面中的图书图标。
* 登录页 JSP 位于 `src/main/webapp/WEB-INF/jsp/auth/login.jsp`
* 登录页样式位于 `src/main/webapp/static/css/app.css`
* 登录页脚本位于 `src/main/webapp/static/js/login.js`,当前主要处理记住用户名、密码显示切换和忘记密码提示。
* 前端规范说明登录页不应包含客户端角色选择,认证后的角色由 `AuthService` 返回的用户角色决定。
## Assumptions
* “图书的图标”指登录页标题旁内联 SVG 的 `login-brand-mark`,不是背景插画 `static/images/library-login.svg`
* “微调布局”指因移除图标和登录身份单选后,调整标题区域、表单间距和卡片留白,不做整页视觉重设计。
## Requirements
* 移除登录页的登录身份单选区域,包括“登录身份”“管理员”“馆员”“读者”选项。
* 移除登录页标题旁的图书图标。
* 保留用户名、密码、记住我、忘记密码提示和登录提交功能。
* 表单提交仍只依赖后端已消费的 `username``password`、可选 `redirect`,不改变认证/授权逻辑。
* 调整登录页布局,使标题、副标题、输入框、选项行和按钮在桌面与移动端都保持合理间距。
## Acceptance Criteria
* [x] 登录页不再渲染“登录身份”文案和角色单选按钮。
* [x] 登录页标题旁不再渲染图书 SVG 图标。
* [x] 登录页在桌面和移动端没有明显空洞、错位或文本重叠。
* [x] 用户名/密码登录表单仍可提交到 `POST /login`
* [x] 项目可通过 Maven 构建或等价检查。
## Definition of Done
* JSP/CSS 改动范围聚焦在登录页 UI。
* Lint/typecheck/build 可用检查已运行;如无法运行,记录原因。
* 不修改后端认证授权逻辑。
## Out of Scope
* 不重做整套登录页视觉风格。
* 不修改用户角色、权限、认证服务或数据库。
* 不删除登录页背景插画,除非代码检查证明它就是用户所指图标。
## Technical Notes
* 前端规范入口: `.trellis/spec/frontend/index.md`
* 相关规范: `.trellis/spec/frontend/type-safety.md` 中说明 `LoginServlet` 消费 `username``password` 和可选 `redirect`,登录角色不由客户端表单状态决定。
@@ -0,0 +1,26 @@
{
"id": "login-page-simplify-layout",
"name": "login-page-simplify-layout",
"title": "调整登录页登录选项与布局",
"description": "",
"status": "in_progress",
"dev_type": null,
"scope": null,
"package": null,
"priority": "P2",
"creator": "Zzzz",
"assignee": "Zzzz",
"createdAt": "2026-04-28",
"completedAt": null,
"branch": null,
"base_branch": "master",
"worktree_path": null,
"commit": null,
"pr_url": null,
"subtasks": [],
"children": [],
"parent": null,
"relatedFiles": [],
"notes": "",
"meta": {}
}