---
name: data-flow-spec
description: 数据流转规格模板
---

# 数据流转规格模板

## 数据依赖关系 ⚠️ 必填

| 数据A | 依赖数据B | 依赖类型 | 说明 |
|-------|----------|----------|------|
| 订单 | 客户 | 创建依赖 | 创建订单前必须先选择客户 |
| 发货单 | 订单 | 创建依赖 | 订单审批通过后才能创建发货单 |
| 订单 | 商品 | 引用依赖 | 商品下架后订单仍显示历史信息 |

### 依赖类型说明
- **创建依赖**：必须先有B才能创建A
- **引用依赖**：A引用B，B变化时A如何处理
- **级联依赖**：删除B时A如何处理

## 数据联动规则 ⚠️ 必填

| 触发字段 | 联动字段 | 联动规则 | 触发时机 |
|----------|----------|----------|----------|
| 商品数量 | 商品总价 | 数量 × 单价 | 输入时实时计算 |
| 省份 | 城市列表 | 根据省份筛选城市 | 省份选择后 |
| 优惠券 | 实付金额 | 总价 - 优惠金额 | 选择优惠券后 |
| 全选 | 列表项选中状态 | 全部选中/取消 | 点击全选时 |

## 数据缓存策略 ⚠️ 必填

| 数据类型 | 缓存位置 | 缓存时长 | 失效条件 | 更新策略 |
|----------|----------|----------|----------|----------|
| 用户信息 | localStorage | 7天 | 退出登录 | 登录时更新 |
| 字典数据 | sessionStorage | 会话期间 | 关闭标签页 | 首次访问时加载 |
| 列表数据 | 内存(store) | 页面生命周期 | 路由切换 | 每次进入刷新 |
| 表单草稿 | localStorage | 24小时 | 提交成功 | 输入时自动保存 |

## 更新策略 ⚠️ 必填

| 操作 | 更新策略 | 失败回滚 | 说明 |
|------|----------|----------|------|
| 点赞 | 乐观更新 | 是 | 先更新UI，失败后回滚 |
| 删除 | 悲观更新 | - | 等API成功后再更新UI |
| 编辑 | 悲观更新 | - | 等API成功后再更新UI |
| 排序 | 乐观更新 | 是 | 拖拽时立即更新，失败回滚 |

## 数据冲突处理 ⚠️ 必填

| 场景 | 检测方式 | 处理策略 | 用户提示 |
|------|----------|----------|----------|
| 多人编辑 | 版本号比对 | 后提交者提示冲突 | "数据已被他人修改，请刷新后重试" |
| 多标签页 | 时间戳比对 | 提示数据已变更 | "数据已更新，是否刷新？" |
| 离线编辑 | 本地队列 | 恢复网络后同步 | "正在同步离线数据..." |

## 数据同步机制

| 场景 | 同步方式 | 同步频率 | 说明 |
|------|----------|----------|------|
| 消息通知 | WebSocket | 实时 | 新消息实时推送 |
| 列表数据 | 轮询 | 30秒 | 定时刷新列表 |
| 状态变更 | 事件驱动 | 操作后 | 操作成功后刷新相关数据 |

