diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 2d12cb5..94d5e7e 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -50,4 +50,4 @@ | 子项目 | spec | 实现计划 | |--------|------|----------| -| P4 作者主页 | `docs/specs/2026-09-29-author-page-design.md` | (待写) | +| P4 作者主页 | `docs/specs/2026-09-29-author-page-design.md` | `docs/plans/2026-09-29-author-page.md` | diff --git a/docs/plans/2026-09-29-author-page.md b/docs/plans/2026-09-29-author-page.md new file mode 100644 index 0000000..417086f --- /dev/null +++ b/docs/plans/2026-09-29-author-page.md @@ -0,0 +1,161 @@ +# Author Page (`/users/:user`) Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 新增作者主页 `/users/:user`:列出该作者全部已上架作品(最新在前),并从作品详情页与卡片提供入口。 + +**Architecture:** 纯前端实现 —— 新视图 `AuthorView.vue` 复用现有 `repo.listGames()`(API+static 双源合并、ETag 缓存、API 宕机降级),按 `resolveUserSlug(game).user` 过滤后交给 `filterGames` 的 `DEFAULT_FILTER`(`sort: 'new'`)排序渲染;路由 `/users/:user`(`props: true`)。crearte-server 零改动。 + +**Tech Stack:** Vue 3.5 `