Skip to content

feat: 统一前端路由、导航与真实依赖装配(Refs #70) #103

Description

@xyh202131

问题

#70 建立了 AppShell 与占位路由,但已拆分的前端功能尚未在组合根统一装配真实 API、WorkflowRun Service 与 WorkflowController。页面若各自创建依赖,会产生多份运行状态;若把未合入模块复制进装配 PR,又会破坏最小提交边界。

目标

在依赖模块进入 main 后,由应用组合根一次性创建真实依赖并注入页面。AppShell 只负责组合、路由与导航,不承载业务规则。

范围

包含:

  • 在组合根创建一次 CharacterApis、GenerationApis、WorkflowRunStore、WorkflowRunService 与 WorkflowController
  • 将同一 WorkflowController / Store 实例注入 Quick Start 与 History
  • 收口 Home、Projects、History、Asset Library、Quick Start、Playtest 与 404 路由
  • 保留项目上下文、直接刷新与返回路径
  • 未配置真实依赖时显示明确不可用原因,不回退到 Mock 成功
  • 路由、依赖单例和导航集成测试

不包含:

  • Workflow Editor(已取消)
  • Project 或 Asset Library 模块内部实现(由对应负责人提供,本项只消费公开入口)
  • 修改页面内部业务流程
  • 新增 WorkflowRun、Generation、Character 或 Project 规则
  • 后端、Mock 业务数据和构建产物

目标路由

  • /
  • /quick-start
  • /quick-start/:runId
  • /projects
  • /projects/new
  • /projects/:projectId
  • /projects/:projectId/history
  • /projects/:projectId/assets
  • /playtest
  • /playtest/:characterId/:outfitId?actionId=...
  • *

验收标准

  • 所有声明路由均可直接访问和刷新,不渲染占位成功页
  • Quick Start 与 History 使用同一个 WorkflowController / Store 实例
  • 外部 Project 页面进入 History 与 Asset Library,正式动作进入 Playtest
  • 未知路径进入 404,导航不丢失 projectId,也不存在循环跳转
  • 未配置依赖时相关入口被禁用,并显示具体原因
  • PR 只包含 main.tsxapp/** 与必要测试,不复制任何业务模块
  • CI 五步通过:format:check / lint / typecheck / test / build

依赖

本 Issue 最后实施。必须等待 WorkflowRun、WorkflowController、Quick Start、History、Playtest、Generation,以及外部负责人提交的完整 Projects / Asset Library 公开入口进入 main。当前不得为了提前开 PR 而夹带这些依赖的源码。

参考

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions