# Design System 1.1.3 · 组件成熟度与状态台账
此台账覆盖当前分类清单中的 **71 个公开模块**。模块数量包括基础规范、页面目录和业务组合,不能解释为71个生产组件。唯一分类继续由 scripts/component-catalogue.json (`scripts/component-catalogue.json`) 维护;机器可读台账为 scripts/component-status.json (`scripts/component-status.json`)。
独立规范、家族展示、业务组合与公共运行契约分别标记。`catalog-*-runtime.js` 是文档构建产物,不能作为新的公共组件接口;生成HTML中的状态示例也不等于真实后端行为。
状态顺序固定为 **D默认 / H悬停 / F聚焦 / S选中 / X禁用 / L加载 / E错误 / O成功 / N空态**。每格表示主组件或明确注明的子组件适用性:
| 标记 | 证据含义 | 接入时的责任 |
|---|---|---|
| C | 维护源定义了对应状态或本地可触发示例;不是浏览器验收结论。 | 仍须按实际设备、数据和交互验证。 |
| N | 依赖原生控件属性和平台默认行为;真实键盘/日历/触屏仍需平台验收。 | 仍须按实际设备、数据和交互验证。 |
| R | 只继承所组合按钮/输入/选择等公共子组件;不能据此声称容器本体有该状态。 | 仍须按实际设备、数据和交互验证。 |
| B | 适用时由业务数据、请求、路由或操作结果提供;当前模块不自行伪造远程反馈。 | 业务层提供适用反馈并复用既有状态组件。 |
| — | 不属于主组件职责;不补无意义状态。 | 不增加无意义状态。 |
所有条目的浏览器绘制、实际触屏、读屏与原生键盘默认行为均为 **未验证**。现有QA文件是可执行的源码/隔离函数/离线DOM证据;下面关联的历史结果不证明本轮全部状态通过。台账校验只确认71模块覆盖、规范归属、状态枚举和文件引用。
1.1.2 的71模块当前执行证据与人工未验收项集中记录在 [FINAL_ACCEPTANCE.md](FINAL_ACCEPTANCE.md) 和 qa/final-acceptance-results.json (`qa/final-acceptance-results.json`)。所有页面共同执行 final-acceptance.mjs (`qa/final-acceptance.mjs`);它只检查独立DOM、当前可见语义和目录操作,不认证全部交互状态。
`C`不表示生产成熟度,`B`也不自动表示缺失。共享按钮loading有明确防重复行为;业务运行、通信、认证、上传、发布与账户结果必须从真实接入产生,当前仅保留本地示意边界。
| 模块与公开页面 | 规范成熟度 / 运行契约 | D H F S X L E O N | 用途与接入边界 | 维护源 / 专项QA |
|---|---|---|---|---|
| [设计说明与规范](index.html) | 基础规范 / 无组件运行时 | `C — — — — — — — —` | 共享Token、材质与布局规则;不提供业务运行时。 | catalog-standard.html (`scripts/catalog-standard.html`)、development-tokens.css (`scripts/development-tokens.css`)、document.css (`scripts/document.css`)、liquid_material.py (`scripts/liquid_material.py`)
QA:foundations-repair.py (`qa/foundations-repair.py`) |
| [官网首页方案](website-schemes.html) | 页面方案目录 / 页面演示适配器 | `C R R C — B B B B` | 七套独立官网的目录与明确查看导航;不是七个新基础组件。 | website-schemes.mjs (`scripts/website-schemes.mjs`)、[website-schemes.css](scripts/website-schemes.css)、website-scheme-navigation.js (`scripts/website-scheme-navigation.js`)
QA:website-schemes.mjs (`qa/website-schemes.mjs`) |
| [按钮](buttons.html) | 家族规范/变体 / 共享CSS/原生结构 | `C C C C C C B B —` | .btn尺寸/变体与原生button;加载阻止重复激活,动作结果由业务反馈。 | button_system.py (`scripts/button_system.py`)、buttons.css (`scripts/buttons.css`)、liquid_material.py (`scripts/liquid_material.py`)
QA:audit-buttons.py (`qa/audit-buttons.py`)、component-state-repair.mjs (`qa/component-state-repair.mjs`) |
| [链接](links.html) | 独立规范 / 原生控件契约;`link-standard` | `N C C C — B B B —` | 原生a的href/target/rel/aria-current;不可用入口显示文字。 | family-specimens.mjs (`scripts/family-specimens.mjs`)、[family-specimens.css](scripts/family-specimens.css)
QA:family-specimens.mjs (`qa/family-specimens.mjs`) |
| [图标](icons.html) | 家族规范/变体 / 渲染器+演示适配 | `C C C — — — — — C` | icon(name)静态70种;动态图标只用于预览。hover/focus属预览按钮,empty属搜索。 | icon-library.js (`scripts/icon-library.js`)、[motion-icons.css](scripts/motion-icons.css)、motion-icons.js (`scripts/motion-icons.js`)
QA:motion-icons.mjs (`qa/motion-icons.mjs`) |
| [卡片](cards.html) | 家族规范/变体 / 共享CSS/原生结构 | `C C C C B B B B B` | .card壳与可选原生button选择变体;远程数据状态由内容组合提供。 | liquid_material.py (`scripts/liquid_material.py`)、document.css (`scripts/document.css`)
QA:component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [头像](avatars.html) | 独立规范 / 渲染器+演示适配;`avatar-standard` | `C — — — — B C B C` | employeeAvatarMarkup尺寸/姓名/在线状态/图片回退;身份本身不进入Tab顺序。 | family-specimens.mjs (`scripts/family-specimens.mjs`)、employee-content.js (`scripts/employee-content.js`)、employee-content.css (`scripts/employee-content.css`)
QA:family-specimens.mjs (`qa/family-specimens.mjs`)、employee-content.mjs (`qa/employee-content.mjs`) |
| [分隔线与边界](dividers.html) | 家族规范/变体 / 共享CSS/原生结构 | `C — — — — — — — —` | 只表达分隔和边界;无hover、loading等操作状态。 | build.py (`scripts/build.py`)、document.css (`scripts/document.css`)
QA:component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [输入框](inputs.html) | 家族规范/变体 / 原生控件契约 | `N C C — N B C C N` | .control/text/password/textarea;字段错误与成功示例,空值保留原生意义。 | liquid_material.py (`scripts/liquid_material.py`)、enhancements.js (`scripts/enhancements.js`)、document.css (`scripts/document.css`)
QA:component-state-repair.mjs (`qa/component-state-repair.mjs`)、foundations-repair.py (`qa/foundations-repair.py`) |
| [数字输入](number-inputs.html) | 独立规范 / 原生控件契约;`number-input-standard` | `N R R — N B C C N` | 原生number的min/max/step/validity、readonly及disabled;空值不转换为0。 | family-specimens.mjs (`scripts/family-specimens.mjs`)、[family-specimens.js](scripts/family-specimens.js)、liquid_material.py (`scripts/liquid_material.py`)
QA:component-state-repair.mjs (`qa/component-state-repair.mjs`) |
| [选择器](selects.html) | 家族规范/变体 / 明确公共运行契约 | `C C C C C C B B C` | 共享Select增强+ds-choice多选/树/级联/异步搜索;异步为本地模拟。 | select-behavior.js (`scripts/select-behavior.js`)、select-enhancement.js (`scripts/select-enhancement.js`)、component-core.js (`scripts/component-core.js`)、developer-components.js (`scripts/developer-components.js`)、document.css (`scripts/document.css`)
QA:select-placement.mjs (`qa/select-placement.mjs`)、developer-components.mjs (`qa/developer-components.mjs`)、component-state-repair.mjs (`qa/component-state-repair.mjs`) |
| [复选框](checkboxes.html) | 独立规范 / 原生控件契约;`checkbox-standard` | `N C C N N B C C N` | 原生checked/indeterminate/disabled与关联label;汇总从可编辑项推导。 | family-specimens.mjs (`scripts/family-specimens.mjs`)、[family-specimens.js](scripts/family-specimens.js)、icon-surfaces.css (`scripts/icon-surfaces.css`)
QA:component-state-repair.mjs (`qa/component-state-repair.mjs`)、family-specimens.mjs (`qa/family-specimens.mjs`) |
| [单选框](radios.html) | 独立规范 / 原生控件契约;`radio-standard` | `N N C N N B C C N` | 原生name互斥、required和disabled;原生方向键需平台实测。 | family-specimens.mjs (`scripts/family-specimens.mjs`)、[family-specimens.js](scripts/family-specimens.js)、liquid_material.py (`scripts/liquid_material.py`)
QA:component-state-repair.mjs (`qa/component-state-repair.mjs`) |
| [开关](switches.html) | 独立规范 / 原生控件契约;`switch-standard` | `C R C C N B B B —` | role=switch、aria-checked和单一共享click委托;异步保存由业务接入。 | family-specimens.mjs (`scripts/family-specimens.mjs`)、[family-specimens.js](scripts/family-specimens.js)、liquid_material.py (`scripts/liquid_material.py`)
QA:family-specimens.mjs (`qa/family-specimens.mjs`)、verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [分段选择](segmented.html) | 家族规范/变体 / 共享CSS/原生结构 | `C R R C B — B B —` | 共享按钮分段选择;值和具体配置动作由页面适配器维护。 | node_configuration.py (`scripts/node_configuration.py`)、selection-states.css (`scripts/selection-states.css`)
QA:component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [日期选择](date-pickers.html) | 独立规范 / 原生控件契约;`date-picker-standard` | `N R R N N B C C N` | 单日/范围原生date;自定义月历在筛选和待办中复用定位与值协议。 | family-specimens.mjs (`scripts/family-specimens.mjs`)、[family-specimens.js](scripts/family-specimens.js)、system-review.js (`scripts/system-review.js`)
QA:family-specimens.mjs (`qa/family-specimens.mjs`)、todos.mjs (`qa/todos.mjs`)、verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [滑杆](sliders.html) | 独立规范 / 原生控件契约;`slider-standard` | `N N C — N B C B —` | 原生range与number联动;min/max/step及aria-valuetext;没有空值或readonly。 | family-specimens.mjs (`scripts/family-specimens.mjs`)、[family-specimens.js](scripts/family-specimens.js)、microcomponents.css (`scripts/microcomponents.css`)
QA:family-specimens.mjs (`qa/family-specimens.mjs`)、progress-controls.mjs (`qa/progress-controls.mjs`) |
| [上传与文件队列](uploads.html) | 家族规范/变体 / 明确公共运行契约 | `C R R — C C C C C` | ds-file-queue与ds-files-change;10MB/扩展名/重复校验、本地blob预览、取消重试。 | developer-components.js (`scripts/developer-components.js`)、component-core.js (`scripts/component-core.js`)
QA:developer-components.mjs (`qa/developer-components.mjs`) |
| [表单](forms.html) | 家族规范/变体 / 明确公共运行契约 | `C R C R C C C C C` | ds-business-form.data/readonly及ds-submit;固定成员申请字段样板,非schema引擎。 | developer-components.js (`scripts/developer-components.js`)、component-core.js (`scripts/component-core.js`)
QA:developer-components.mjs (`qa/developer-components.mjs`)、component-state-repair.mjs (`qa/component-state-repair.mjs`) |
| [可折叠侧边导航](collapsible-sidebar.html) | 独立规范 / 明确公共运行契约;`collapsible-sidebar-standard` | `C C C C C B B B B` | initCollapsibleSidebars;sidebarstatechange/sidebarselect;expanded/collapsed两态。 | collapsible-sidebar.mjs (`scripts/collapsible-sidebar.mjs`)、[collapsible-sidebar.js](scripts/collapsible-sidebar.js)、[collapsible-sidebar.css](scripts/collapsible-sidebar.css)
QA:collapsible-sidebar.mjs (`qa/collapsible-sidebar.mjs`) |
| [工具导航与动态面板](tool-panels.html) | 独立规范 / 明确公共运行契约;`tool-panels-standard` | `C C C C C C C C C` | initToolPanels/getToolPanelController;open/close/toggle/destroy及toolpaneluse。 | tool-panels.mjs (`scripts/tool-panels.mjs`)、[tool-panels.js](scripts/tool-panels.js)、[tool-panels.css](scripts/tool-panels.css)、resource-preview-card.mjs (`scripts/resource-preview-card.mjs`)
QA:tool-panels.mjs (`qa/tool-panels.mjs`) |
| [Tabs 分页签](tabs.html) | 家族规范/变体 / 原生控件契约 | `C C C C C B B B B` | 原生button+tablist/tab/tabpanel协议;panel加载/失败/空内容归所属业务。 | enhancements.js (`scripts/enhancements.js`)、selection-states.css (`scripts/selection-states.css`)
QA:component-state-repair.mjs (`qa/component-state-repair.mjs`)、component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [面包屑与空间切换](breadcrumbs.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R C B — B — B` | 工作空间选择器与路径组合;真实路由/空间数据由业务接入。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [分页与序列导航](pagination.html) | 家族规范/变体 / 共享CSS/原生结构 | `C R R C C B B — B` | 圆形数字入口+共享collectionPage计算;空结果/异步换页由列表适配器负责。 | buttons.css (`scripts/buttons.css`)、collection-components.js (`scripts/collection-components.js`)、component-core.js (`scripts/component-core.js`)
QA:collection-components.mjs (`qa/collection-components.mjs`)、todos.mjs (`qa/todos.mjs`) |
| [步骤导航](steps.html) | 家族规范/变体 / 明确公共运行契约 | `C R R C C B B C B` | dsStepTransition/createConnectedStepper;完成范围与当前步骤分开,未解锁禁用。 | component-core.js (`scripts/component-core.js`)、planning-specimens.js (`scripts/planning-specimens.js`)、microcomponents.js (`scripts/microcomponents.js`)
QA:verify-planning.mjs (`qa/verify-planning.mjs`)、progress-controls.mjs (`qa/progress-controls.mjs`) |
| [搜索与命令面板](search.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R C B B B B C` | 搜索输入/本地命令面板;字段输入法与光标保留,无结果有文字。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)、enhancements.js (`scripts/enhancements.js`)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`)、component-state-repair.mjs (`qa/component-state-repair.mjs`) |
| [资源树](trees.html) | 组合示例/业务模式 / 页面演示适配器 | `C C C C B B B B B` | 资源树/帮助组合;折叠与节点选择,本页固定本地数据;远程加载由业务补入。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [弹窗](dialogs.html) | 家族规范/变体 / 原生控件契约 | `C R C — B B B B B` | 原生dialog/showModal,明确名称、关闭、焦点恢复;复杂内容状态由内容组件提供。 | build.py (`scripts/build.py`)、node_configuration.py (`scripts/node_configuration.py`)、node-configuration.css (`scripts/node-configuration.css`)
QA:verify.mjs (`qa/verify.mjs`)、workspace-repair.mjs (`qa/workspace-repair.mjs`) |
| [抽屉与详情侧栏](drawers.html) | 组合示例/业务模式 / 页面演示适配器 | `C R C — B B B B B` | 非模态详情侧栏示例;开关、名称和焦点管理,不提供任意业务抽屉schema。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [菜单](menus.html) | 独立规范 / 明确公共运行契约;`menu-standard` | `C C C — C B B B B` | window.dsOverlays.init;menuitem原生动作保留,roving/方向键/Home/End/Esc。 | overlay-specimens.mjs (`scripts/overlay-specimens.mjs`)、[overlay-behavior.js](scripts/overlay-behavior.js)、overlay-behavior.css (`scripts/overlay-behavior.css`)
QA:component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [Popover 信息浮层](popovers.html) | 独立规范 / 明确公共运行契约;`popover-standard` | `C R C — B B B B B` | dsOverlays.bindPopover;open/close/toggle/refresh与popoverchange;非模态不困Tab。 | overlay-specimens.mjs (`scripts/overlay-specimens.mjs`)、[overlay-behavior.js](scripts/overlay-behavior.js)、overlay-behavior.css (`scripts/overlay-behavior.css`)
QA:component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [Tooltip 提示](tooltips.html) | 独立规范 / 明确公共运行契约;`tooltip-standard` | `C C C — C — — — C` | dsOverlays.bindTooltip;hover/focus、Esc保持关闭、唯一描述引用;空文本不显示。 | overlay-specimens.mjs (`scripts/overlay-specimens.mjs`)、[overlay-behavior.js](scripts/overlay-behavior.js)、overlay-behavior.css (`scripts/overlay-behavior.css`)
QA:component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [折叠面板与帮助](collapse.html) | 独立规范 / 原生控件契约;`collapse-standard` | `C N C — — B B B B` | 原生details/summary与单开分组;open单一来源,不伪造禁用summary。 | family-specimens.mjs (`scripts/family-specimens.mjs`)、[family-specimens.js](scripts/family-specimens.js)、[family-specimens.css](scripts/family-specimens.css)
QA:family-specimens.mjs (`qa/family-specimens.mjs`) |
| [徽标与状态指示](status.html) | 家族规范/变体 / 渲染器+演示适配 | `C — — — — — C C B` | contentStatusBadge生命周期与健康badge;状态文字+图标,本体不是可选按钮。进行中是业务生命周期,不等于异步加载。 | status-labels.js (`scripts/status-labels.js`)、status-labels.css (`scripts/status-labels.css`)、liquid_material.py (`scripts/liquid_material.py`)
QA:component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [标签](tags.html) | 家族规范/变体 / 共享CSS/原生结构 | `C R R — B — B B B` | 类别/AI/数量/可移除标签;仅移除子按钮有hover/focus。 | build.py (`scripts/build.py`)、liquid_material.py (`scripts/liquid_material.py`)
QA:component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [通知与消息](notifications.html) | 家族规范/变体 / 渲染器+演示适配 | `C R R C R B C C C` | mountNotificationCenter/notificationTransition;未读筛选、移除撤销和实例隔离。 | notification-center.js (`scripts/notification-center.js`)、notification-center.css (`scripts/notification-center.css`)
QA:notification-center.mjs (`qa/notification-center.mjs`) |
| [加载](loading.html) | 家族规范/变体 / 共享CSS/原生结构 | `C — — — — C — — —` | spinner+role=status及明确文字;减少动效保留静态说明。 | liquid_material.py (`scripts/liquid_material.py`)、development-tokens.css (`scripts/development-tokens.css`)、document.css (`scripts/document.css`)
QA:foundations-repair.py (`qa/foundations-repair.py`) |
| [骨架屏](skeletons.html) | 家族规范/变体 / 共享CSS/原生结构 | `C — — — — C — — —` | skeleton布局占位与aria-busy;不创建可聚焦骨架。 | liquid_material.py (`scripts/liquid_material.py`)、development-tokens.css (`scripts/development-tokens.css`)、document.css (`scripts/document.css`)
QA:foundations-repair.py (`qa/foundations-repair.py`) |
| [空状态](empty.html) | 家族规范/变体 / 共享CSS/原生结构 | `C R R — B — B — C` | 空内容说明+可选恢复操作;恢复按钮继承共享按钮,错误不是空态本体。 | build.py (`scripts/build.py`)、developer-components.js (`scripts/developer-components.js`)
QA:component-catalogue.mjs (`qa/component-catalogue.mjs`)、developer-components.mjs (`qa/developer-components.mjs`) |
| [任务进度](progress.html) | 家族规范/变体 / 渲染器+演示适配 | `C R R — C C C C —` | 已知/未知进度、暂停/失败/取消/完成;未知进度不提供虚构百分比。 | microcomponents.js (`scripts/microcomponents.js`)、circular-progress.js (`scripts/circular-progress.js`)、circular-progress.css (`scripts/circular-progress.css`)
QA:circular-progress.mjs (`qa/circular-progress.mjs`)、progress-controls.mjs (`qa/progress-controls.mjs`) |
| [表格](tables.html) | 家族规范/变体 / 明确公共运行契约 | `C C C C C C C C C` | ds-data-table.data/columns/state及ds-row-save;查询/排序/密度/筛选/分页/编辑校验。 | developer-components.js (`scripts/developer-components.js`)、component-core.js (`scripts/component-core.js`)、collection-components.css (`scripts/collection-components.css`)
QA:developer-components.mjs (`qa/developer-components.mjs`)、component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [列表](lists.html) | 独立规范 / 原生控件契约;`list-standard` | `C R R C B C C B C` | 语义ul/ol+共享查询/选择;loading/error/empty示例保留条件和已选ID。 | family-specimens.mjs (`scripts/family-specimens.mjs`)、[family-specimens.js](scripts/family-specimens.js)、[family-specimens.css](scripts/family-specimens.css)、component-core.js (`scripts/component-core.js`)
QA:family-specimens.mjs (`qa/family-specimens.mjs`) |
| [指标](metrics.html) | 家族规范/变体 / 渲染器+演示适配 | `C — — — — B B B B` | dsMetricMarkup/dsMetricParts;格式化读数与delta语义,数据请求状态属于外层。 | component-core.js (`scripts/component-core.js`)、planning-specimens.js (`scripts/planning-specimens.js`)
QA:verify-planning.mjs (`qa/verify-planning.mjs`) |
| [用量与容量](meters.html) | 家族规范/变体 / 渲染器+演示适配 | `C N C — C — C C —` | 容量meter/range示例;错误表示容量不足,不代表请求失败;没有空百分比。 | microcomponents.css (`scripts/microcomponents.css`)、microcomponents.js (`scripts/microcomponents.js`)、system-review.js (`scripts/system-review.js`)
QA:progress-controls.mjs (`qa/progress-controls.mjs`)、verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [图表](charts.html) | 家族规范/变体 / 明确公共运行契约 | `C C C C B B B B B` | radial-profile-card及initTimeSeriesChart、环图;准确表格和键盘读数。远程状态由业务接入。 | [radial-profile-card.js](scripts/radial-profile-card.js)、system-review.js (`scripts/system-review.js`)、circular-progress.js (`scripts/circular-progress.js`)
QA:verify-analytics-profile.mjs (`qa/verify-analytics-profile.mjs`)、verify-time-series-card.mjs (`qa/verify-time-series-card.mjs`)、circular-progress.mjs (`qa/circular-progress.mjs`) |
| [事件与里程碑时间线](timelines.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R — — B B C B` | 事件/里程碑时间线;只读记录与完成语义,加载和无记录由业务容器呈现。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [资源排期与甘特图](planning.html) | 家族规范/变体 / 渲染器+演示适配 | `C — C — — B B B B` | planningBoard只读资源排期/甘特;视觉条不交互,可聚焦横向滚动区域并展开准确日期、状态及前置关系明细;不支持条目选择、拖动调整或条目键盘读数。 | planning-specimens.js (`scripts/planning-specimens.js`)、[planning-specimens.css](scripts/planning-specimens.css)
QA:verify-planning.mjs (`qa/verify-planning.mjs`) |
| [AI 对话](ai-chat.html) | 组合示例/业务模式 / 页面演示适配器 | `C C C R C R B C C` | 固定AI对话样例与工作区会话适配;演示回复/生成,未连接模型服务。 | build.py (`scripts/build.py`)、enhancements.js (`scripts/enhancements.js`)、launch-home.js (`scripts/launch-home.js`)
QA:launch-home.mjs (`qa/launch-home.mjs`)、workspace-repair.mjs (`qa/workspace-repair.mjs`) |
| [消息输入与生成结果](composer.html) | 家族规范/变体 / 渲染器+演示适配 | `C R C C C C B C C` | workspaceComposer输入/附件/模型/发送停止/结果;保持共享控件与本地模拟边界。 | build.py (`scripts/build.py`)、enhancements.js (`scripts/enhancements.js`)、workspace-repair.js (`scripts/workspace-repair.js`)
QA:launch-home.mjs (`qa/launch-home.mjs`)、workspace-repair.mjs (`qa/workspace-repair.mjs`) |
| [画布节点](canvas-nodes.html) | 家族规范/变体 / 渲染器+演示适配 | `C C C C C C C C —` | 五类节点共用外壳/身份/端口;选中、禁用、运行、错误、成功分开;节点本体无空态。 | nodes.css (`scripts/nodes.css`)、fused-ports.js (`scripts/fused-ports.js`)、fused-ports.css (`scripts/fused-ports.css`)、perimeter-ports.js (`scripts/perimeter-ports.js`)
QA:verify.mjs (`qa/verify.mjs`)、perimeter-ports.mjs (`qa/perimeter-ports.mjs`)、liquid-port-lab.mjs (`qa/liquid-port-lab.mjs`) |
| [画布与连线工具](canvas-tools.html) | 家族规范/变体 / 页面演示适配器 | `C C C C C R C R C` | 连接/吸附/无效提示、三种路线、缩放/拖动/撤销;empty画布单独视图。 | fusion-core.js (`scripts/fusion-core.js`)、connection-geometry.js (`scripts/connection-geometry.js`)、canvas-paths.js (`scripts/canvas-paths.js`)、canvas-dock.js (`scripts/canvas-dock.js`)
QA:canvas-cleanup.mjs (`qa/canvas-cleanup.mjs`)、workspace-repair.mjs (`qa/workspace-repair.mjs`)、perimeter-ports.mjs (`qa/perimeter-ports.mjs`) |
| [节点配置](node-config.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R R C B C C C` | 按五类配置schema本地校验/保存与未保存退出保护;网络保存由业务层负责。 | node_configuration.py (`scripts/node_configuration.py`)、node-configuration.css (`scripts/node-configuration.css`)、enhancements.js (`scripts/enhancements.js`)
QA:verify.mjs (`qa/verify.mjs`)、workspace-repair.mjs (`qa/workspace-repair.mjs`) |
| [工作流内容组合](workflow-content.html) | 组合示例/业务模式 / 渲染器+演示适配 | `C R R C B — B B C` | 文件夹/知识库/语音视频角色对象组合;媒体及通信为本地演示。 | workflow-content.js (`scripts/workflow-content.js`)、workflow-content.css (`scripts/workflow-content.css`)
QA:workflow-content.mjs (`qa/workflow-content.mjs`) |
| [员工信息](people.html) | 组合示例/业务模式 / 渲染器+演示适配 | `C R R C B B C B C` | employeeCardMarkup/头像渲染+本地人员样例;照片错误有回退;组织数据由业务提供。 | employee-content.js (`scripts/employee-content.js`)、employee-content.css (`scripts/employee-content.css`)
QA:employee-content.mjs (`qa/employee-content.mjs`)、family-specimens.mjs (`qa/family-specimens.mjs`) |
| [资源库与项目](resources.html) | 独立规范 / 明确公共运行契约;`resource-preview-card-standard` | `C C C C C B B C C` | resourcePreviewCardHTML仅构建渲染;initResourcePreviewCards与resourcecarduse为页面交互。 | resource-preview-card.mjs (`scripts/resource-preview-card.mjs`)、[resource-preview-card.js](scripts/resource-preview-card.js)、resource-preview-card.css (`scripts/resource-preview-card.css`)、library-pages.js (`scripts/library-pages.js`)、project-content.js (`scripts/project-content.js`)
QA:project-content.mjs (`qa/project-content.mjs`)、library-pages.mjs (`qa/library-pages.mjs`) |
| [额度余额](balance.html) | 组合示例/业务模式 / 渲染器+演示适配 | `C R R C — B B — —` | balanceCardMarkup(kind,state)本地快照;明细ID独立;余额0是有效值,不是无数据。 | balance-card.js (`scripts/balance-card.js`)、balance-card.css (`scripts/balance-card.css`)
QA:balance-card.mjs (`qa/balance-card.mjs`) |
| [内容管理](content-management.html) | 组合示例/业务模式 / 页面演示适配器 | `C C C C C B B C C` | 本地列表搜索/筛选/排序/选择/归档撤销/详情;刷新重置,不承诺持久化。 | collection-components.js (`scripts/collection-components.js`)、collection-components.css (`scripts/collection-components.css`)、component-core.js (`scripts/component-core.js`)
QA:collection-components.mjs (`qa/collection-components.mjs`)、component-catalogue.mjs (`qa/component-catalogue.mjs`) |
| [待办](todos.html) | 组合示例/业务模式 / 页面演示适配器 | `C C C C C B C C C` | 本地待办查询/日期/完成/编辑/删除撤销和10条分页;空标题保留错误与输入。 | collection-components.js (`scripts/collection-components.js`)、collection-components.css (`scripts/collection-components.css`)、component-core.js (`scripts/component-core.js`)
QA:todos.mjs (`qa/todos.mjs`)、collection-components.mjs (`qa/collection-components.mjs`) |
| [筛选与保存视图](filters.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R C C B C C C` | 日期/状态/视图选择及可配置表的两层条件组;保存视图只在本页内存。 | system-review.js (`scripts/system-review.js`)、developer-components.js (`scripts/developer-components.js`)、component-core.js (`scripts/component-core.js`)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`)、developer-components.mjs (`qa/developer-components.mjs`) |
| [登录与注册](authentication.html) | 组合示例/业务模式 / 渲染器+演示适配 | `C R C R C C C C N` | mountAuthCard多实例;本地登录/注册/重置校验和600ms模拟,不创建账户或发邮件。 | auth-card.js (`scripts/auth-card.js`)、auth-card.css (`scripts/auth-card.css`)
QA:auth-card.mjs (`qa/auth-card.mjs`)、component-state-repair.mjs (`qa/component-state-repair.mjs`) |
| [开发工作区](workspace.html) | 组合示例/业务模式 / 页面演示适配器 | `C C C C C R B C C` | 固定侧栏/对话/画布与任务切换;组件运行文件服务文档,真实任务/运行/发布需业务接入。 | workspace-layout.js (`scripts/workspace-layout.js`)、workspace-resize.js (`scripts/workspace-resize.js`)、workspace-repair.js (`scripts/workspace-repair.js`)、launch-home.js (`scripts/launch-home.js`)、canvas-dock.js (`scripts/canvas-dock.js`)
QA:workspace-layout.mjs (`qa/workspace-layout.mjs`)、workspace-resize.mjs (`qa/workspace-resize.mjs`)、workspace-repair.mjs (`qa/workspace-repair.mjs`)、launch-home.mjs (`qa/launch-home.mjs`) |
| [运行与调试](runs.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R C B B C C B` | 成功/失败/暂停运行记录的固定本地切换;无远程执行或实时调试。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [版本与差异](versions.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R C B B B C B` | 本页版本恢复与差异示例;刷新重置,真实版本服务由业务接入。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [发布检查](publishing.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R C C B C C B` | 发布前勾选/本地结果和历史示意;不执行真实部署或服务端校验。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [分享与权限](sharing.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R R B B B B B` | 成员权限Select与链接访问Switch组合;不生成真实链接、授权或持久化。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [保存与冲突恢复](save-recovery.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R C — C C C —` | 已保存/保存中/失败/冲突提示与恢复入口;切换状态是本地模拟。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [工作台总览与分析组件](overview.html) | 家族规范/变体 / 明确公共运行契约 | `C C C C B C C B C` | 七个ds-analysis-*独立元素.data/.state;ready/stale/loading/empty/error,analysis-retry/detail。 | [overview-components.js](scripts/overview-components.js)、[overview-core.js](scripts/overview-core.js)、[overview-components.css](scripts/overview-components.css)
QA:overview-components.mjs (`qa/overview-components.mjs`) |
| [设置中心](settings.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R C C B B B B` | 本地栏目、locale与提醒布尔值;Select/Switch共享事件,不保存或发送通知。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [审批收件箱](approvals.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R C B B C C B` | 固定审批收件箱与本地通过/退回反馈;不是审批引擎,真实队列和权限需业务接入。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [导入导出与快捷帮助](transfer.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R — B B B B N` | 本地文件入口/导出样例/快捷帮助;没有服务端导入任务与持久化。 | system-review.js (`scripts/system-review.js`)、[system-review.css](scripts/system-review.css)
QA:verify-review-components.mjs (`qa/verify-review-components.mjs`) |
| [台套生产态势](production.html) | 组合示例/业务模式 / 页面演示适配器 | `C R R C B — B C B` | 风机台套64%示例、暂停/生产完成、紧凑变体;running是业务状态而非加载状态。 | wind-production.html (`scripts/wind-production.html`)、[wind-production.js](scripts/wind-production.js)、[wind-production.css](scripts/wind-production.css)
QA:wind-production.mjs (`qa/wind-production.mjs`)、wind-compact.mjs (`qa/wind-compact.mjs`) |
需要区分的边界:
- 基础规范与分隔线没有业务loading/error;静态图标和头像本体不强行加入Tab顺序。动态图标的hover/focus属于预览按钮,头像照片失败有独立回退。
- Tabs/抽屉/Popover的内容加载、错误和空状态由所属内容提供;Tooltip不容纳交互操作,空文本直接隐藏。
- 余额为0、进度为0、滑杆下界和容量不足都不等于“无数据”;没有虚构空百分比或假成功。
- 工具面板的模板库有状态示例,节点选择器及已配置节点库不提供假加载/失败/权限;工具使用成功只是本地插入事件。
- 图表分类色与阈值语义分开;七个分析元素支持ready/stale/loading/empty/error,通用图表和指标的请求状态仍由业务容器提供。
- 复杂表单为固定字段样板,文件队列仅处理本地元数据与blob预览;认证、审批、保存冲突、运行、发布和分享不宣称已连接真实服务。
更新方式:修改组件时同时检查适用状态、维护源和专项QA;新增公开模块须同时进入分类清单与JSON台账。运行 `node qa/component-status.mjs` 校验源台账;统一构建后可运行 `node qa/component-status.mjs --generated` 追加页面与独立规范锚点检查。涉及真实视觉、命中区域和辅助技术的结果,应单独保存实测证据,不能将本台账状态批量改为“ready”。