---
type: pointer
title: 订阅与导出入口页面需求
summary: 从 /feeds 当前展示和操作推导字段、数量、存储与取舍
updated: 2026-10-08
---

# 订阅与导出入口

路由：`/feeds`。角色：公开读者。范围：**冻结兼容**。依据：当前页面和调用组件（代码基线 `67df5ab1`，本轮仅修复根元素 hydration 并移除无调用旧 header 插槽）。以下数量是现有读取策略，不是实际业务记录数，也不是容量或服务承诺。

源码入口：[page.tsx](../../../../frontend/src/app/feeds/page.tsx) · [local-reading.tsx](../../../../frontend/src/components/publication/local-reading.tsx) · [local-state.ts](../../../../frontend/src/components/publication/local-state.ts)。

## 用户任务与当前操作

作为公开读者，我需要选择与许可一致的机器可读订阅。当前操作围绕下表的数据完成；不从旧表和旧接口的存在反推新增产品需求。页面存在不等于来源、模型、送达或长期运行已通过真实验收。

## 页面需要的数据

| 区域／操作 | 实际展示或输入字段 | 展示数量／读取方式 | 是否持久化及最小存储 |
|---|---|---|---|
| 订阅说明 | 现有Feed/Markdown导出地址、范围、认证提示 | 静态链接；不触发采集 | 复用发布查询，不新增订阅者表 |

## 接口与业务落点

本页没有独立业务写接口；静态正文或现有出口链接不需要新增服务。

数据落点：静态内容或本机状态，无页面专用 PostgreSQL 表。这是当前依赖定位，不代表这些表均为重新设计时必须新建；详细字段/键/关系及保留原因见[页面数据库设计](../reference/09-全站页面数据库设计.md)。

## 收敛与替换

对外分发已冻结；保留已有说明/兼容入口，不把它列为本轮发布任务。

实现时先复用上述合同。确有缺口须描述具体控件、输入、输出、当前失败和最小修复，不能直接把历史扩展方案列为前置。公开分发、付费供应商、海外新来源与 Flutter 继续受[冻结范围](../../decisions/11-冻结范围.md)和其他生效决策约束。

## 验收与非功能要求

- 主路径：只核对说明及权限不扩大；没有账号令牌进入URL；不宣称所有出口已验收。
- 数据边界：上表数量、字段和统计范围要能从响应核对；未知、未分析、无权限和真实零值不同。筛选、页签与选择不创建持久业务副本。
- 状态：有远程读取的区域分别验证正常、零数据、加载、失败和撤权；静态说明的业务空态/无权限写不适用，不伪造验收。
- 写入：有保存/运行/发布时保留可恢复输入，版本冲突先重读；请求结果未知按现有接口查询或复用原幂等键，不新增全局操作账本。
- 交互：1440px与390px下主动作可见；Tab/Enter/Escape和适用的方向键可操作，弹层关闭返回触发点。凭据只按现有认证流程传递，不进入日志/URL/本机持久存储。

测量和跨页场景统一见[非功能要求](../reference/10-全站非功能需求.md)、[验收场景](../reference/11-全站验收场景.md)。这里只定义判据，执行进度仍只在 BACKLOG。
