5.1 KiB
5.1 KiB
需求文档:从正式系统恢复源码
简介
本项目的源码在之前的操作中丢失,现在需要从正式系统(192.168.58.20:4320)的 Docker 镜像中恢复完整的源码。正式系统目前正在运行,包含所有完整功能。
术语表
- 正式系统(Production_System): 运行在 192.168.58.20:4320 的生产环境系统,容器名
youyidian-3d-material - 影子系统(Shadow_System): 运行在 192.168.58.20:5320 的测试环境系统,容器名
youyidian-3d-material-shadow - 本地源码(Local_Source): 当前工作目录 D:\gongxiangp2 中的源代码
- Docker镜像(Docker_Image): 正式系统使用的 Docker 容器镜像
需求
需求 1: 从正式系统提取源码
用户故事: 作为开发者,我需要从正式系统的 Docker 容器中提取完整的源码,以便恢复本地开发环境。
验收标准
- WHEN 连接到正式系统容器时,THE System SHALL 能够访问容器内的文件系统
- WHEN 提取源码文件时,THE System SHALL 保持文件的目录结构完整
- WHEN 提取源码文件时,THE System SHALL 包含所有必要的配置文件(package.json, tsconfig.json, next.config.js 等)
- WHEN 提取源码文件时,THE System SHALL 排除 node_modules、.next、uploads 等运行时生成的目录
需求 2: 对比本地源码与正式系统
用户故事: 作为开发者,我需要对比本地源码和正式系统的差异,以便识别缺失或不一致的文件。
验收标准
- WHEN 对比源码时,THE System SHALL 列出本地缺失的文件
- WHEN 对比源码时,THE System SHALL 列出内容不一致的文件
- WHEN 对比源码时,THE System SHALL 生成详细的差异报告
- WHEN 发现差异时,THE System SHALL 标注文件的重要性级别(核心功能/辅助功能)
需求 3: 验证功能完整性
用户故事: 作为开发者,我需要验证恢复后的源码包含正式系统的所有功能,以确保功能完整性。
验收标准
- WHEN 验证功能时,THE System SHALL 检查所有 API 路由是否存在
- WHEN 验证功能时,THE System SHALL 检查所有页面组件是否存在
- WHEN 验证功能时,THE System SHALL 检查所有工具库文件是否存在
- WHEN 验证功能时,THE System SHALL 生成功能完整性报告
需求 4: 恢复缺失的源码文件
用户故事: 作为开发者,我需要将正式系统中的源码文件复制到本地,以恢复完整的开发环境。
验收标准
- WHEN 恢复文件时,THE System SHALL 从正式系统容器复制缺失的文件到本地
- WHEN 恢复文件时,THE System SHALL 保持文件的原始权限和时间戳
- WHEN 恢复文件时,THE System SHALL 创建必要的目录结构
- WHEN 恢复文件时,THE System SHALL 生成恢复操作日志
需求 5: 验证恢复后的源码
用户故事: 作为开发者,我需要验证恢复后的源码能够正常构建和运行,以确保恢复成功。
验收标准
- WHEN 验证构建时,THE System SHALL 执行
npm install安装依赖 - WHEN 验证构建时,THE System SHALL 执行
npm run build构建项目 - WHEN 构建失败时,THE System SHALL 报告具体的错误信息
- WHEN 构建成功时,THE System SHALL 确认所有必要的文件都已生成
需求 6: 部署到影子系统测试
用户故事: 作为开发者,我需要将恢复的源码部署到影子系统进行测试,以验证功能正确性。
验收标准
- WHEN 部署到影子系统时,THE System SHALL 使用 deploy-local-build.ps1 脚本
- WHEN 部署到影子系统时,THE System SHALL 指定 -Target shadow 参数
- WHEN 部署成功时,THE System SHALL 确认影子系统容器正在运行
- WHEN 部署成功时,THE System SHALL 能够通过浏览器访问影子系统(http://192.168.58.20:5320)
需求 7: 功能测试验证
用户故事: 作为开发者,我需要在影子系统上测试关键功能,以确保恢复的源码功能正常。
验收标准
- WHEN 测试用户认证时,THE System SHALL 支持钉钉登录和邮箱登录
- WHEN 测试素材管理时,THE System SHALL 支持上传、浏览、下载、编辑素材
- WHEN 测试筛选功能时,THE System SHALL 支持按类型、店铺、场景、产品类别等筛选
- WHEN 测试搜索功能时,THE System SHALL 实现防抖处理,避免频繁刷新
- WHEN 测试滚动位置时,THE System SHALL 在返回首页时保持原来的滚动位置
- WHEN 测试模特素材时,THE System SHALL 支持自动打包图片下载
- WHEN 测试管理员功能时,THE System SHALL 支持用户管理、素材管理、分类管理等
需求 8: 文档更新
用户故事: 作为开发者,我需要更新相关文档,记录源码恢复的过程和结果。
验收标准
- WHEN 恢复完成时,THE System SHALL 更新功能恢复进度文档
- WHEN 恢复完成时,THE System SHALL 记录恢复过程中遇到的问题和解决方案
- WHEN 恢复完成时,THE System SHALL 更新部署文档
- WHEN 恢复完成时,THE System SHALL 标注已验证的功能清单