一、概述

1.1 案例介绍

在数字化转型的浪潮中,很多中小微企业固定资产管理面临诸多挑战:资产分散、状态不明、流程繁琐、数据孤岛严重。传统的人工管理方式效率低下,资产盘点耗时数周,账实不符现象频发,维保提醒依赖人工记忆,导致资产利用率低下、管理成本高昂。

许多企业存在资产管理混乱问题,市面上成熟的资产管理系统价格动辄数十万甚至上百万,对中小微企业而言是不小的负担;若选择自主开发,又面临技术门槛高、开发周期长、维护成本高的困境,一套中型系统从需求分析到上线至少需要6个月,投入成本超过50万元,后续每年还需高额的维护费用。

本案例旨在通过现代化技术手段,以极低的成本构建一套智能化的固定资产管理系统,从根本上解决这些痛点,让资产管理变得简单、高效、智能。

本案例基于华为开发者空间云开发环境(容器),采用华为云码道(CodeArts)代码智能体的SDD(规格驱动开发)模式,通过结构化的Prompt引导生成完整的项目需求规格、技术设计和任务清单。该模式将需求分析、系统设计、任务分解三个环节自动化,大幅缩短项目前期规划时间,确保文档的一致性和完整性。

与传统开发方式相比,使用SDD模式可将项目启动时间从数周缩短到数小时,开发成本降低70%以上。云开发环境提供开箱即用的Python容器,免去本地环境配置的繁琐,让开发者能够快速进入编码状态,无需担心环境兼容性问题,真正实现"零配置"开发。

案例技术选型

  • 华为开发者空间开发平台 - 云开发环境(容器):华为云提供的一站式云上开发环境,支持开箱即用的NodeJS、Python、Java等容器环境。免去基础环境部署繁琐,确保开发环境的一致性,避免版本差异导致的兼容性问题。本案例中作为项目开发的云端工作台,提供统一的Python 3.9+运行环境,支持实时预览和快速部署。
  • 华为云码道(CodeArts)代码智能体:一款集代码大模型、AI IDE、Code Agent为一体的智能编码产品,支持SDD(规格驱动开发)模式。能够理解项目需求,自动生成需求规格、技术设计、任务清单等文档,开启编码自动驾驶模式。本案例中作为核心开发助手,通过结构化Prompt快速生成完整的项目文档,为后续开发奠定坚实基础。
  • 规格驱动开发(SDD):一种新型的软件开发方法论,通过结构化的Prompt引导AI生成需求规格(spec.md)、技术设计(design.md)和任务清单(tasks.md)。确保文档的一致性和完整性,大幅缩短项目前期规划时间。本案例中作为开发方法论,将传统的需求分析、系统设计、任务分解三个环节自动化,提升开发效率300%。

1.2 适用对象

  • 个人开发者
  • 高校学生
  • 企业开发者

1.3 案例时间

本案例总时长预计120分钟。

1.4 案例流程

说明:

  1. VS Code安装开发者空间插件,远程连接云开发环境(容器);
  2. 云开发环境(容器)搭建华为云码道(CodeArts)代码智能体;
  3. 对话码道,使用Prompt逐步开发构建 AssetMind SDD(需求、设计和开发任务)。

1.5 资源总览

本案例预计花费0元。

资源名称 规格 单价(元)
华为开发者空间开发平台 - 云开发环境(容器) 鲲鹏通用计算增强型 kc1 | 4vCPUs | 8G | HCE 免费
华为云码道(CodeArts)代码智能体 系统标配 免费

二、环境和资源准备

2.1 远程连接云开发环境(容器)与码道搭建

参考案例《基于华为开发者空间 - 云开发环境(容器)搭建华为云码道(CodeArts)代码智能体》中的“二、VS Code远程连接云开发环境(容器)”和“三、搭建华为云码道(CodeArts)代码智能体”步骤,完成云开发环境(容器)远程连接与码道搭建。

2.2 码道内置SKILL配置及介绍

打开码道设置 > 技能与规则,确保系统内置中creating-sdd-directory、managing-spec/design/tasks-document、frontend-design等SKILL为开启状态。

本案例中先使用华为云码道 + SDD SKILL构建SDD,通过frontend-design美化页面设计,然后执行开发任务。

SKILL功能介绍

SDD(Specification Driven Development 规范驱动开发)是一套系统化的软件开发方法论,其优势是使决策过程可追溯,便于团队协作和知识传承。

同时,文档与代码同步更新,形成完整的知识库,极大提升了项目的可维护性。特别适合多模块复杂功能、需要团队协作或长期维护的项目,能够有效降低技术债务,提高开发质量和效率。

SDD SKILL含四大核心流程SKILL:

  • **creating-sdd-directory:**是SDD流程的起点,负责初始化规范驱动开发所需的目录结构和基础文件。
  • managing-spec-document:负责管理spec.md文档,明确记录"做什么",确保需求清晰无歧义,避免开发过程中的需求偏差,是整个SDD流程的基础。
  • managing-design-document:负责管理design.md文档,详细规划"怎么做",在设计阶段就考虑架构、技术选型和潜在问题,大幅减少返工成本,是连接需求与实现的桥梁。
  • managing-tasks-document:负责管理tasks.md文档,将复杂项目分解为可追踪的具体任务,使开发进度一目了然,是SDD流程的落地环节。

frontend-design是一个专项能力SKILL,专注于创建高质量、生产级的前端界面,提供独特的设计风格,避免通用的AI美学,生成富有创意和精致的代码。

三、对话码道:构建 AssetMind SDD

3.1 项目需求分析与功能设计

项目名称:AssetMind智能固定资产管理系统

项目目标:构建一套功能完善、用户友好、成本可控的智能固定资产管理系统,实现资产全生命周期管理,包括资产的新增、领用、归还、维保、报废等核心业务流程。

核心功能

  1. 用户管理模块:用户认证、权限控制、个人信息管理;
  2. 资产管理模块:资产CRUD、状态管理、领用归还、批量导入导出;
  3. 维保管理模块:维保待办、维保处理、维保记录;
  4. 站内信模块:消息通知、消息开关、未读提醒;
  5. 仪表盘模块:统计卡片、图表展示、待办列表
  6. 部门分类管理:部门CRUD、分类CRUD、预设分类

技术架构

1) 后端技术栈:

  • FastAPI - 现代高性能Python Web框架
  • SQLAlchemy - ORM框架
  • PostgreSQL (Neon) - 云原生数据库
  • JWT - 用户认证
  • Alembic - 数据库迁移

2) 前端技术栈

  • Vue 3 - 渐进式JavaScript框架
  • Element Plus - UI组件库
  • Vite - 构建工具
  • Pinia - 状态管理
  • ECharts - 数据可视化
  • Axios - HTTP客户端

页面结构

3.2 生成AssetMind项目SDD需求

通过上一节的需求分析与功能设计,总结生成AssetMind项目SDD的Prompt 。我们将通过如下Prompt完成需求阶段SDD的开发。

返回码道对话框,选择探索模式,输入Prompt。

注:此时还未到正式代码开发的阶段,通过探索模式,我们可以通过多次对话码道,调整优化AssetMind项目前期的需求分析、功能设计和开发任务规划,以避免开发阶段反复调整业务逻辑。

Prompt 1:项目概述与用户管理需求

执行任务:SDD目录创建以及项目概述与用户管理需求设计。

请帮我生成一个名为AssetMind项目的SDD。我将分阶段输入AssetMind项目的需求,请按照我输入的项目需求逐步完成SDD。

请为"AssetMind智能固定资产管理系统"编写需求规格说明书的第1-2章节:

1. 项目概述
   - 项目名称:AssetMind智能固定资产管理系统
   - 项目类型:企业级固定资产管理Web应用
   - 开发模式:前后端分离架构
   - 项目目标:构建功能完善的固定资产管理系统,实现资产全生命周期管理

2. 用户管理模块功能需求
   - 用户认证:登录/登出、JWT Token认证、验证码验证
   - 权限控制:管理员和普通用户两种角色,列出权限矩阵
   - 个人信息管理:查看、修改个人信息和密码

请以Markdown格式输出,包含详细的业务规则说明。

码道自动调用creating-sdd-directory SKILL在./.codeartsdoer目录下创建specs/assetmind目录。

继续执行任务,调用managing-spec-document SKILL创建spec.md并开始需求规格说明书中项目概述与用户管理的编写任务。

任务结束后,点全部接受。完成需求规格文档前两部分内容的开发:

第1章:项目概述

 - 项目基本信息(名称、类型、开发模式、目标)
 - 核心职责:固定资产全生命周期管理
 - 核心输入输出定义
 - 职责边界明确(不负责财务核算、采购流程、人事管理、物理追踪)

第2章:用户管理模块功能需求

 - 用户认证:登录/登出、JWT Token认证、验证码验证、密码安全
 - 权限控制:管理员和普通用户双角色体系、10×2权限矩阵、数据范围权限
 - 个人信息管理:查看/修改个人信息、密码修改及复杂度规则

补充章节(完整SDD规范)

第3章:领域术语定义(8个核心术语)
第4章:角色与边界(4类核心角色、4个外部系统、PlantUML上下文图)
第5章:DFX约束(性能、可靠性、安全性、可维护性、兼容性)
第6章:数据约束(用户信息、权限配置、登录日志)
Prompt 2:资产管理核心需求

继续执行任务:资产管理核心需求设计。

请为固定资产管理系统编写"资产管理模块"的详细需求:

包含以下功能:
1. 资产基础操作:新增、编辑、删除(软删除)、永久删除
2. 资产状态管理:在用、闲置、待归还、报废四种状态及转换规则
3. 资产领用:前置条件、输入参数、处理逻辑、输出结果
4. 资产归还:管理员直接归还、普通用户申请归还的区别
5. 资产报废:处理逻辑和后续操作
6. 重新入库:仅限报废资产

要求:
- 详细说明每个操作的业务规则
- 明确状态转换规则
- 说明默认值设置(部门=资产仓库)
- 以Markdown格式输出

任务执行完成,点全部接受。

查看spec.md文档,码道完成资产管理模块功能需求设计。

第3章:资产管理模块功能需求(共6个子模块)

3.1 资产基础操作
- 新增资产:自动生成资产编号(格式:IT-2024-000001)、默认部门为"资产仓库"
- 编辑资产:可修改基本信息,禁止修改资产编号和状态
- 软删除:标记删除状态,保留数据用于审计
- 永久删除:仅管理员可操作,且只能删除已软删除的资产
- 包含4个异常场景处理

3.2 资产状态管理
- 四种状态定义:在用、闲置、待归还、报废
- 状态转换矩阵:明确6种合法状态转换路径
- 状态转换验证:所有转换必须符合矩阵规则
- 包含3个异常场景(非法转换、并发冲突、审批中断)

3.3 资产领用
- 前置条件:资产状态为闲置、未删除、未锁定、有权限
- 输入参数:资产ID、领用人、领用部门、领用日期、预计归还日期、领用原因、附件
- 处理逻辑:7步完整流程(验证→锁定→创建申请→审批→更新状态→释放锁→通知)
- 输出结果:申请单编号、审批状态、资产最新状态、成功通知
- 包含4个异常场景

3.4 资产归还
- 管理员直接归还:无需审批,直接更新状态为闲置
- 普通用户申请归还:需审批,状态变更为待归还
- 后续处理:更新状态为闲置、部门为资产仓库、清除领用信息、自动创建维修申请(如损坏)
- 包含4个异常场景

3.5 资产报废
- 前置条件:状态为在用或闲置、达到报废标准
- 申请信息:报废原因、报废说明、资产残值、附件(必填)
- 处理逻辑:验证→创建申请→审批→更新状态→推送财务系统
- 后续操作:记录报废信息、推送财务系统、发送通知
- 包含4个异常场景

3.6 重新入库
- 前置条件:仅限报废资产、仅管理员可操作
- 输入参数:重新入库原因、资产现状、重新评估价值、附件
- 处理逻辑:验证→更新状态为闲置→更新部门为资产仓库→清除报废信息→推送财务系统
- 包含4个异常场景

补充内容:

领域术语扩展(新增15个术语)
- 资产编号、资产状态、在用、闲置、待归还、报废
- 资产仓库、软删除、永久删除、领用、归还、重新入库
- 状态转换矩阵、资产锁定

数据约束扩展(新增6个数据对象)
- 资产基本信息(24个字段)
- 资产领用申请(14个字段)
- 资产归还申请(13个字段)
- 资产报废申请(13个字段)
- 资产重新入库记录(9个字段)
- 资产状态变更日志(9个字段)
Prompt 3:资产查询与批量操作需求

继续执行任务:资产查询与批量操作需求设计。

请为固定资产管理系统编写资产查询和批量操作需求:

包含:
1. 资产查询与筛选
   - 筛选条件:分类、部门、状态、购置日期范围、关键词搜索
   - 权限过滤:管理员查看所有,普通用户仅查看自己的资产

2. 批量导入导出
   - 导入:Excel格式、数据验证、错误提示、结果统计
   - 导出:支持筛选条件导出、Excel格式
   - 模板下载:标准导入模板

3. 资产历史记录
   - 记录所有操作历史
   - 包含:操作类型、操作人、操作时间、部门、位置

以Markdown格式输出,包含详细的业务流程说明。

任务执行完成,点全部接受。

查看spec.md文档,码道完成资产查询与批量操作需求设计。

第4章:资产查询与批量操作模块功能需求(共3个子模块)

4.1 资产查询与筛选
  基础查询:分页查询,默认每页20条,按创建时间倒序
   筛选条件:
    - 分类筛选:支持单选和多选
    - 部门筛选:管理员查看所有,普通用户仅查看本部门
    - 状态筛选:在用、闲置、待归还、报废,支持多选
    - 购置日期范围:开始日期和结束日期
    - 关键词搜索:资产编号、名称、规格型号、品牌、存放地点
  组合筛选:多条件AND逻辑组合
  权限过滤:管理员查看所有,普通用户查看本部门和自己领用的资产
  排序规则:支持多字段排序(编号、名称、日期、金额等)
  包含4个异常场景(条件不合法、查询超时、无权限、数据量过大)

4.2 批量导入导出
  模板下载:标准Excel模板,包含列头和填写说明
  导入规则:
    - 文件格式:.xlsx或.xls,大小≤10MB,行数≤5000
    - 数据验证:必填字段、格式验证、业务规则验证、唯一性验证
    - 处理流程:验证文件→解析数据→逐行验证→批量创建→生成统计
    - 结果统计:总行数、成功数、失败数、失败详情
  导出规则:
    - 支持应用筛选条件导出
    - 文件格式:.xlsx,命名:资产列表_导出日期时间.xlsx
    - 包含16个字段(编号、名称、类别、规格、品牌、日期、金额、价值、年限、部门、状态、地点、领用人等)
    - 应用权限过滤
  包含6个异常场景(格式不支持、解析失败、验证失败、导入超时、导出量过大、文件生成失败)

4.3 资产历史记录
  记录范围:创建、编辑、删除、领用、归还、报废、重新入库、状态变更
  记录内容:
    - 基本信息:资产ID、编号、操作类型、操作人、操作时间、操作部门、操作IP
    - 数据快照:操作前数据、操作后数据(JSON格式)
    - 变更信息:变更字段列表、关联申请单、备注
  查询规则:支持按资产ID、操作类型、操作人、时间范围查询
  权限控制:管理员查看所有,普通用户查看本部门和自己领用资产
  保留规则:长期保留,不可修改和删除
  包含5个异常场景(无权限、保存失败、查询超时、数据量过大、序列化失败)

补充内容:
领域术语扩展(新增14个术语)
 - 筛选条件、权限过滤、分页查询、模糊搜索
 - 批量导入、批量导出、导入模板、数据验证、错误报告
 - 历史记录、数据快照、操作类型、审计追溯

数据约束扩展(新增5个数据对象)
 - 资产查询条件(11个字段)
 - 资产导入记录(11个字段)
 - 资产导出记录(8个字段)
 - 资产操作历史记录(14个字段)
 - 导入错误详情(7个字段)
Prompt 4:仪表盘与部门分类管理需求

继续执行任务:仪表盘与部门分类管理需求设计。

请为固定资产管理系统编写仪表盘和部门分类管理需求:

1. 仪表盘模块
   - 统计卡片:总资产数、在用资产数、闲置资产数、入库待办数
   - 图表展示:分类统计饼图、状态统计柱状图
   - 待办列表:维保待办列表、入库待办列表(待归还资产)
   - 权限控制:
     - 管理员:显示完整仪表盘
     - 普通用户:显示欢迎信息,引导查看自己的资产

2. 部门管理模块
   - 部门CRUD操作
   - 部门资产统计
   - 默认部门:资产仓库

3. 分类管理模块
   - 分类CRUD操作
   - 预设分类:
     - 电脑/笔记本
     - 台式机
     - 打印机/扫描仪
     - 办公家具
     - 仪器设备
     - 网络设备
     - 空调/电器
     - 其他

以Markdown格式输出。

任务执行完成,点全部接受。

查看spec.md文档,码道完成仪表盘与部门分类管理需求设计。

第5章:仪表盘与基础管理模块功能需求(共3个子模块)
5.1 仪表盘模块
  管理员仪表盘:
    - 统计卡片:总资产数、在用资产数、闲置资产数、入库待办数
    - 分类统计饼图:按资产类别统计数量,支持点击跳转
    - 状态统计柱状图:按资产状态统计数量,支持点击跳转
    - 维保待办列表:未来7天内或已逾期的维保任务,最多10条
    - 入库待办列表:待审批的归还申请,最多10条
    - 数据刷新:手动刷新 + 每5分钟自动刷新
  普通用户仪表盘:
    - 欢迎信息
    - 快捷操作入口:我的资产、申请领用、申请归还、维修报修
    - 我的资产概览:自己领用的资产,最多5条
  包含4个异常场景(统计查询失败、图表数据为空、待办加载失败、刷新失败)

5.2 部门管理模块
  部门CRUD操作:
    - 新增:部门名称和编码唯一性验证
    - 编辑:可修改基本信息
    - 删除:需满足无资产、无用户、无子部门、非资产仓库的条件
    - 查询:支持列表查询和树形结构查询
  资产仓库部门:
    - 系统预设,不可删除,名称不可修改
    - 作为闲置资产的默认所属部门
  部门层级:最多支持5级
  部门资产统计:统计每个部门的资产数量和状态分布
  包含5个异常场景(名称重复、编码重复、删除有资产、删除有用户、层级超限)

5.3 分类管理模块
  分类CRUD操作:
    - 新增:分类名称和编码唯一性验证
    - 编辑:可修改基本信息
    - 删除:需满足无资产、无子分类、非预设分类的条件
    - 查询:支持列表查询和树形结构查询
  预设分类(8个):
    - 电脑/笔记本(COMPUTER_LAPTOP)
    - 台式机(COMPUTER_DESKTOP)
    - 打印机/扫描仪(PRINTER_SCANNER)
    - 办公家具(OFFICE_FURNITURE)
    - 仪器设备(INSTRUMENT)
    - 网络设备(NETWORK_DEVICE)
    - 空调/电器(AIR_CONDITIONER)
    - 其他(OTHER)
  分类层级:最多支持3级
  分类排序:支持自定义排序号
  分类资产统计:统计每个分类的资产数量、状态分布和总价值
  包含5个异常场景(名称重复、编码重复、删除有资产、删除预设分类、层级超限)

补充内容:
领域术语扩展(新增17个术语)
    - 仪表盘、统计卡片、分类统计饼图、状态统计柱状图
    - 维保待办、入库待办、快捷操作
    - 部门、部门编码、部门层级、部门资产统计
    - 资产分类、分类编码、预设分类、分类层级、分类资产统计

数据约束扩展(新增5个数据对象)
    - 仪表盘统计数据(7个字段)
    - 部门信息(14个字段)
    - 资产分类信息(12个字段)
    - 维保待办信息(9个字段)
    - 入库待办信息(10个字段)
Prompt 5:维保管理与站内信需求

继续执行任务:维保管理与站内信需求设计。

请为固定资产管理系统编写维保管理和站内信模块需求:

1. 维保管理模块
   - 维保待办:查询条件、显示信息、操作(处理/延迟)
   - 维保处理:输入参数、处理逻辑(创建记录、更新资产、重置延迟次数)
   - 维保延迟:延迟次数+1、下次维保日期=当前日期+30天
   - 维保记录:查看、新增记录

2. 站内信模块
   - 消息类型:新增资产、资产领用、资产归还、资产报废、资产维保、系统通知
   - 消息触发:列出触发事件、接收人、消息内容对照表
   - 消息操作:查看、筛选、标记已读、删除、未读数量显示
   - 消息开关:用户可配置各类消息开关

以Markdown格式输出。

任务执行完成,点全部接受。

查看spec.md文档,码道完成维保管理与站内信需求设计。

第6章:维保管理与站内信模块功能需求(共2个子模块)
6.1 维保管理模块
  维保待办查询:
    - 查询条件:资产编号、名称、维保类型、计划日期范围、维保状态
    - 默认筛选:未来7天内或已逾期,状态为待处理
    - 排序:按计划日期升序(最紧急在前)
    - 显示信息:资产信息、维保类型、计划日期、剩余天数、延迟次数、状态
  维保处理:
    - 输入参数:资产ID、维保类型、实际日期、费用、人员、结果、说明、附件、下次日期
    - 处理逻辑:验证→创建记录→更新资产→创建下次待办→重置延迟次数→发送通知
    - 维保结果:正常、需跟进、已报废(自动创建报废申请)
  维保延迟:
    - 延迟次数+1,最多3次
    - 下次日期=当前日期+30天
    - 达到3次后不可再延迟
  维保记录:查询历史记录、手动新增记录
  维保提醒:前7天、前3天、当天、逾期后每天自动提醒
  维保统计:按时间、类别、类型统计次数和费用
  包含5个异常场景(参数不完整、延迟超限、资产不存在、费用异常、日期不合理)

6.2 站内信模块
  消息类型(6种):新增资产、资产领用、资产归还、资产报废、资产维保、系统通知
  消息触发规则(13种场景):
    - 新增资产→资产管理员
    - 领用申请→部门负责人/资产管理员
    - 领用通过/拒绝→申请人
    - 归还申请→部门负责人/资产管理员
    - 归还通过/拒绝→申请人
    - 报废申请→资产管理员/财务部门
    - 报废通过/拒绝→申请人
    - 维保到期提醒→责任人/领用人
    - 维保完成通知→责任人
    - 系统公告→所有用户
  消息操作:
    - 查看:分页列表,按时间倒序
    - 筛选:按类型、已读状态、时间范围
    - 标记已读:单条、批量、全部
    - 删除:单条、批量(软删除)
    - 未读数量:导航栏实时显示
  消息开关:
    - 可配置类型:新增资产、领用、归还、报废、维保
    - 系统通知不可关闭
    - 按类型开关配置
    - 消息推送:WebSocket实时推送
  包含5个异常场景(推送失败、查询失败、配置失败、批量部分失败、系统通知删除尝试)

补充内容:
  领域术语扩展(新增20个术语)
    - 维保、维保待办、维保类型、维保记录、维保延迟、延迟次数
    - 维保费用、维保结果、维保提醒
    - 站内信、消息类型、消息触发、消息开关、未读消息、已读状态、消息推送、系统通知
  数据约束扩展(新增5个数据对象)
    - 维保记录信息(19个字段)
    - 维保待办信息(14个字段)
    - 站内信信息(13个字段)
    - 消息开关配置(6个字段)
    - 维保统计信息(7个字段)
Prompt 6:非功能需求与数据需求

继续执行任务:非功能需求与数据需求设计。

请为固定资产管理系统编写非功能需求和数据需求:

1. 非功能需求
   - 性能要求:页面加载<2秒、API响应<500ms、并发>100用户
   - 安全要求:JWT认证、密码加密、SQL注入防护、XSS防护、CSRF防护
   - 可用性要求:响应式设计、友好错误提示、操作确认、加载状态
   - 可维护性要求:代码模块化、前后端分离、RESTful API、日志记录

2. 数据需求
   - 数据实体:User、Asset、AssetHistory、MaintenanceRecord、Department、Category、Message、MessageSwitch
   - 数据关系:用户1:N站内信、资产1:N历史、资产1:N维保记录等
   - 数据保留:资产数据永久保留、历史记录永久保留、站内信用户可删除

以Markdown格式输出。

任务执行完成,点全部接受。

查看spec.md文档,码道完成非功能需求与数据需求设计。

第7章:非功能需求(共4个子章节)
7.1 性能要求
  页面加载性能:
    - 首屏加载<2秒、页面切换<1秒、静态资源<500ms
    - 优化措施:代码分割、懒加载、CDN、资源压缩
  API响应性能:
    - 查询接口<500ms、统计接口<1秒、写入接口<300ms、批量操作<5秒
    - 适用场景分类明确
  并发性能:
    - 支持100个用户同时在线、500个并发请求
    - 数据库连接池≥50个连接
  资源占用:
    - 前端内存≤100MB、后端内存≤2GB、CPU≤80%
    - 数据库连接≤100、缓存命中率≥80%
7.2 安全要求
  身份认证安全:
    - JWT Token认证(24小时有效期,支持刷新)
    - 密码安全(BCrypt加密、HTTPS传输、强度要求)
    - 验证码防护(5分钟有效、3次错误锁定)
  数据安全:
    - SQL注入防护(参数化查询)
    - XSS防护(输入过滤、输出编码)
    - CSRF防护(Token验证)
    - 敏感数据保护(加密存储、脱敏显示)
  访问控制:
    - 权限验证(功能权限+数据权限)
    - 操作审计(关键操作记录日志)
    - 会话管理(24小时超时、单点登录)

7.3 可用性要求
  界面设计:
    - 响应式设计(PC、平板、手机适配)
    - 界面一致性(统一风格、遵循设计规范)
    - 操作便捷性(表单优化、快捷操作)
  错误处理:
    - 友好错误提示(分类、原因、建议)
    - 错误恢复(数据保存、操作重试)
    - 异常捕获(前端、后端异常)
  用户引导:
    - 操作确认(关键操作二次确认)
    - 加载状态(Loading、骨架屏)
    - 操作反馈(成功/失败反馈)

7.4 可维护性要求
  代码质量:
    - 代码模块化(组件化、分层架构)
    - 代码规范(命名、注释、格式)
    - 代码复用(公共组件、函数、样式)
  架构设计:
    - 前后端分离(Vue/React + Spring Boot/Node.js)
    - RESTful API(规范、文档、版本控制)
    - 数据库设计(第三范式、索引、约束)
  日志与监控:
    - 日志记录(级别、内容、格式)
    - 错误日志(详细信息、告警)
    - 性能监控(指标、工具、告警)

第8章:数据需求(共3个子章节)
8.1 数据实体
  核心数据实体(8个):
    - User、Asset、AssetHistory、MaintenanceRecord
    - Department、Category、Message、MessageSwitch
    - 详细定义属性、主键、外键、约束
  辅助数据实体(8个):
    - AssetBorrow、AssetReturn、AssetScrap、AssetReentry
    - ImportRecord、ExportRecord、LoginLog、AuditLog
8.2 数据关系
  一对多关系(11种):
    - User 1:N Message、Asset 1:N AssetHistory等
    - 明确级联删除策略
  多对一关系(4种):
    - Message N:1 User、Asset N:1 Department等
    - 一对一关系(3种):
  User 1:1 Department、Asset 1:1 Category等

8.3 数据保留策略
  永久保留数据(6类):
    - 资产数据、历史记录、维保记录、审计日志、部门数据、分类数据
    - 仅支持软删除,支持恢复
  用户可管理数据(2类):
    - 站内信、导入导出记录
    - 用户可删除,系统通知不可删除
  定期清理数据(3类):
    - 登录日志(保留1年)、临时文件(保留3个月)、过期会话(每天清理)
  数据备份策略(3种):
    - 全量备份(每周)、增量备份(每天)、实时备份(关键数据)
    - RTO<1小时,RPO<5分钟

第9章:附录
    - 术语索引:按字母顺序索引所有术语
    - 文档版本历史:记录文档修订信息
    - 参考文档:列出参考的标准和规范
Prompt 7:API接口需求与约束条件

继续执行任务:API接口需求与约束条件设计。

请为固定资产管理系统编写接口需求和约束条件:

1. 接口需求(列出所有API端点)
   - 认证接口:login、logout、captcha
   - 资产接口:CRUD、borrow、return、scrap、confirm-return、permanent、re入库、history、import、export、template
   - 维保接口:todos、records、process、delay、add
   - 站内信接口:messages、read、delete、unread-count
   - AI接口:classify、query

2. 约束条件
   - 技术约束:Python+FastAPI、Vue3+ElementPlus、PostgreSQL、JWT
   - 业务约束:资产编码唯一、状态转换规则、权限控制、报废资产才能重新入库
   - 数据约束:资产价值>=0、下次维保日期>=购置日期、用户名唯一

以Markdown格式输出。

任务执行完成,点全部接受。

查看spec.md文档,码道完成API接口需求与约束条件设计。

第10章:接口需求(共5个子章节,36个API端点)
10.1 认证接口(4个)
    - POST /api/auth/login - 用户登录
    - POST /api/auth/logout - 用户登出
    - GET /api/auth/captcha - 获取验证码
    - POST /api/auth/refresh - 刷新Token

10.2 资产接口(15个)
    - GET /api/assets - 查询资产列表
    - GET /api/assets/{asset!ID} - 查询资产详情
    - POST /api/assets - 新增资产
    - PUT /api/assets/{assetID} - 编辑资产
    - DELETE /api/assets/{assetID} - 删除资产(软删除)
    - DELETE /api/assets/{assetID}/permanent - 永久删除资产
    - POST /api/assets/{assetID}/borrow - 资产领用
    - POST /api/assets/{assetID}/return - 资产归还
    - POST /api/assets/{assetID}/confirm-return - 确认归还(管理员)
    - POST /api/assets/{assetID}/scrap - 资产报废
    - POST /api/assets/{assetID}/reentry - 资产重新入库
    - GET /api/assets/{assetID}/history - 查询资产历史
    - POST /api/assets/import - 批量导入资产
    - GET /api/assets/export - 批量!导出资产
    - GET /api/assets/template - 下载导入模板

10.3 维保接口(5个)
    - GET /api/maintenance/todos - 查询维保待办
    - GET /api/maintenance/records - 查询维保记录
    - POST /api/maintenance/process - 处理维保
    - POST /api/maintenance/{todoID}/delay - 延迟维保
    - POST /api/maintenance/add - 新增维保记录

10.4 站内信接口(5个)
    - GET /api/messages - 查询消息列表
    - POST /api/messages/read - 标记消息已读
    - DELETE /api/messages - 删除消息
    - GET /api/messages/unread-count - 查询未读消息数量
    - POST /api/messages/switch - 配置消息开关

10.5 AI接口(2个)
    - POST /api/ai/classify - AI资产分类
    - POST /api/ai/query - AI智能查询

第11章:约束条件(共3个子章节)
11.1 技术约束
  开发技术栈:
    - 后端:Python 3.9+ + FastAPI + SQLAlchemy + PostgreSQL + Redis
    - 前端:Vue 3 + Element Plus + Pinia + Vue Router + Axios
    - 工具:Git、ESLint、Prettier、Black、Pytest、Jest

  系统架构约束:
    - 前后端分离架构
    - PostgreSQL主数据库 + Redis缓存
    - JWT Token认证

11.2 业务约束
  资产编码约束:唯一性、格式(XX-YYYY-NNNNNN)、自动生成
  状态转换约束:6种合法转换、4种非法转换
  权限控制约束:角色权限、数据范围、操作权限
  业务规则约束:报废才能重新入库、闲置才能领用、在用才能归还

11.3 数据约束
  数值约束:资产价值>0、使用年限>0、日期合理性
  唯一性约束:用户名、资产编码、部门名称/编码、分类名称/编码
  长度约束:12种字段长度限制
  格式约束:日期、时间、资产编码、手机号、邮箱格式
  枚举约束:9种枚举值定义

至此,AssetMind项目的SDD需求文档全部完成,通篇检查一下内容是否有错误或者需要优化的地方,也可以通过码道检查优化。

Prompt 8:需求文档纠错与优化
请通篇检查,有没有错误或需要优化修改的地方,不要直接执行,先罗列出来。

码道自动从文档中错误标记、章节结构、编号顺序、格式错误、章节引用等方面全方位检查需求文档的错误或可优化项。

检查执行完后,识别可优化项,可根据需要对话码道逐条修改优化建议。常见问题:

  1. 章节编号与结构问题;
  2. 业务功能问题;

注:建议业务功能问题逐条优化,这是一个逐步清晰需求边界的过程,避免需求无限制蔓延。

1. 用户管理,没有固定用户管理模块,但后台默认用户分为两种,即管理员和普通用户。
2. 资产归还,简易的审批流程,即若admin用户提交归还,则直接将资产状态变更为闲置,若普通用户归还,则资产变为待归还状态,admin用户点确认归还后再将资产状态变为闲置。
3. 系统设置,要简易修改,如站内信的接收控制,密码用户名的修改。 
4. 资产领用,只有管理员有该权限,闲置状态资产点领用,弹窗搜索选择使用人。 
5.资产报废流程,只有管理员有该权限,点资产报废,资产状态变为报废,报废后的资产,仍可以编辑、删除和查看历史,点编辑时弹窗最下侧有重新入库,点重新入库后资产状态变为闲置。

注:因为需求文档设计的章节比较多,单次修改很难达到前后逻辑统一。可以多次使用“通篇检查”的Prompt和修改优化指令。

最终 spec.md 文档内容完整、逻辑清晰、定义准确、无矛盾冲突,便可以开始下一部分内容:AssetMind项目SDD设计。

3.3 生成AssetMind项目SDD设计

我们将通过如下Prompt完成设计阶段SDD的开发。

Prompt 1:系统架构与数据库设计

执行SDD设计任务:编写设计文档的架构和数据库设计。

请为固定资产管理系统编写设计文档的架构和数据库部分:

1. 系统架构设计
   - 整体架构:前端层、后端层、数据层的架构图
   - 技术栈选型:后端(Python、FastAPI、SQLAlchemy、PostgreSQL)、前端(Vue3、ElementPlus、Vite)

2. 数据库设计
   - ER图:用户、资产、历史、维保、消息等实体关系
   - 表结构设计:编写8个核心表的CREATE TABLE语句
     * users(用户表)
     * assets(资产表)
     * asset_histories(资产历史表)
     * maintenance_records(维保记录表)
     * messages(站内信表)
     * message_switches(消息开关表)
     * departments(部门表)
     * categories(分类表)
   - 索引设计:为每个表添加必要的索引

以Markdown格式输出,包含SQL语句。

任务执行完成后,点全部接受。

查看design.md文档,码道完成系统架构与数据库设计。

第一章 系统架构设计

1.1 整体架构

  三层架构:前端层、后端层、数据层
  架构图:使用PlantUML绘制完整的系统架构图
  架构说明:详细说明各层职责和组件
  前端层组件:
    - Vue 3 应用(SPA)
    - Element Plus UI组件库
    - Pinia状态管理
    - Vue Router路由管理
    - Axios HTTP客户端
  后端层组件:
    - FastAPI应用(RESTful API)
    - JWT认证中间件
    - 业务逻辑层
    - 数据访问层(ORM)
    - Celery异步任务队列
  数据层组件:
    - PostgreSQL主数据库
    - Redis缓存和会话存储

1.2 技术栈选型
  后端技术栈(10项):
    - Python 3.9+、FastAPI 0.100+、SQLAlchemy 2.0+
    - PostgreSQL 13+、Redis 6+、Celery 5+
    - PyJWT 2+、Pydantic 2+、Uvicorn 0.20+、Alembic 1+
  前端技术栈(8项):
    - Vue 3.3+、Element Plus 2.3+、Pinia 2+
    - Vue Router 4+、Axios 1+、Vite 4+
    - ECharts 5+、TypeScript 5+
  开发工具(7项):
    - Git、Docker、Nginx
    - Prometheus、Grafana、ELK Stack

1.3 系统部署架构
  负载均衡层
  前端服务器集群
  后端服务器集群
  数据层(PostgreSQL主从复制、Redis集群)
  文件存储

第二章 数据库设计

2.1 ER图
  使用PlantUML绘制完整的实体关系图
  包含8个核心实体及其关系
  标注主键(PK)、外键(FK)

2.2 表结构设计(8个核心表)
  1. users(用户表)
    - 字段:user_id、username、password、name、role、department_id、phone、email、status
    - 约束:用户名唯一、角色检查、外键关联部门
    - 注释:完整的字段注释
  2. departments(部门表)
    - 字段:department_id、department_name、department_code、parent_id、level、manager_id、is_asset_warehouse
    - 约束:名称和编码唯一、层级检查(1-5级)、自关联外键
    - 特性:支持树形结构、资产仓库标识
  3. categories(分类表)
    - 字段:category_id、category_name、category_code、parent_id、level、is_preset
    - 约束:名称和编码唯一、层级检查(1-3级)、自关联外键
    - 特性:支持树形结构、预设分类标识
  4. assets(资产表)
    - 字段:asset_id、asset_code、asset_name、category_id、purchase_amount、current_value、status、borrower_id、is_deleted
    - 约束:资产编号唯一、金额检查、状态检查、多个外键关联
    - 特性:支持软删除、完整的资产生命周期字段
  5. asset_histories(资产历史表)
    - 字段:history_id、asset_id、operation_type、operator_id、before_data、after_data、changed_fields
    - 特性:使用JSONB存储数据快照、支持完整审计追溯
  6. maintenance_records(维保记录表)
    - 字段:maintenance_id、asset_id、maintenance_type、plan_date、actual_date、cost、result、delay_count
    - 约束:维保类型检查、结果检查、延迟次数检查(0-3次)
    - 特性:支持附件存储(JSONB)
  7. messages(站内信表)
    - 字段:message_id、title、content、message_type、receiver_id、read_status、is_deleted
    - 约束:消息类型检查、已读状态检查
    - 特性:支持软删除、关联对象标识
  8. message_switches(消息开关表)
    - 字段:switch_id、user_id、message_type、switch_status
    - 约束:用户+消息类型唯一约束
    - 特性:用户个性化消息配置

2.3 索引设计
  为每个表设计了完整的索引:
    - 单列索引:外键字段、状态字段、时间字段
    - 组合索引:常用查询条件组合
    - 排序索引:时间降序索引
    - 索引总数:约40个索引
 关键组合索引:
    - idx_assets_dept_status:部门+状态(列表查询)
    - idx_assets_status_deleted:状态+删除标记(列表查询)
    - idx_histories_asset_time:资产+时间(历史查询)
    - idx_maintenance_status_plan:状态+计划日期(待办查询)
    - idx_messages_receiver_status:接收人+已读状态+删除标记(消息列表)

2.4 数据库初始化脚本
  创建预设部门(资产仓库)
  创建预设分类(8个一级分类)
  创建默认管理员用户

第三章 数据库迁移策略
  Alembic配置说明
  迁移脚本示例
  迁移最佳实践(5条)
Prompt 2:API设计与前后端架构

执行SDD设计任务:编写API设计与前后端架构设计。

请为固定资产管理系统编写API设计和前后端架构:

1. API设计
   - RESTful API规范:请求格式、响应格式、错误响应
   - API端点设计:列出所有端点的HTTP方法、路径、说明

2. 前端架构设计
   - 目录结构:views、components、api、router、utils
   - 页面路由设计:路由配置代码
   - 状态管理:Vue3 Composition API、reactive/ref、localStorage

3. 后端架构设计
   - 目录结构:api、models、schemas、services、core、middlewares
   - 分层架构:API层→服务层→模型层→数据库

以Markdown格式输出,包含代码示例。

任务执行完成后,点全部接受。

查看design.md文档,码道完成API设计与前后端架构设计。

第四章 API设计(新增)

4.1 RESTful API规范
  请求格式:
   - 请求头规范(Content-Type、Authorization、Accept)
   - 请求体格式(data + meta)
   - 查询参数规范(分页、排序、筛选、搜索)
  响应格式:
   - 成功响应格式(code、message、data、meta)
   - 分页响应格式(items、total、page、page_size、total_pages)
   - 错误响应格式(error.type、error.details)
  HTTP状态码规范:
   - 9种状态码定义(200、201、204、400、401、403、404、409、422、500)

4.2 API端点设计
  8大模块接口:
    认证接口(4个端点)
      - POST /api/v1/auth/login
      - POST /api/v1/auth/logout
      - POST /api/v1/auth/refresh
      - GET /api/v1/auth/captcha
    用户管理接口(9个端点)
      - CRUD操作 + 密码修改 + 状态修改 + 个人信息
    资产管理接口(13个端点)
      - CRUD操作 + 领用 + 归还 + 报废 + 重新入库 + 历史 + 导入导出
    部门管理接口(6个端点)
      - CRUD操作 + 树形结构
    分类管理接口(6个端点)
      - CRUD操作 + 树形结构
    维保管理接口(6个端点)
      - CRUD操作 + 待办查询
    消息管理接口(8个端点)
      - CRUD操作 + 已读标记 + 未读数量 + 消息开关
    仪表盘接口(4个端点)
      - 统计数据 + 状态图表 + 分类图表 + 待办事项
  API端点总数:56个端点

第五章 前端架构设计(新增)

5.1 目录结构
  完整的前端目录结构:
   - api/:8个API接口封装文件
   - components/:公共组件(common、layout、business)
   - composables/:组合式函数(useAuth、useTable、useForm、useMessage)
   - router/:路由配置
   - stores/:Pinia状态管理
   - types/:TypeScript类型定义
   - utils/:工具函数(request、auth、storage、format、validate)
   - views/:页面组件(8个模块)

5.2 页面路由设计
  路由配置:
   - 完整的路由定义(使用Vue Router 4)
   - 嵌套路由结构
   - 路由元信息(title、icon、requiresAuth、roles)
   - 懒加载配置
  路由守卫:
   - 全局前置守卫
   - 认证检查
   - 权限检查
   - 页面标题设置
  路由模块:
   - 登录页面
   - 仪表盘
   - 资产管理(列表、详情、创建、编辑)
   - 用户管理(列表、个人信息)
   - 部门管理
   - 分类管理
   - 维保管理(列表、详情)
   - 消息管理(列表、详情)

5.3 状态管理
  认证状态管理(useAuthStore):
   - 状态:user、token、refreshTokenValue
   - 计算属性:isAuthenticated、isAdmin
   - 方法:handleLogin、handleLogout、handleRefreshToken、fetchUserInfo、init
   - 使用Vue 3 Composition API + Pinia
  应用状态管理(useAppStore):
   - 侧边栏折叠状态
   - 未读消息数量
   - localStorage持久化
  本地存储工具:
   - setStorage、getStorage、removeStorage、clearStorage
   - 统一前缀管理
  Token管理:
   - setToken、getToken、removeToken
   - setRefreshToken、getRefreshToken、removeRefreshToken
   - 过期时间检查

第六章 后端架构设计(新增)

6.1 目录结构
  完整的后端目录结构:
   - api/v1/:API路由层(8个路由文件)
   - core/:核心配置(config、security、exceptions、responses)
   - middlewares/:中间件(auth、logging、error)
   - models/:数据模型层(7个ORM模型)
   - schemas/:数据验证模式(7个Pydantic模式)
   - services/:业务逻辑层(8个服务)
   - repositories/:数据访问层(7个仓库)
   - tasks/:异步任务(Celery)
   - utils/:工具函数

6.2 分层架构
  五层架构:

                   API层(路由层)
                        ↓
                 服务层(业务逻辑层)
                        ↓
                 仓库层(数据访问层)
                        ↓
                   模型层(ORM层)
                        ↓
                     数据库层

  完整代码示例:
    1.API层示例(assets.py):
     - 8个路由端点实现
     - 依赖注入
     - 参数验证
     - 响应格式化
     2.服务层示例(AssetService):
     - 业务逻辑处理
     - 事务管理
     - 历史记录
     - 资产编号生成
    3.仓库层示例(BaseRepository):
     - 泛型基类
     - CRUD操作
     - 分页查询
     - 过滤条件
    4. 模型层示例(Asset):
     - SQLAlchemy模型定义
     - 字段定义
     - 关系定义
     - to_dict方法

6.3 依赖注入
  依赖注入实现:
   - get_db:数据库会话
   - get_current_user:当前用户
   - get_current_active_user:当前活跃用户
   - JWT Token解析
   - 权限验证
Prompt 3:业务流程与安全性能设计

执行SDD设计任务:业务流程与安全性能设计。

请为固定资产管理系统编写核心业务流程、安全、性能和部署设计:

1. 核心业务流程设计
   - 资产领用流程:6个步骤
   - 资产归还流程:管理员和普通用户的区别
   - 维保处理流程:3个步骤
   - AI分类流程:6个步骤

2. 安全设计
   - 认证机制:JWT Token、有效期、存储、请求头
   - 权限控制:RBAC、角色、API验证、路由守卫
   - 数据安全:密码加密、SQL注入防护、XSS防护、软删除

3. 性能优化设计
   - 数据库优化:索引、分页、连接池
   - 前端优化:懒加载、防抖节流
   - API优化:压缩、缓存、异步

4. 部署设计
   - 开发环境:启动命令
   - 生产环境:构建和部署命令

以Markdown格式输出。

任务执行完成后,点全部接受。

image-20260403144316554

查看design.md文档,业务流程与安全性能设计。

第七章 核心业务流程设计(新增)

7.1 资产领用流程
  流程图:使用PlantUML绘制完整的12步流程图
  详细步骤:
   - 用户选择资产并填写领用信息
   - 前端验证表单数据
   - 发送领用请求
   - 后端验证权限
   - 调用资产服务
   - 查询资产信息
   - 验证资产状态
   - 保存修改前数据
   - 更新资产状态
   - 记录操作历史
   - 发送领用通知
   - 返回结果并刷新
  业务规则:
   - 权限规则:普通用户/管理员/资产管理员
   - 状态规则:idle → in_use
   - 时间规则:领用时间、预计归还时间
   - 数据完整性:历史记录、通知

7.2 资产归还流程
  流程图:区分管理员和普通用户的流程
  管理员归还流程(11步):
   - 直接归还,状态变为闲置
   - 立即清空领用信息
  普通用户归还流程(11步):
   - 提交申请,状态变为待归还
   - 保留领用信息,等待确认
  业务规则:
   - 权限差异
   - 状态转换差异
   - 数据清空差异

7.3 维保处理流程
  流程图:3个主要步骤
  步骤1:制定维保计划(7步)
   - 选择资产、填写计划、创建记录、创建待办
  步骤2:执行维保(7步)
   - 开始维保、完成维保、填写结果、上传附件
  步骤3:结果处理(3种情况)
   - 维保正常:设置下次计划
   - 需要跟进:创建跟进待办
   - 资产报废:更新资产状态
  业务规则:
   - 计划规则、执行规则、延迟规则、结果规则

7.4 AI分类流程
  流程图:18步完整流程
  详细步骤:
   - 1-2. 用户输入资产信息
   - 3-4. AI服务处理(文本预处理、特征提取、模型推理、计算置信度)
   - 5-9. 返回分类结果
   - 10-12. 显示推荐结果
   - 13-17. 用户反馈处理
   - 18. 确认分类

  业务规则:
   - 输入规则、推荐规则、反馈规则、性能规则

第八章 安全设计(新增)

8.1 认证机制
  JWT Token设计:
   - Token结构(header、payload、signature)
   - Token配置(密钥、算法、有效期)
   - Token生成和验证代码示例
  Token有效期策略:
   - 双Token机制:Access Token(1小时)+ Refresh Token(7天)
   - Token刷新流程图
  Token存储:
   - localStorage存储策略
   - 安全考虑(避免CSRF、XSS)
  请求头携带:
   - Authorization: Bearer {token}
   - Axios拦截器配置

8.2 权限控制
  RBAC模型:
   - 角色定义:admin、user
   - 权限矩阵:详细的权限配置表
  API权限验证:
   - 后端权限装饰器
   - 资源级权限验证
  前端路由守卫:
   - 路由权限配置
   - 路由守卫实现
   - 按钮级权限控制

8.3 数据安全
  密码加密:
   - BCrypt加密实现
   - 密码规则
  SQL注入防护:
   - ORM查询
   - Pydantic验证
   - 数据库连接安全
  XSS防护:
   - 前端输入清理(DOMPurify)
   - 后端输出编码
   - Vue自动转义
  软删除机制:
   - 软删除实现
   - 软删除优势
   - 永久删除

第九章 性能优化设计(新增)
9.1 数据库优化
  索引优化:
   - 关键索引设计(单列索引、组合索引)
   - 索引使用原则
  分页查询:
   - 后端分页实现
   - 前端分页组件
  连接池配置:
   - SQLAlchemy连接池
   - 连接池参数说明

9.2 前端优化
  路由懒加载:
   - 路由懒加载配置
   - 优势说明
  组件懒加载:
   - 异步组件
  防抖和节流:
   - 防抖实现
   - 节流实现
   - 使用示例
  虚拟滚动:
   - 长列表虚拟滚动
   - 优势说明

9.3 API优化
  响应压缩:
   - Gzip压缩配置
   - Nginx压缩配置
  缓存策略:
   - Redis缓存
   - HTTP缓存头
  异步处理:
   - Celery异步任务
   - API调用示例

第十章 部署设计(新增)
10.1 开发环境
  后端启动:
   - 安装依赖
   - 数据库初始化
   - 启动服务
  前端启动:
   - 安装依赖
   - 启动开发服务器
   - 访问地址

10.2 生产环境
  后端构建和部署:
   - Dockerfile配置
   - Docker构建和运行
   - Docker Compose配置
   - 部署命令
  前端构建和部署:
   - 构建生产版本
   - Nginx配置
   - 部署命令
  完整部署流程(5步):
   - 准备服务器(Docker、Docker Compose、Nginx)
   - 部署后端(克隆代码、配置环境、启动服务、数据库迁移)
   - 部署前端(构建、部署到Nginx、配置Nginx)
   - 配置HTTPS(Certbot、SSL证书、自动续期)
   - 监控和日志(应用日志、Nginx日志、服务状态)
Prompt 4:PostgreSQL数据库连接配置

执行SDD设计任务:PostgreSQL数据库连接配置设计。

数据库使用Neon提供的PostgreSQL数据库,我会在本地配置Neon MCP。请在设计中预留好数据库连接配置。样例:DATABASE_URL=postgresql+asyncpg://neondb_owner:***@ep-sparkling-band-amry7bjb-pooler.c-5.us-east-1.aws.neon.tech/neondb?ssl=require

任务执行完成后,点全部接受。

image-20260403150433077
Prompt 5:页面风格设计

执行SDD设计任务:页面风格设计。

在design.md的第5章"前端架构设计"的子章节,添加页面风格设计:
前端界面使用 frontend-design SKILL 设计,使用 Minimalist Modern 风格,Electric Blue 主色调,避免页面的 AI 化设计。
image-20260403164351850
Prompt 6:设计文档纠错与优化

在前面我们已经通过“需求文档纠错与优化”约束了需求范围,此处我们仅需要核对设计文档与需求文档是否一致,以及设计文档本身的格式和逻辑错误。

通篇检查design.md,有没有错误或需要优化修改的地方,其内容是否与spec.md一致。不要直接执行,先罗列出来。

码道自动从设计文档格式错误、与spec.md不一致的地方、内容缺失或不完整等方面全方位检查错误或可优化项。

此处使用批量优化Prompt,对设计文档进行优化(样例:“请逐条修改问题”)。

注:可以多次使用“通篇检查”的Prompt和修改优化指令,以完成设计文档的错误修改及优化。

3.4 生成AssetMind项目SDD开发任务

我们将通过如下Prompt完成开发任务SDD的开发。

继续执行生成AssetMind项目SDD开发任务,根据spec.md和design.md自动生成tasks.md。要求开发任务按照前端开发、后端开发和其他内容顺序完成tasks.md。
综合spec和design通篇检查一下task有什么需要修改或优化的地方。

注:可以多次使用“通篇检查”的Prompt和修改优化指令,以完成开发task文档的错误修改及优化。

本案例中生成的AssetMind项目SDD已上传gitCode,请根据需求自行下载

至此,AssetMind项目SDD开发完成,包含完整的需求、设计和开发任务。各位小伙伴快来下载华为云码道(CodeArts)代码智能体构建自己的应用吧!

反馈改进建议

如您在案例实操过程中遇到问题或有改进建议,可以到论坛帖评论区反馈即可,我们会及时响应处理,谢谢!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐