feat: opaque session、安装/发帖 SSR 与最小 Admin 后台
浏览器登录改为 DB sessions(可吊销);敏感词与 OIDC PEM 入 settings; 落地安装向导、注册发帖与 /admin 仪表盘/板块/审核/设置。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -15,53 +15,53 @@
|
||||
- [ ] 浅色 / 暗色主题;跟随系统偏好并本地记忆
|
||||
- [ ] 响应式:平板/手机收起侧栏
|
||||
- [ ] 长列表虚拟滚动或等价流畅方案
|
||||
- [ ] Feed 排序:`latest`(最新发帖)/ `reply`(最新回复)/ `hot`(热门)
|
||||
- [ ] 板块筛选:全部 + 单板块
|
||||
- [x] Feed 排序:`latest`(最新发帖)/ `reply`(最新回复)/ `hot`(热门)
|
||||
- [x] 板块筛选:全部 + 单板块
|
||||
- [ ] 列表样式可配:`title` | `excerpt` | `thumbnail`
|
||||
- [ ] 搜索:关键词、标签、作者、仅标题(`title_only`)
|
||||
- [ ] 右栏:热门帖、标签云、最新评论、最新用户、友链(可开关排序)
|
||||
- [ ] 登录用户右栏/侧边:签到与抽奖入口
|
||||
- [ ] 下拉刷新(移动端)
|
||||
- [ ] 可选伪静态:`/post/123.html` 等形式(后缀后台可配)
|
||||
- [ ] 404 页
|
||||
- [x] 404 页
|
||||
|
||||
---
|
||||
|
||||
## B. 认证与个人中心
|
||||
|
||||
- [ ] 注册(用户名、密码、昵称、邮箱;可选邮箱验证码)
|
||||
- [x] 注册(用户名、密码、昵称、邮箱;可选邮箱验证码)— SSR `/register`
|
||||
- [ ] 图形验证码接口(注册流程)
|
||||
- [ ] 登录 / 登出(会话 Cookie)
|
||||
- [x] 登录 / 登出(opaque session Cookie `jiang13_session`)— SSR;SameSite=Lax;登出/禁言/改密吊销
|
||||
- [ ] 忘记密码:邮箱验证码 + 重置
|
||||
- [ ] 注册配置接口:是否首用户、邮件是否就绪、是否开放注册
|
||||
- [ ] 首个用户自动成为管理员
|
||||
- [x] 注册配置:邮件就绪时强制验证码;安装后开放注册(不依赖 SMTP)
|
||||
- [x] ~~首个用户自动成为管理员~~ → 改为仅 `/install` 创建管理员
|
||||
- [ ] 个人中心:改昵称、签名、密码、上传头像(可裁剪)
|
||||
- [ ] 个人活动统计:帖数、评数、收藏数、获赞
|
||||
- [ ] 公开用户主页 `/user/:id`(无邮箱)
|
||||
- [ ] 禁言用户无法使用需登录写接口
|
||||
- [x] 禁言用户无法使用需登录写接口(中间件 + compose 门控)
|
||||
|
||||
---
|
||||
|
||||
## C. 板块
|
||||
|
||||
- [ ] 列出板块(含帖数等展示字段)
|
||||
- [ ] 管理员:创建 / 改 / 删板块
|
||||
- [ ] 板块名称、描述、图标、色板索引、排序
|
||||
- [ ] 默认板块保障(空站可引导创建)
|
||||
- [x] 列出板块(含帖数等展示字段)— 前台侧栏 + Admin
|
||||
- [x] 管理员:创建 / 改 / 删板块 — SSR `/admin/boards`
|
||||
- [x] 板块名称、描述、图标、色板索引、排序
|
||||
- [x] 默认板块保障(空站可引导创建)
|
||||
|
||||
---
|
||||
|
||||
## D. 帖子(通用)
|
||||
|
||||
- [ ] 发帖:选板块、标题、标签、正文
|
||||
- [ ] 正文图片上传
|
||||
- [ ] TipTap 富文本能力(见 [06-pages-ux.md](06-pages-ux.md) 编辑器节)
|
||||
- [x] 发帖:选板块、标题、标签、正文 — SSR `/compose`(normal)
|
||||
- [x] 正文图片上传 — `/compose/upload` + Markdown 插入
|
||||
- [ ] TipTap 富文本能力(见 [06-pages-ux.md](06-pages-ux.md) 编辑器节)— 本分支改用 Markdown textarea 渐进增强
|
||||
- [ ] Markdown 编辑模式(与富文本互转/双模)
|
||||
- [ ] 编辑帖子(时限、锁帖约束)
|
||||
- [x] 编辑帖子(时限、锁帖约束)— SSR `/post/:id/edit`
|
||||
- [ ] 删除帖子 → 软删进回收站
|
||||
- [ ] 修订历史列表与单条详情(可做 diff)
|
||||
- [ ] 点赞切换;收藏切换;收藏列表页
|
||||
- [ ] 浏览量(可 `skip_view=1` 跳过计数)
|
||||
- [x] 点赞切换;收藏切换;(收藏列表页未迁)
|
||||
- [x] 浏览量 — 详情页计数
|
||||
- [ ] 举报帖子
|
||||
- [ ] 内容审核状态展示(作者可见待审/被拒)
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
- [ ] 精华 / 取消
|
||||
- [ ] 禁止编辑(edit lock)
|
||||
- [ ] 禁止评论 / 结贴(comments lock)
|
||||
- [ ] 审核通过 / 拒绝(拒绝可通知作者)
|
||||
- [x] 审核通过 / 拒绝(拒绝可通知作者)— SSR `/admin/moderation`
|
||||
- [ ] 回收站:恢复 / 彻底删除
|
||||
|
||||
---
|
||||
@@ -108,7 +108,7 @@
|
||||
- [ ] @ 提及 → 通知
|
||||
- [ ] 回复提醒(站内信 + 可选邮件)
|
||||
- [ ] 审核中 / 被拒评论可见性规则
|
||||
- [ ] 管理员:通过 / 拒绝 / 回收站 / 查看评论修订
|
||||
- [x] 管理员:通过 / 拒绝待审评论 — SSR `/admin/moderation`(回收站/修订未迁)
|
||||
|
||||
---
|
||||
|
||||
@@ -155,11 +155,13 @@
|
||||
|
||||
---
|
||||
|
||||
## K. Gitea 码桶
|
||||
## K. Gitea 码桶(**后置**)
|
||||
|
||||
- [ ] 后台开关、Base URL、Token、同步间隔
|
||||
- [ ] 手动同步 + 后台定时同步
|
||||
- [ ] 前台 `/projects` 列表与搜索
|
||||
> 本迭代**不做**产品化同步:不启后台定时任务、不挂管理入口。表结构与 settings 键可保留兼容。
|
||||
|
||||
- [ ] (后置)后台开关、Base URL、Token、同步间隔
|
||||
- [ ] (后置)手动同步 + 后台定时同步
|
||||
- [ ] (后置)前台 `/projects` 列表与搜索
|
||||
|
||||
---
|
||||
|
||||
@@ -183,11 +185,11 @@
|
||||
|
||||
## N. 管理后台其它
|
||||
|
||||
- [ ] 仪表盘:计数 + 待审帖/评/举报/友链 + 最近帖
|
||||
- [ ] 敏感词文件读写
|
||||
- [ ] 论坛限流与字数等 Limits
|
||||
- [x] 仪表盘:用户/帖/板块计数 + 待审帖/评 — SSR `/admin/dashboard`(举报/友链待迁)
|
||||
- [x] 敏感词:`forum_settings.filter_words` 读写 + 热更 — SSR `/admin/settings`
|
||||
- [x] 基础限流(post/comment/register/login/window)— SSR;完整 Limits 字数等未迁
|
||||
- [ ] SMTP 配置与测试信
|
||||
- [ ] 站点品牌:名称、标语、简介、keywords、Logo、Favicon、OG 图、ICP
|
||||
- [x] 站点品牌文案:名称、标语、简介、keywords、Logo 字标、ICP — SSR(Logo/Favicon/OG 上传未迁)
|
||||
- [ ] SQLite 一键备份与下载
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user