跳至正文

全站非功能需求

本版随页面PRD收敛。当前没有生产SLA或容量实测证据;撤销上一版把百万观察、千主题、统一20并发和固定恢复时限作为所有页面实施前置的建议。先保证当前用户路径正确、有界、可恢复,再依据真实测量优化。

当前页面的读取边界

页面已有读取规模验收与风险
首页资讯20、事件4、专题目录、刊物2四块并行且独立降级;计数仅本次范围,不加全库查询
探索普通30、搜索40、精选时间线20换条件清cursor;不混旧响应;正文按详情读取
专题/公开事件专题20/页,热点目录最多20个,进展20/页不宣称完整事件库;许可一致
收藏20ID/页;本机500收藏、5000已读ID逐项回读有界;存储失败可见;批读优化必须先有耗时证据
主题列表20/页;当前结果5条,30秒读取页面轮询只读,不启动采集;结果更新时间与过期可辨
内容/评论/任务/覆盖各列表20/页;评论回复独立分页不全量拉库,取消或忽略旧请求,不能用失败冒充0条
私有事件热度最多48个历史点;成员20/页保留缺口,公式/窗口不可比时不画连续趋势
告警/运营每规则最近50评估;通知/评测50明细;反馈/审计20规则目录和某些配置未分页是已知规模风险;告警选项最多循环100页,应在有规模证据时改按需检索
榜单/配置/文档目录当前返回固定集合或允许清单,无统一分页记录响应体/DOM规模后再决定分页,不声称已经满足无限数据量

必须保持的质量行为

质量项具体要求验证方法与失败条件
数据可信null/未分析/无权限/失败和0不同;时间、窗口、单位、版本可追溯固定输入包含缺失时间、缺分、0评论、503;任一错误变0或假数据即失败
授权隔离owner由会话决定;公开资料只取获准投影;普通登录不等于运营/文档写权限匿名/本人/另一账户/管理角色替换ID、cursor、导出和文档路径;泄露标题/正文/计数即失败
许可撤回下一次服务器读取按当前许可判断;旧下载无法远程撤销同一条材料撤回后分别读正文/聚合/导出;不回退到旧修订
写入恢复现有版本锁和幂等键沿用;没有幂等键的创建不能自动重发模拟提交前后断网、响应丢失、409;不得重复外发或静默覆盖草稿
任务状态保存、受理、运行、部分覆盖、完成、取消和送达分别说明一来源成功一跳过、全部跳过、超预算/验证码停止;受理不能标为采集成功
新鲜度首次读取和重读状态可见;旧合法结果刷新时可保留并标记过期反序请求、切主题、切日期、版本变化;旧数据不能冒充新结果
前端水合扩展可能改html属性,仅根元素容忍;后代正文差异仍报错注入根翻译属性及另一个正文不一致样本分别验证;不全局过滤console,不关闭SSR
键盘与读屏有语义名称、顺序、可见焦点、表单错误关联、弹层焦点返回Tab/Enter/Escape和适用方向键走登录/筛选/编辑/导出;只有鼠标能完成即失败
桌面与窄屏1440px与390px主要字段/动作可用;宽表仅区域内横滚;200%缩放和减少动态效果可读长中文标题/无空格URL/空表/弹层;固定导航遮挡提交或正文即失败
加载视觉路由共用加载使用Figma连续阅读行骨架,详情采用已有detail变体;不保留旧卡片网格可读状态名称、唯一页面标题、aria-busy;减少动态效果时骨架不闪烁
本机状态不复制许可正文;损坏/禁用存储不能误报收藏成功;账号退出不泄露个人内存存储异常、重复ID、500上限、混合撤回选择、另一账号回读
输入和凭据Markdown/HTML/URL安全渲染;密码、Cookie、运营Token不进URL/日志/导出/持久浏览器状态恶意协议、路径遍历、脚本、超长输入;任何执行或外泄阻断
免费与准入不调用必需付费取数接口;遵守来源预算、账号绑定、静默和风控停止预算0/余1/并发预留、连接版本改变、验证码;不得自动换付费源
运维诊断页面错误可定位request/job/operation及下一步;记录不含私人全文和密钥核对一次受控失败链;错误码和用户动作应一致
数据可恢复改结构前须在独立库实际恢复;不在业务库测试schema记录备份范围、恢复时长、行数/约束及关键页面抽检;备份成功不等于恢复成功

性能测量顺序

首先记录同一生产构建、浏览器、硬件、网络条件下的首次加载和热缓存、API数量/包体、主内容可读时间、交互等待及错误率;使用上述真实页大小,正常和失败分别测,不只挑最快样本。开发模式含编译开销,不能直接当生产性能。

然后对慢的那条页面路径,在独立测试库执行实际查询计划和相同过滤/授权条件,报告样本量及p50/p95分布。若缺少规模目标,写未确定,不擅自添加百万级压测平台。优化优先顺序:取消无用请求 → 复用同源结果/并行读取 → 有界批读或分页 → 必要索引 → 经测量证明才考虑物化/缓存。

恢复时间、长时间稳定率、模型准确率、跨平台覆盖率均需要单独真实验收;当前源码、单元测试和健康接口不能证明它们。冻结功能不纳入本轮真实外发验证。

原稿实现的非功能边界

  • 1440px/390px核对8主页面;固定侧栏302px,唯一正文滚动区;移动56px顶栏/64px底栏不挡焦点;取消旧Ctrl/Cmd+B拦截。
  • 外壳用shadcn Sidebar、Radix控件与语义组件;业务原生标签/API绕行由lint禁止。不得用设计截图当页面实现。
  • 首页2路独立读取并行,禁止每个事件额外读曲线造成瀑布;收藏每页最多20次许可回读。无实测不宣称LCP/P95达标。
  • 备注2000字符/500条,损坏不覆盖;Markdown导出不带资讯正文。未知观测不是0。
  • 根html翻译扩展属性容忍只限该层;不全局关闭hydration诊断。

加载中没有可交互子项时,正文滚动区仍能由Tab进入并用方向键/PageDown阅读,焦点轮廓可见。平台/来源加载区使用具名status及aria-busy;知识库整页加载保留唯一一级标题。减少动态效果同样适用于来源配置spinner。

原始 Markdown