summaryrefslogtreecommitdiff
path: root/Documentation/source/zh_CN/frontend.rst
blob: 4c58ed651d7f4b516d64799c050afd7276a13972 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
前端
====

页面职责
--------

.. list-table::
   :header-rows: 1
   :widths: 22 34 44

   * - 路由
     - 主要文件
     - 职责
   * - ``/``
     - ``src/app/(main)/(home)/page.tsx``
     - 首页,包含 Hero、最新文章和 Newsletter CTA。
   * - ``/posts``
     - ``src/app/(main)/(home)/posts/page.tsx``
     - 已发布文章的分页列表。
   * - ``/posts/[slug]``
     - ``src/app/(main)/(home)/posts/[slug]/page.tsx``
     - 文章详情、富文本、元数据、分享和评论。
   * - ``/tags``
     - ``src/app/(main)/(home)/tags/page.tsx``
     - 标签索引与文章数量。
   * - ``/tags/[tag]``
     - ``src/app/(main)/(home)/tags/[...slug]/page.tsx``
     - 按标签筛选的文章列表。
   * - ``/login``
     - ``src/app/(main)/(auth)/login/page.tsx``
     - OAuth 登录入口。

UI 原则
-------

* 阅读优先:排版、行宽和对比度应服务长文阅读。
* 导航轻量:文章、标签、搜索、主题切换和账号入口应容易找到。
* 视觉一致:延续虚线边框、角标和克制动效。
* 跨端一致:移动端和桌面端保持相同信息层级。

组件约定
--------

新增组件前先检查 ``src/components/ui`` 和现有页面组件。共享组件应接收规范化 props,数据获取应放在 Server Component 或 ``src/lib`` helper 中。图标按钮必须有明确的可访问名称。

可访问性
--------

自定义控件要保留键盘焦点;图标按钮和链接需要可读名称;浅色和深色主题都要保持足够对比度;表单必须覆盖空、加载、成功和错误状态。