决策记录
决策:采用 Vue 3 + Element Plus 作为前端基础
- 状态:已决定
- 原因:项目是管理系统,Element Plus 能快速提供表格、表单、分页、弹窗、抽屉、标签、菜单等稳定组件。
- 影响:页面风格需要通过全局 CSS 覆盖 Element Plus 变量,保持统一的深绿米色视觉。
决策:使用 Hash 路由
- 状态:已决定
- 原因:前端部署更简单,不依赖服务器重写规则。
- 影响:页面路径形如
#/dashboard、#/books。
决策:角色菜单在前端区分,但权限以后端为准
- 状态:已决定
- 原因:前端菜单用于提升交互清晰度,不能作为安全边界。
- 影响:路由守卫负责用户体验层面的跳转;后端接口必须继续校验 JWT 与角色。
决策:图书管理同时提供列表视图和卡片视图
- 状态:已决定
- 原因:列表适合批量管理和字段比较,卡片适合查看封面、库存和图书状态。
- 影响:新增图书展示逻辑时需要同时考虑两种视图。
决策:读者端提供自助借还和模拟缴费
- 状态:已决定
- 原因:课程项目需要体现完整借阅闭环,同时不接入真实支付。
- 影响:支付按钮应明确为模拟缴费,避免被理解为真实在线支付。
决策:整体视觉采用深绿 + 米色
- 状态:已决定
- 原因:匹配图书馆、纸张、馆藏管理的气质,比常见蓝色后台更有辨识度。
- 影响:新增页面应复用
--primary-color、--page-bg、--card-bg等全局变量。