需求清单
必须实现
| 优先级 | 需求 | 页面 | 验收标准 | 状态 |
|---|---|---|---|---|
| P0 | 登录与会话保持 | 登录页、全局路由 | 支持员工/读者通道;登录成功按角色跳转;JWT 失效后清除本地状态并回到登录页 | 已实现 |
| P0 | 角色权限导航 | 布局页 | 读者只看到检索图书、我的借阅;员工看到业务菜单;管理员额外看到账号与权限 | 已实现 |
| P0 | 运营概览 | 运营概览 | 显示馆藏总量、注册读者、在借图书、待结算金额,并渲染 7 日趋势、馆藏分布、借阅热度 | 已实现 |
| P0 | 图书管理 | 图书管理 | 支持 ISBN、书名、作者、分类、状态筛选;支持新增、编辑、删除、上下架、封面上传、分页 | 已实现 |
| P0 | 读者管理 | 读者管理 | 支持身份证号、姓名、手机号、状态筛选;支持注册、编辑、删除、查看借阅记录和办理归还 | 已实现 |
| P0 | 借还服务 | 借还服务 | 支持验证读者、检索图书、办理借出、查询借出记录、办理还书、收取罚金 | 已实现 |
| P0 | 读者自助检索 | 图书检索大厅 | 支持按书名、作者、分类检索;展示卡片库存;库存不足禁用借阅 | 已实现 |
| P0 | 我的借阅与罚金 | 我的借阅 | 展示未归还数、信用状态、待缴金额;支持借阅记录筛选、还书、模拟缴费 | 已实现 |
| P0 | 账号与权限 | 账号与权限 | 管理员可新增、修改、删除、启停系统用户;内置 admin 禁止删除和停用 |
已实现 |
交互要求
- 业务表格必须具备清晰筛选、分页和加载状态。
- 重要破坏性操作使用确认框,例如删除、退出登录、借阅确认、还书确认、缴费确认。
- 角色权限不仅依赖前端菜单,后端仍需强制校验。
- 读者身份证号作为读者登录账号时,需要校验 18 位。
- 图书封面上传仅用于图书管理表单,封面为空时使用默认封面。
- 长文本字段使用溢出提示或截断,避免撑破表格。
页面状态
- 默认状态:展示列表、卡片或统计图表。
- 加载状态:Element Plus
v-loading,背景透明或浅米色遮罩。 - 空状态:使用
el-empty,例如无图书记录、无匹配图书、无罚单。 - 错误状态:Axios 响应拦截器统一使用
ElMessage.error。 - 成功状态:登录、保存、借书、还书、缴费等使用
ElMessage.success。 - 禁用状态:库存不足、读者状态异常、非管理员、内置 admin 保护。
响应式要求
- 900px 以下侧边栏收缩为图标栏,隐藏品牌副标题、菜单文字和服务说明。
- 600px 以下隐藏用户姓名与角色,只保留头像入口。
- 筛选表单在小屏下纵向排列,输入控件宽度 100%。
- 图表区域在窄屏下改为单列。
- 图书卡片网格使用 Element Plus 栅格适配 xs/sm/md/lg。
不做范围
- 当前前端不做真正在线支付,只做模拟缴费。
- 当前不做复杂多分馆管理。
- 当前不做离线缓存和 PWA。
- 当前不做独立设计落地页,登录页已经承担品牌首屏。