189 lines
6.3 KiB
Markdown

# data-model
## Overview
本 feature 不引入业务数据库实体变更。`data-model.md` 用于描述本轮协作整理涉及的文档实体、页面样例实体、权限边界实体与 evidence 实体,作为 tasks 拆分、实施回写和验收对照的语义模型。
## Entities
### 1. Frontend Collaboration Entry
**Description**
- 前端仓中的入口说明文件,用于约束代理如何引用正式 spec 工件,以及何时留在前端仓、何时回到 `water-docs`
**Instances in scope**
- `../water-frontend/AGENTS.md`
- `../water-frontend/CLAUDE.md`
**Fields**
- `repoScope`: 适用仓库范围
- `sourceOfTruth`: 正式工件来源声明
- `featurePathRule`: `spec / plan / tasks` 相对路径引用规则
- `docsPathRule`: `../water-docs/docs/` 的正式文档定位规则
- `executionBoundary`: frontend 执行任务 vs `water-docs` 执行任务边界
- `templateGuideEntry`: 模板规则文件入口
- `templateIndexEntry`: 样例索引文件入口
- `validationRule`: 最小验证要求
**Validation rules**
- 必须显式声明 `water-docs` 为正式 Speckit 单一来源。
- 必须包含 `../water-docs/specs/<feature>/``../water-docs/docs/` 的稳定相对路径规则。
- 不得要求在 `water-frontend` 新建第二套 `.specify/`
### 2. Template Guide
**Description**
- 前端页面模板化规则文件,用于定义页面分类、语义角色、命名规则、模板元模型、权限边界与选型规则。
**Instance in scope**
- `../water-frontend/FRONTEND_PAGE_TEMPLATE_GUIDE.md`
**Fields**
- `templateCategories`: 模板分类清单
- `semanticRoles`: 页面语义角色定义
- `namingRules`: 命名与目录约定
- `metaModels`: 高频模板元模型
- `permissionBoundaries`: 权限边界定义
- `generationChecklist`: 页面生成输入清单
- `selectionRules`: 模板选型决策规则
- `motherboardSelection`: 母板页选择步骤
**Validation rules**
- 必须覆盖 spec 中要求的主要模板类别。
- 必须提供必备区块、推荐组件、推荐变量名、推荐 API 命名、推荐权限接入点。
- 必须区分普通业务表单、列表列可见配置、BPM 字段权限边界。
- 必须被前端入口文件统一引用。
### 3. Template Index Entry
**Description**
- 将真实 `src/views` 页面映射到模板类型的索引条目,是“规则层”与“实际样例层”的桥接对象。
**Instance in scope**
- `../water-frontend/FRONTEND_PAGE_TEMPLATE_INDEX.md`
**Fields**
- `templateType`: 模板类型
- `domain`: 业务域
- `pageName`: 代表页面名称
- `pagePath`: 页面路径
- `companionComponents`: 配套组件 / 子块
- `classificationEvidence`: 判定依据
- `motherboardPriority`: `P0 / P1 / P2`
- `primaryTemplate`: 主模板
- `secondaryTemplates`: 辅模板列表
- `reuseAdvice`: 复用建议
**Validation rules**
- 每个高频模板至少有一个可追溯代表页。
- `P0` 条目应优先对应结构最稳定、复用价值最高的页面。
- 索引必须支持“一页多模板参考”的表达方式。
- 索引只做样例映射,不扩写新的权限或架构结论。
### 4. Permission Source
**Description**
- 登录后进入前端状态管理的权限相关数据集合。
**Evidence sources**
- `../water-frontend/src/store/modules/user.ts`
- `../water-frontend/src/store/modules/permission.ts`
- `../water-frontend/src/permission.ts`
**Fields**
- `roles`: 角色集合
- `permissions`: 按钮 / 操作权限集合
- `menus`: 动态菜单与路由数据
- `cacheLocation`: 前端缓存位置
- `routeGeneration`: 动态路由生成入口
**Relationships**
-`Frontend Collaboration Entry``Template Guide` 用于权限边界说明。
- 被页面按钮与路由生成逻辑消费。
### 5. Field-level Permission Capability
**Description**
- 用于区分当前前端不同层次字段 / 列级控制能力边界的对象集合。
**Subtypes**
- `ColumnVisibilityConfiguration`
- `BpmFieldPermission`
- `GenericBusinessFormFieldPermission`
### 5.1 ColumnVisibilityConfiguration
- `scene`: 列表列显示、打印、顺序、宽度
- `storageMode`: 后端持久化,必要时可回退到本地存储
- `apiEntry`: `../water-frontend/src/api/system/userFormConfig.ts`
- `consumerEntry`: `../water-frontend/src/components/ColumnSetting/hooks/useColumnSettingStorage.ts`
- `appliesTo`: 列表页列级控制
### 5.2 BpmFieldPermission
- `scene`: BPM 流程表单字段可编辑 / 只读 / 隐藏
- `scope`: 仅 BPM 场景有效
- `consumerEntry`: `../water-frontend/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue`
- `appliesTo`: 流程发起 / 审批 / 详情页中的流程表单
### 5.3 GenericBusinessFormFieldPermission
- `scene`: 普通业务表单字段级控制
- `currentState`: 未发现可直接复用的全局通用框架
- `warning`: 不得把局部页面显隐逻辑误写为平台级字段权限能力
**Validation rules**
- 交付文本不得把三个子类型混写成一个概念。
- 未证实的普通业务字段权限不得被表述为现成能力。
### 6. Verification Artifact
**Description**
- 固定 baseline、验证结果与最终 verdict 的 evidence 实体。
**Instances in scope**
- `specs/011-frontend-speckit-alignment/baseline.md`
- `specs/011-frontend-speckit-alignment/docs-validation.md`
- `specs/011-frontend-speckit-alignment/final-verdict.md`
**Fields**
- `validationDimensions`: 五个必检维度
- `commandSet`: 最小验证命令集合
- `governanceDecision`: 是否更新项目进度与任务清单的结论
- `storyVerdicts`: US1 / US2 / US3 的验收结果
**Validation rules**
- 必须覆盖 relative-path readability、entry-rule consistency、independent-guide discoverability、sample-category mappability、permission-conclusion traceability 五个维度。
- 必须记录为何本轮 `01_Project_Progress.md``03_Task_Checklist.md` 保持不变。
## Relationships
- `Frontend Collaboration Entry` 引用 `Template Guide``Template Index Entry`
- `Template Guide` 约束 `Template Index Entry` 的分类规则与母板页选择步骤。
- `Template Index Entry``Representative Sample` 形式回扣真实页面。
- `Permission Source``Field-level Permission Capability` 共同构成权限边界说明的证据基础。
- `Verification Artifact` 负责验证以上实体在最终交付中的一致性、可发现性与可追溯性。