决策记录

决策:采用 Vue 3 + Element Plus 作为前端基础

  • 状态:已决定
  • 原因:项目是管理系统,Element Plus 能快速提供表格、表单、分页、弹窗、抽屉、标签、菜单等稳定组件。
  • 影响:页面风格需要通过全局 CSS 覆盖 Element Plus 变量,保持统一的深绿米色视觉。

决策:使用 Hash 路由

  • 状态:已决定
  • 原因:前端部署更简单,不依赖服务器重写规则。
  • 影响:页面路径形如 #/dashboard#/books

决策:角色菜单在前端区分,但权限以后端为准

  • 状态:已决定
  • 原因:前端菜单用于提升交互清晰度,不能作为安全边界。
  • 影响:路由守卫负责用户体验层面的跳转;后端接口必须继续校验 JWT 与角色。

决策:图书管理同时提供列表视图和卡片视图

  • 状态:已决定
  • 原因:列表适合批量管理和字段比较,卡片适合查看封面、库存和图书状态。
  • 影响:新增图书展示逻辑时需要同时考虑两种视图。

决策:读者端提供自助借还和模拟缴费

  • 状态:已决定
  • 原因:课程项目需要体现完整借阅闭环,同时不接入真实支付。
  • 影响:支付按钮应明确为模拟缴费,避免被理解为真实在线支付。

决策:整体视觉采用深绿 + 米色

  • 状态:已决定
  • 原因:匹配图书馆、纸张、馆藏管理的气质,比常见蓝色后台更有辨识度。
  • 影响:新增页面应复用 --primary-color--page-bg--card-bg 等全局变量。