# 02 · 功能清单(验收级) > **读者**:实现与验收 > **前置**:[01-product.md](01-product.md) > **交叉**:[05-business-rules.md](05-business-rules.md)、[06-pages-ux.md](06-pages-ux.md) > **源码对照**:[`frontend/src/App.tsx`]((仅 main)frontend/src/App.tsx)、[`router/router.go`](../../routers/setup.go)、[`README.md`](../../README.md) 用复选框做验收;重构完成时应全部可勾选(或书面声明砍掉的功能)。 --- ## A. 浏览与布局 - [ ] 三栏布局:左导航 / 中 Feed / 右栏小组件 - [ ] 浅色 / 暗色主题;跟随系统偏好并本地记忆 - [ ] 响应式:平板/手机收起侧栏 - [ ] 长列表虚拟滚动或等价流畅方案 - [ ] Feed 排序:`latest`(最新发帖)/ `reply`(最新回复)/ `hot`(热门) - [ ] 板块筛选:全部 + 单板块 - [ ] 列表样式可配:`title` | `excerpt` | `thumbnail` - [ ] 搜索:关键词、标签、作者、仅标题(`title_only`) - [ ] 右栏:热门帖、标签云、最新评论、最新用户、友链(可开关排序) - [ ] 登录用户右栏/侧边:签到与抽奖入口 - [ ] 下拉刷新(移动端) - [ ] 可选伪静态:`/post/123.html` 等形式(后缀后台可配) - [ ] 404 页 --- ## B. 认证与个人中心 - [ ] 注册(用户名、密码、昵称、邮箱;可选邮箱验证码) - [ ] 图形验证码接口(注册流程) - [ ] 登录 / 登出(会话 Cookie) - [ ] 忘记密码:邮箱验证码 + 重置 - [ ] 注册配置接口:是否首用户、邮件是否就绪、是否开放注册 - [ ] 首个用户自动成为管理员 - [ ] 个人中心:改昵称、签名、密码、上传头像(可裁剪) - [ ] 个人活动统计:帖数、评数、收藏数、获赞 - [ ] 公开用户主页 `/user/:id`(无邮箱) - [ ] 禁言用户无法使用需登录写接口 --- ## C. 板块 - [ ] 列出板块(含帖数等展示字段) - [ ] 管理员:创建 / 改 / 删板块 - [ ] 板块名称、描述、图标、色板索引、排序 - [ ] 默认板块保障(空站可引导创建) --- ## D. 帖子(通用) - [ ] 发帖:选板块、标题、标签、正文 - [ ] 正文图片上传 - [ ] TipTap 富文本能力(见 [06-pages-ux.md](06-pages-ux.md) 编辑器节) - [ ] Markdown 编辑模式(与富文本互转/双模) - [ ] 编辑帖子(时限、锁帖约束) - [ ] 删除帖子 → 软删进回收站 - [ ] 修订历史列表与单条详情(可做 diff) - [ ] 点赞切换;收藏切换;收藏列表页 - [ ] 浏览量(可 `skip_view=1` 跳过计数) - [ ] 举报帖子 - [ ] 内容审核状态展示(作者可见待审/被拒) ### D.1 帖子类型 - [ ] `normal` 普通讨论 - [ ] `question` 问答:可标记已解决 / 未解决 - [ ] `poll` 投票:2–10 选项;单选/多选;可选截止时间;投票;作者可结束 - [ ] `bounty` 悬赏:发帖托管积分;采纳评论发奖;可退款(规则见 05) - [ ] `lottery` 抽奖帖:设定中奖人数;从评论参与者开奖 ### D.2 运营标记(管理员) - [ ] 全局置顶 / 取消 - [ ] 版内置顶 / 取消(仅板块列表抬升) - [ ] 精华 / 取消 - [ ] 禁止编辑(edit lock) - [ ] 禁止评论 / 结贴(comments lock) - [ ] 审核通过 / 拒绝(拒绝可通知作者) - [ ] 回收站:恢复 / 彻底删除 --- ## E. 内容门控 - [ ] 编辑器可插入「登录可见」块 - [ ] 编辑器可插入「回复可见」块 - [ ] 编辑器可插入「积分可见」块(可设价格) - [ ] 未登录:遮盖 members-only 与 reply-only 正文,保留长度提示 - [ ] 已登录未回复:遮盖 reply-only(作者与管理员始终可见) - [ ] 积分块:未解锁遮盖;`POST .../unlock` 扣积分并返回 inner HTML - [ ] 搜索 / SEO 出口对门控内容做红action,不泄露正文 --- ## F. 评论 - [ ] 按帖拉取评论列表(楼层、嵌套父级、引用目标) - [ ] 发表评论(登录);支持 `reply_to`、私密评论 - [ ] 游客评论(公开接口可写,字段 guest_*) - [ ] 编辑评论(时限);删除评论 - [ ] 评论点赞 - [ ] 评论举报 - [ ] @ 提及 → 通知 - [ ] 回复提醒(站内信 + 可选邮件) - [ ] 审核中 / 被拒评论可见性规则 - [ ] 管理员:通过 / 拒绝 / 回收站 / 查看评论修订 --- ## G. 私信与通知 - [ ] 会话列表(含系统会话 peer=0) - [ ] 会话消息(分页 / before 游标) - [ ] 发送私信 - [ ] 未读数(可分私信 / 通知) - [ ] 标记会话已读 / 通知已读 / 全部已读 - [ ] 系统通知种类:`system` / `reject` / `report_result` / `reply` / `mention` / `moderation` 等 --- ## H. 积分、签到、抽奖、徽章、等级 - [ ] 积分流水查询 - [ ] 每日签到:基础 5,连签每日 +1,封顶 15 - [ ] 每日抽奖:奖池加权(0/2/5/10/20),成本 0 - [ ] 积分解锁分成:读者付全额,作者约 70% - [ ] 短龄同 IP 互刷拒绝分成 - [ ] Exp → 等级 Lv1–10 - [ ] 自动徽章(注册天数 / 获赞 / 创作分成) - [ ] 限定徽章:管理员定义与授予/撤销 - [ ] 管理员调整积分、设定等级 --- ## I. 友链 - [ ] 前台友链页;导航/页脚入口可配 - [ ] 用户申请(名称、URL、Logo、是否上首页、回链页) - [ ] Logo 上传 - [ ] 我的申请列表;修改待审申请;取消 - [ ] 管理员审核:通过 / 拒绝 / 重新检测回链 - [ ] 管理员维护品牌友链列表(设置里 JSON) --- ## J. 站点单页 - [ ] 公开:`/page/:slug` 列表入口(nav/footer) - [ ] 管理员 CRUD;发布开关;排序;nav/footer 展示开关 --- ## K. Gitea 码桶 - [ ] 后台开关、Base URL、Token、同步间隔 - [ ] 手动同步 + 后台定时同步 - [ ] 前台 `/projects` 列表与搜索 --- ## L. OIDC Provider - [ ] Discovery、JWKS、Authorize、Token、UserInfo、Logout - [ ] 多 OAuth 客户端 CRUD;密钥哈希存储;PKCE 字段支持 - [ ] groups claim 映射 admin/user 组 --- ## M. 媒体与存储 - [ ] 本地 uploads 或 S3 兼容存储(可热切换配置) - [ ] 头像 / 帖图 / 站点品牌资源分类 - [ ] 图片展示可选 WebP 转换(`/media/thumb/...`) - [ ] 管理后台媒体列表与删除 - [ ] 媒体索引表同步 --- ## N. 管理后台其它 - [ ] 仪表盘:计数 + 待审帖/评/举报/友链 + 最近帖 - [ ] 敏感词文件读写 - [ ] 论坛限流与字数等 Limits - [ ] SMTP 配置与测试信 - [ ] 站点品牌:名称、标语、简介、keywords、Logo、Favicon、OG 图、ICP - [ ] SQLite 一键备份与下载 --- ## O. 基础设施 - [ ] `GET /health` - [ ] `robots.txt` / `sitemap.xml` - [ ] 静态上传文件可达 - [ ] 限流:发帖、评论、注册、登录、举报、私信、友链等 --- ## 明确不在当前规格内(计划中可后做) 摘自 [`ROADMAP.md`](../../ROADMAP.md),**不是**现网必交验收项: - 通知动态 UX 大幅优化 - 帖子搜索增强(组合筛选更强) 若新站一并实现,可作为加分项,不阻塞「功能对等」验收。