探索资讯
路由:/discover。视觉与结构依据:Figma桌面原稿 。旧页面不是视觉验收基线;代码和现有数据库只用于确认可复用合同与运行依赖。
用户任务
按关键词找事件、资讯和讨论,用来源和时间核对搜索结果。
页面数据、功能与持久化
| 区域/操作 | 必需字段 | 数量与范围 | 当前实现及持久化决定 |
|---|---|---|---|
| 搜索与类型 | q、type=all/events/items/comments | 搜索框1、类型4项 | URL保存;当前资讯可搜索,事件全量检索/评论为服务缺口 |
| 时间/情感/排序 | window、sentiment、search_order | 3组筛选 | 无搜索词时按时间读取,排序禁用;有搜索词才支持相关度/最新时间;情感控件禁用并说明,改条件清cursor |
| 结果行 | 类型、标题、摘要、来源、时间、关联事件、收藏状态 | 普通30条;搜索40条;兼容精选时间线20条,cursor翻页 | 公开投影与许可;本页数量不称全站结果数 |
| 平台 | source_key/name、选中状态 | 当前结果出现的来源选项 | 现有合同单来源筛选;完整目录和多来源搜索另待合同 |
| 主题/相关搜索 | slug/name、关键词建议 | 侧栏最多6个主题,完整目录单独入口;建议缺省 | 复用公开专题;不新建搜索会话表 |
| 存为监控 | 当前关键词、创建入口 | 1个CTA | URL携带当前q,创建页预填关键词草稿,不自动保存/采集;未登录正常回跳 |
替换边界
结果数量位于筛选行右侧,两列顶部对齐,空态高度不随辅栏拉伸。旧高级筛选栏退出主视觉;兼容旧查询参数和精选时间线深链接。事件页签没有全量检索接口时显示未开放,不能用热榜50条的本地筛选冒充搜索。
接口与业务落点
下列为本页业务读取/提交入口。全局会话、头像、站点元信息和共享组件中未在本页触发的导出函数不算新增页面能力。请求类型、响应与错误以生成客户端和后端为准。
| 页面调用 | 方法和路径 | 请求 → 响应合同 | 实现依据 |
|---|---|---|---|
listPublicItems | GET /api/publication/items | listPublicItemsParams → PublicItemsPage | 客户端 · 后端 |
getPublicReadingTimeline | GET /api/publication/timeline | getPublicReadingTimelineParams → PublicTimelinePage | 客户端 · 后端 |
getPublicTopicDirectory | GET /api/publication/topics | 无业务入参 → PublicTopicDirectoryView | 客户端 · 后端 |
getPublicFactReports | GET /api/publication/facts/{fact_id}/reports | getPublicFactReportsParams → PublicFactReportsPage | 客户端 · 后端 |
getPublicStoryDevelopments | GET /api/publication/stories/{event_id}/developments | getPublicStoryDevelopmentsParams → PublicDevelopmentsPage | 客户端 · 后端 |
数据落点:publication_records、publication_revisions、publication_policy_versions、events、event_facts。这是当前依赖定位,不代表这些表均为重新设计时必须新建;详细字段/键/关系及保留原因见页面数据库设计。
交互、权限与验收
- 正常、空、加载、错误、无权限分别验收;未知数值显示“—”,没有观测不画虚构曲线,过期数据标明时间。
- 对照 Figma 原稿在 1440px / 390px 验收布局、标题、间距、滚动和键盘焦点。组件检查通过不替代视觉评审。
- 页面读取不启动采集、模型或外发通知;写操作显式触发,失败保留输入,版本冲突先重读。公开读取继续执行逐项许可;个人数据 owner 来自会话。
- 设计中存在而服务没有提供的字段是待接入需求,不因旧页面没有该控件而撤销,也不据此预建通用平台。
跨页约束见接口设计、数据库设计、非功能及验收。实施进度只记 BACKLOG。
探索更换筛选或cursor后,唯一正文滚动区回到顶部;同一URL重新渲染不重置阅读位置,锚点引用行为不变。