199 lines
12 KiB
Markdown
199 lines
12 KiB
Markdown
|
|
# 铜壶管理系统开发任务计划书
|
|||
|
|
|
|||
|
|
## 1. 计划目标
|
|||
|
|
本计划书用于指导铜壶管理系统从文档阶段进入实施阶段,目标是在前后端分离架构下,完成多用户登录、权限控制、商品目录、商品详情、订单管理、标签导出、统计分析等核心模块开发,并满足“图片存数据库”的明确要求。
|
|||
|
|
|
|||
|
|
本计划默认采用以下实施前提:
|
|||
|
|
1. 前端与后端独立开发、独立部署。
|
|||
|
|
2. 商品图片与标签模板通过统一附件能力管理,其中图片必须保存到 SQLite 数据库。
|
|||
|
|
3. 本计划不包含 Git 分支管理流程,交付以源码包、数据库脚本、部署文档为准。
|
|||
|
|
4. 系统仅设置两类用户:管理员与普通用户;管理员拥有全量权限,普通用户权限由管理员创建和分配。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. 交付范围
|
|||
|
|
本次交付建议至少包含以下内容:
|
|||
|
|
* 前端管理端项目一套
|
|||
|
|
* 后端 API 服务项目一套
|
|||
|
|
* SQLite 建表与初始化脚本一套
|
|||
|
|
* 登录认证与用户权限管理能力
|
|||
|
|
* 附件上传、读取、下载与标签导出能力
|
|||
|
|
* 部署说明、初始化说明、验收清单
|
|||
|
|
|
|||
|
|
不在本次优先范围内的内容:
|
|||
|
|
* 小程序或移动 App
|
|||
|
|
* 多租户能力
|
|||
|
|
* 复杂组织架构、部门审批、数据域级权限中心
|
|||
|
|
* 自动化 CI/CD 流程
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 推荐项目结构
|
|||
|
|
建议后续源码按以下目录拆分:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
teapot_system/
|
|||
|
|
docs/
|
|||
|
|
frontend/
|
|||
|
|
backend/
|
|||
|
|
sql/
|
|||
|
|
deploy/
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
说明:
|
|||
|
|
* `frontend`:前端管理端源码
|
|||
|
|
* `backend`:后端 API 服务源码
|
|||
|
|
* `sql`:建表脚本、初始化数据、升级脚本
|
|||
|
|
* `deploy`:部署说明、环境变量模板、打包说明
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. 工期与人员建议
|
|||
|
|
建议投入方式如下:
|
|||
|
|
* **标准配置**:1 名前端 + 1 名后端 + 1 名兼职测试/业务验收
|
|||
|
|
* **并行开发周期**:约 5 至 7 周
|
|||
|
|
* **单人开发周期**:约 8 至 10 周
|
|||
|
|
|
|||
|
|
如需更快交付,可优先上线“登录权限 + 商品管理 + 订单管理 + 标签下载”主链路,统计功能作为第二阶段补充。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. 阶段计划
|
|||
|
|
|
|||
|
|
| 阶段 | 预计工期 | 主要目标 | 前端任务 | 后端任务 | 产出物 | 验收重点 |
|
|||
|
|
| --- | --- | --- | --- | --- | --- | --- |
|
|||
|
|
| 阶段 1:需求冻结与原型细化 | 2 天 | 固化业务规则和页面流转 | 确认页面清单、字段清单、路由结构 | 确认接口域、状态流转、数据实体 | 最终设计文档、页面草图、字段清单 | 需求边界明确,无冲突点 |
|
|||
|
|
| 阶段 2:架构与数据库设计 | 2-3 天 | 明确前后端边界与 SQLite 表结构 | 规划页面布局、接口调用层、状态管理结构、权限展示规则 | 设计数据库、接口规范、统一返回结构 | ER 图、接口清单、SQLite 脚本初版 | 表结构可覆盖用户、商品、订单、图片入库需求 |
|
|||
|
|
| 阶段 3:基础工程搭建 | 2 天 | 搭好可运行项目骨架 | 初始化 Vue 项目、路由、Pinia、请求封装、基础布局 | 初始化 Spring Boot 项目、SQLite 连接、统一异常处理、参数校验、接口骨架 | 前后端可运行空壳工程 | 前后端基础访问联通 |
|
|||
|
|
| 阶段 4:登录与权限 | 3-4 天 | 完成登录、鉴权和用户管理基础能力 | 开发登录页、登录态保持、路由守卫、权限菜单、用户管理页 | 完成登录认证、密码加密、接口鉴权、用户 CRUD、权限分配接口 | 登录页、用户管理页、认证接口 | 管理员和普通用户权限差异生效 |
|
|||
|
|
| 阶段 5:类目与商品列表 | 4-5 天 | 完成目录树与款式墙主流程 | 开发左侧目录树、商品卡片墙、筛选条件、快捷加购入口 | 完成类目 CRUD、商品列表、商品 CRUD 接口 | 目录页和商品列表页 | 目录切换、卡片加载、商品新增编辑正常 |
|
|||
|
|
| 阶段 6:商品详情与图片入库 | 4-5 天 | 完成商品详情编辑与附件入库 | 开发商品详情页、图片上传组件、标签文件上传组件、多图排序、只读态展示 | 完成附件上传入库、缩略图生成、原图下载、标签文件管理接口 | 商品详情页、附件表、附件接口 | 图片刷新后可读取,且确实保存在数据库 |
|
|||
|
|
| 阶段 7:订单与标签导出 | 5-6 天 | 完成订单创建、编辑、完成、标签下载 | 开发订单列表页、订单详情页、数量编辑、完成按钮、快递单号录入、权限按钮控制 | 完成订单 CRUD、库存校验、完成流转、标签按量导出 | 订单模块主流程 | 未完成订单可编辑,已完成订单默认只读且管理员可删除,标签下载正确 |
|
|||
|
|
| 阶段 8:统计分析 | 2-3 天 | 完成月度与年度统计 | 开发统计筛选页、表格与汇总展示 | 开发月度/年度统计聚合接口 | 统计页面 | 数量、单价、小计、总价计算准确 |
|
|||
|
|
| 阶段 9:联调、测试与部署 | 3-4 天 | 修复问题并形成交付物 | 接口联调、页面细节修正、异常提示完善 | 性能优化、SQL 校验、导出测试、部署脚本整理 | 部署说明、验收清单、发布包 | 主流程稳定可用,可完成验收 |
|
|||
|
|
|
|||
|
|
建议预留 2 天缓冲时间,用于处理标签排版细节、数据修正或现场反馈调整。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. 模块级任务拆解
|
|||
|
|
|
|||
|
|
### 6.1 前端任务清单
|
|||
|
|
1. 搭建基础框架:路由、状态管理、请求封装、全局异常提示。
|
|||
|
|
2. 开发登录页、退出登录、登录态保持和路由守卫。
|
|||
|
|
3. 开发主布局:左侧树、顶部订单入口、当前用户信息、右侧内容区。
|
|||
|
|
4. 开发菜单级、页面级、按钮级权限控制,根据当前用户动态显示入口与操作按钮。
|
|||
|
|
5. 开发管理员用户管理页:用户新增、编辑、启停、密码重置、权限分配。
|
|||
|
|
6. 开发类目树组件:树节点增删改、展开收起、点击跳转。
|
|||
|
|
7. 开发商品卡片墙:卡片展示、状态标签、筛选、分页、快捷加购。
|
|||
|
|
8. 开发商品详情页:基础表单、多图上传、主图设置、原图下载、标签文件上传、只读展示。
|
|||
|
|
9. 开发订单列表页:全部/未完成/已完成切换、搜索筛选、删除操作、权限差异展示。
|
|||
|
|
10. 开发订单详情页:订单明细、数量编辑、金额汇总、快递单号录入、标签下载。
|
|||
|
|
11. 开发统计页面:月度统计、年度统计、筛选条件、汇总展示。
|
|||
|
|
12. 完成接口联调、错误提示、空状态和加载状态处理。
|
|||
|
|
|
|||
|
|
### 6.2 后端任务清单
|
|||
|
|
1. 初始化项目骨架:统一返回结构、异常处理、日志、参数校验。
|
|||
|
|
2. 实现登录认证:用户名密码校验、密码哈希存储、登录令牌签发与退出。
|
|||
|
|
3. 实现接口鉴权:基于管理员全量权限和普通用户权限编码控制 API 访问。
|
|||
|
|
4. 实现用户管理:管理员新增普通用户、编辑用户、重置密码、启停账号、分配权限。
|
|||
|
|
5. 设计并实现类目管理接口与商品管理接口。
|
|||
|
|
6. 实现附件上传能力:接收图片、校验格式、生成缩略图、写入数据库。
|
|||
|
|
7. 实现附件读取能力:缩略图预览、原图下载、标签模板下载。
|
|||
|
|
8. 实现订单模块:创建订单、编辑订单、删除订单、订单完成。
|
|||
|
|
9. 实现库存校验逻辑:下单不得超过库存,订单完成逻辑可选扣减库存或锁定库存。
|
|||
|
|
10. 实现标签导出逻辑:根据订单明细和数量生成 PDF 或 ZIP。
|
|||
|
|
11. 实现统计接口:月度与年度维度聚合统计。
|
|||
|
|
12. 输出部署配置、SQLite 初始化脚本、测试数据脚本。
|
|||
|
|
|
|||
|
|
### 6.3 数据库任务清单
|
|||
|
|
1. 设计用户、用户权限、类目、商品、附件、订单、订单明细、订单日志表。
|
|||
|
|
2. 明确 SQLite 中图片 BLOB 字段、缩略图字段和索引策略。
|
|||
|
|
3. 建立用户类型、账号状态、订单状态、商品状态、附件类型、权限编码等枚举规范。
|
|||
|
|
4. 输出建表脚本与初始化脚本,并配置 WAL 模式与基础 pragma 策略。
|
|||
|
|
5. 输出 SQLite 数据库文件备份策略,确保图片入库后可完整恢复。
|
|||
|
|
|
|||
|
|
### 6.4 测试任务清单
|
|||
|
|
1. 测试登录、退出登录、未登录拦截、停用账号拦截。
|
|||
|
|
2. 测试管理员创建普通用户、重置密码、分配权限是否生效。
|
|||
|
|
3. 测试普通用户菜单显示、页面访问和接口访问是否与权限一致。
|
|||
|
|
4. 测试目录新增、编辑、删除和跳转。
|
|||
|
|
5. 测试商品新增、编辑、状态变更、库存修改。
|
|||
|
|
6. 测试图片上传、刷新读取、原图下载、多图排序。
|
|||
|
|
7. 测试标签模板上传与订单标签导出。
|
|||
|
|
8. 测试订单创建、编辑、删除、完成、快递单号校验。
|
|||
|
|
9. 测试月度与年度统计是否与订单明细一致。
|
|||
|
|
10. 测试大图片上传、异常文件上传、库存不足下单、越权访问等边界场景。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. 关键里程碑定义
|
|||
|
|
1. **M1:基础架构完成**
|
|||
|
|
前后端空壳工程可运行,数据库脚本初版完成。
|
|||
|
|
2. **M2:登录与权限完成**
|
|||
|
|
管理员和普通用户可登录,权限菜单、接口鉴权和用户管理能力可用。
|
|||
|
|
3. **M3:商品管理主流程完成**
|
|||
|
|
可完成目录管理、商品列表和商品详情编辑。
|
|||
|
|
4. **M4:图片入库完成**
|
|||
|
|
图片上传后写入数据库,前端可正常显示缩略图并下载原图。
|
|||
|
|
5. **M5:订单链路完成**
|
|||
|
|
可创建订单、编辑未完成订单、填写快递单号后完成订单。
|
|||
|
|
6. **M6:标签下载完成**
|
|||
|
|
可根据订单数量导出对应标签文件。
|
|||
|
|
7. **M7:统计与验收完成**
|
|||
|
|
月度/年度统计上线,系统进入验收阶段。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 8. 验收清单
|
|||
|
|
1. 系统支持用户名密码登录、退出登录,未登录状态不能进入业务页面。
|
|||
|
|
2. 管理员拥有全部查看和编辑权限,可进入用户管理页面。
|
|||
|
|
3. 管理员可创建普通用户、重置密码、启停账号并分配权限。
|
|||
|
|
4. 商品查看权限用户只能浏览商品列表与详情,不可编辑商品和上传附件。
|
|||
|
|
5. 打包工权限用户可查看订单、填写快递单号并完成订单,但不可编辑商品和用户。
|
|||
|
|
6. 左侧目录可维护,点击型号和产品节点的跳转行为正确。
|
|||
|
|
7. 商品列表页能显示缩略图、状态、库存、价格,并支持快捷加购。
|
|||
|
|
8. 商品详情页可以维护 SKU、价格、库存状态、库存数量。
|
|||
|
|
9. 商品详情页支持上传多张图片,上传后图片保存于数据库而不是磁盘路径。
|
|||
|
|
10. 订单列表可区分全部、未完成、已完成。
|
|||
|
|
11. 未完成订单可以修改数量、删除商品、删除整单。
|
|||
|
|
12. 填写快递单号后订单可完成,完成后普通用户不可编辑;管理员可删除已完成订单。
|
|||
|
|
13. 订单详情页可下载对应数量的标签文件。
|
|||
|
|
14. 统计页面可按月、按年查看款式数量、单价、小计和总价。
|
|||
|
|
15. 数据库备份后可恢复图片与业务数据。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 9. 风险与应对措施
|
|||
|
|
1. **图片入库导致数据库体积增长过快**
|
|||
|
|
方案:附件表与业务表分离,列表接口不查 BLOB,建立定期备份与归档策略。
|
|||
|
|
2. **标签导出排版复杂,容易反复调整**
|
|||
|
|
方案:优先确认固定标签模板,再进入导出开发阶段。
|
|||
|
|
3. **SQLite 写并发能力有限**
|
|||
|
|
方案:采用单实例部署,启用 WAL 模式,订单创建与修改时增加事务校验并缩短写事务时间。
|
|||
|
|
4. **仅做前端隐藏导致权限越权**
|
|||
|
|
方案:前后端双重校验权限,所有核心接口都做服务端鉴权。
|
|||
|
|
5. **无 Git 流程时版本留痕不足**
|
|||
|
|
方案:按里程碑输出压缩包、数据库脚本编号和变更说明文档。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 10. 交付与备份建议
|
|||
|
|
由于本项目不采用 Git 流程,建议至少执行以下管理方式:
|
|||
|
|
1. 每个里程碑打一个源码压缩包,例如 `teapot_system_m3_20260411.zip`。
|
|||
|
|
2. 数据库脚本按版本号编号,例如 `V001__init.sql`、`V002__order_module.sql`。
|
|||
|
|
3. 每次发布前保留 SQLite 数据库文件全量备份,并同时关注 WAL 或日志文件。
|
|||
|
|
4. 发布包中同时包含部署说明、环境变量说明和初始化 SQL。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 11. 实施顺序建议
|
|||
|
|
如需尽快上线,建议按以下优先级实施:
|
|||
|
|
1. 登录与权限
|
|||
|
|
2. 左侧目录 + 商品卡片墙
|
|||
|
|
3. 商品详情页 + 图片入库
|
|||
|
|
4. 订单创建/编辑/完成
|
|||
|
|
5. 标签按量下载
|
|||
|
|
6. 统计分析
|
|||
|
|
|
|||
|
|
这样可以先打通登录权限、商品与订单主链路,再补统计和优化项。
|