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 requestmile3Milestone 3

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions