需求清单

必须实现

优先级 需求 页面 验收标准 状态
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。
  • 当前不做独立设计落地页,登录页已经承担品牌首屏。