原创存证体验优化任务
状态:已落地,本地验收通过
背景
Issue #4278 的 MVP 已经支持本地 SHA-256 哈希和外部凭证字段,但文章页默认展示为完整信息块。对普通站长来说,它更像开发调试信息,不像面向读者的“原创凭证”入口。
对标结论
主流方案通常分三类:
| 方案 | 交互 | NotionNext 取舍 |
|---|---|---|
| 内容凭证 / C2PA | 徽章入口,展开后看来源和历史 | 采用“先徽章、再详情”的低干扰入口 |
| 时间戳 / 哈希存证 | 复制哈希或打开凭证链接自行验证 | 保留哈希、时间、凭证链接,并新增一键复制 |
| 版权登记平台 | 平台页承载法律化证明 | 不内置法律承诺,只允许链接外部凭证 |
本轮目标
- 文章页默认显示紧凑徽章:
原创存证 · 外部凭证/本地哈希 · 短哈希。 - 点击后展开完整算法、时间、哈希和凭证链接。
- 提供“复制证据”按钮,便于站长提交平台、发邮件或处理维权沟通。
- 复制后给用户明确反馈,剪贴板不可用时提示手动复制。
- 教程改成按真实操作路径说明:填一个
proofUrl或proofHash即可开始。
非目标
- 不接入 OpenTimestamps、RFC 3161、GitHub 自动提交或版权平台 API。
- 不上传正文到第三方服务。
- 不声明等同于法律公证或版权登记。
验收记录
- [x] 默认视觉从大块说明改成可展开徽章。
- [x] 外部凭证和本地哈希能显示不同状态。
- [x] 证据文本可复制,格式稳定并有单测覆盖。
- [x] 复制后有“已复制”反馈,剪贴板不可用时提示手动复制。
- [x] 用户教程同步说明徽章、展开和复制。
本地验证
yarn test __tests__/lib/utils/originalityProof.test.js --runInBand:通过。yarn lint --file components/OriginalityProof.js --file lib/utils/originalityProof.js --file __tests__/lib/utils/originalityProof.test.js:通过。yarn docs:site:build:通过,仅有既有语法高亮和 chunk size 警告。git diff --check:通过,仅有 Windows LF/CRLF 提示。
