You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

3.3 KiB

Mock 数据规范化 - UUID v7 格式更新

日期: 2026-01-24
类型: 数据规范化
影响范围: 前端 Mock 数据层

变更概述

完成前端所有主要 Mock 数据的 UUID v7 格式规范化,确保与后端 API 规范完全一致。

变更详情

已完成文件

  1. users.ts

    • 所有用户 ID 更新为 UUID v7 格式
    • 用户 ID: 018e1234-5678-7abc-8def-000000000001 ~ 000000000003
  2. projects.ts

    • 所有项目 ID、ownerId、folderId 更新为 UUID v7
    • 项目 ID: 018e1234-5678-7abc-8def-100000000001 ~ 100000000008
  3. folders.ts

    • 所有文件夹 ID、ownerId、parentFolderId 更新为 UUID v7
    • 文件夹 ID: 018e1234-5678-7abc-8def-150000000001 ~ 150000000006
  4. resources.ts

    • 所有资源 ID、projectId、createdBy 更新为 UUID v7
    • 资源 ID: 018e1234-5678-7abc-8def-200000000001 ~ 200000000033
    • 涵盖所有项目的角色、场景、道具、实拍素材
  5. storyboards.ts

    • 所有分镜 ID、projectId、resourceId 引用更新为 UUID v7
    • 分镜 ID: 018e1234-5678-7abc-8def-300000000001 ~ 300000000013
    • 更新了所有资源关联引用
  6. timeline.ts

    • 所有轨道 ID、项目 ID 更新为 UUID v7
    • 所有时间轴元素 ID、trackId、关联 ID 更新为 UUID v7
    • 轨道 ID: 018e1234-5678-7abc-8def-400000000001 ~ 400000000006
    • 元素 ID: 018e1234-5678-7abc-8def-500000000001 ~ 500000000401

UUID v7 格式规范

所有 ID 遵循以下格式:

018e1234-5678-7abc-8def-{类型前缀}{序号}

类型前缀:
- 000000000xxx: 用户
- 100000000xxx: 项目
- 150000000xxx: 文件夹
- 200000000xxx: 资源
- 300000000xxx: 分镜
- 400000000xxx: 时间轴轨道
- 500000000xxx: 时间轴元素
- 600000000xxx: 视频
- 700000000xxx: 音效
- 800000000xxx: 字幕
- 900000000xxx: 配音

数据关联性验证

所有外键引用已验证:

  • projectId → projects 表
  • folderId → folders 表
  • ownerId/createdBy → users 表
  • resourceId → resources 表
  • storyboardId → storyboards 表
  • trackId → timeline tracks 表

技术细节

字段命名规范

  • 统一使用 camelCase(API 响应层格式)
  • 时间戳字段:createdAt, updatedAt
  • 外键字段:projectId, folderId, ownerId, createdBy

枚举值处理

  • 后端使用 SMALLINT 存储
  • API 层转换为字符串格式
  • 前端 Mock 数据使用字符串格式保持一致

后续工作

待更新文件(优先级较低)

  • variants.ts - 标签变体数据
  • voices.ts - 配音数据
  • profiles.ts - 档案数据

这些文件的数据结构较为独立,不影响主要功能的数据关联性。

影响评估

正面影响

  1. 数据格式与后端 API 完全一致
  2. 便于前后端联调和数据迁移
  3. 提高代码可维护性
  4. 符合 UUID v7 标准规范

潜在风险

  1. 现有引用旧 ID 的代码需要更新
  2. 本地存储的数据可能需要清理

测试建议

  1. 清理浏览器本地存储
  2. 验证所有列表页面数据加载
  3. 验证详情页面数据关联
  4. 验证创建/编辑功能的 ID 生成

参考文档