Files
Book-management-system/.trellis/tasks/04-28-remove-redundant-actions-add-cn-data/prd.md
T
2026-04-28 20:57:31 +08:00

3.8 KiB

remove redundant page actions and add Chinese demo data

Goal

精简已登录页面中与侧边栏重复的右侧跨模块跳转按钮,并补充更贴近中文图书馆场景的演示图书与读者数据。

What I already know

  • 用户希望移除以下重复入口:报表中心右侧“借阅记录”;馆藏检索右侧“管理图书”;图书管理右侧“分类”“查看馆藏”;管理分类右侧“管理图书”;读者档案右侧“管理登录账户”;用户账户与角色右侧“读者档案”。
  • 侧边栏已经提供这些模块之间的跳转,因此页面标题栏和工具栏中的跨模块二级入口会显得重复。
  • “新增图书”“新增分类”“新增读者档案”“新增账户”等当前页面内的主要操作仍应保留。
  • 演示数据位于 src/main/resources/db/schema.sql,当前包含英文读者名、英文分类和英文图书。
  • 项目是 JSP + Servlet + MySQL 架构,前端页面在 src/main/webapp/WEB-INF/jsp/,数据库初始化脚本使用 utf8mb4

Assumptions

  • 本任务只调整冗余跨模块按钮,不改变侧边栏导航、权限控制、Servlet 路由或业务流程。
  • 数据初始化仍使用 INSERT IGNORE / ON DUPLICATE KEY UPDATE 的现有风格,避免重复执行脚本破坏已有本地数据。
  • 中文演示数据可以替换或扩充现有英文样例,但登录测试账号用户名和密码保持不变。

Requirements

  • 报表中心页面不再显示跳转到借阅记录的右侧按钮。
  • 馆藏检索页面不再显示跳转到管理图书的右侧按钮。
  • 图书管理页面不再显示跳转到分类管理或馆藏检索的右侧按钮;保留新增图书入口。
  • 分类管理页面不再显示跳转到管理图书的右侧按钮;保留新增分类入口。
  • 读者档案页面不再显示跳转到管理登录账户的右侧按钮;保留新增读者档案入口。
  • 用户账户与角色页面不再显示跳转到读者档案的右侧按钮;保留新增账户入口。
  • 数据库初始化脚本加入中文图书分类、中文书名、中文作者和中文读者姓名。
  • 本地演示账号仍能用于登录验证。

Acceptance Criteria

  • 指定页面中的重复跨模块按钮被移除,侧边栏仍能导航到对应模块。
  • 页面内新增操作按钮未被误删。
  • schema.sql 包含多条中文图书数据和多条中文读者数据。
  • 中文演示数据使用 utf8mb4 兼容的文本,不引入新表或迁移机制。
  • 相关检查或可用的构建验证通过;若环境缺少 Maven,记录 fallback 验证。

Definition of Done

  • Tests/checks run where available.
  • Lint/typecheck/build status reported.
  • Specs reviewed for whether new conventions need recording.

Out of Scope

  • 不重设计侧边栏或整体视觉风格。
  • 不新增页面、权限、路由或服务层能力。
  • 不改变借阅记录、报表、用户账户或读者档案的业务逻辑。

Technical Notes

  • Likely JSP files: src/main/webapp/WEB-INF/jsp/reports/dashboard.jsp, src/main/webapp/WEB-INF/jsp/books/catalog.jsp, src/main/webapp/WEB-INF/jsp/books/manage.jsp, src/main/webapp/WEB-INF/jsp/books/categories.jsp, src/main/webapp/WEB-INF/jsp/readers/manage.jsp, src/main/webapp/WEB-INF/jsp/admin/users/manage.jsp.
  • Data file: src/main/resources/db/schema.sql.
  • Relevant specs: frontend JSP/component/state/quality guidelines and backend database/quality guidelines.
  • Final verification: git diff --check, JSP scriptlet/SQL/JDBC scan, removed-link scan, and /home/sjy/.sdkman/candidates/maven/current/bin/mvn clean package passed.
  • Spec update decision: no .trellis/spec/ update needed because this task did not introduce new routes, APIs, tables, cross-layer contracts, or reusable implementation conventions.