便于查阅当前完成度与默认继续刀序;lottery/§O 已在前序提交。 Co-authored-by: Cursor <cursoragent@cursor.com>
5.0 KiB
5.0 KiB
09 · SSR 重构进度与路线图
读者:产品方 / 实现 AI
分支:rebuild/gitea-ssr(main= SPA 对照)
验收清单: 02-features.md
架构: 08-gitea-ssr-architecture.md
维护约定:每次「继续」开新刀前更新本文「当前指针」;功能勾选以02为准,本文管阶段与刀序。
当前指针
| 项 | 值 |
|---|---|
| 上一刀 | SSR 抽奖帖 lottery(已推送 e06c548) |
| 下一刀 | Admin /admin/users(禁言 / 验证 / 调积分)— 见下文「下一刀实现提纲」 |
| 工作区 | 应干净;有未提交改动时先处理再开新刀 |
一句话状态
论坛核心闭环(安装、认证、Feed、五种帖类型、评论、私信、友链、审核、回收站、基础设置、备份)已迁完。余量主要是 Admin 用户/徽章/媒体、成长体系、OIDC/存储产品化与体验打磨。
flowchart LR
core[核心论坛已迁]
admin[Admin用户徽章媒体]
growth[等级徽章防刷]
polish[主题伪静态编辑器]
deferred[Gitea码桶后置]
core --> admin --> growth
admin --> polish
deferred -.-> admin
已完成里程碑
公开站
| 域 | 状态 |
|---|---|
/install、登录/注册/忘记密码、opaque session |
已迁 |
| Feed / 板块 / 搜索 / 三栏 / 右栏 widgets | 已迁 |
| 帖详情:赞藏举报、门控、审核横幅、修订历史 | 已迁 |
帖类型:normal / question / poll / bounty / lottery |
已迁 |
| 评论:发评/回复/赞/私密/编辑删除/@/回复通知 | 已迁(扁平楼层;嵌套树未做) |
| 私信/系统通知、收藏、个人中心、用户页 | 已迁 |
| 友链前台 + Admin(含复检) | 已迁 |
| 站点单页 | 已迁 |
/health、robots.txt、sitemap.xml、/uploads |
已落地(02 §O 已勾) |
Admin
| 路径 | 状态 |
|---|---|
| dashboard / boards / moderation / reports / trash | 已迁 |
| settings:品牌、限流、敏感词、SMTP、侧栏、SQLite 备份 | 已迁 |
| friend-links / pages | 已迁 |
| users / badges / media | 未迁 |
| settings:OIDC / Gitea / 存储 / 伪静态 Tab | 未迁 |
近期提交(摘)
poll → SQLite 备份 → 友链复检 → question → bounty → lottery(e06c548)
未完成分层
P0 — 小清理(可夹带)
- 发评路径挂
RateLimitercomment动作(服务层已有键,web 未挂) - Logo/Favicon/OG 上传、头像裁剪等声明为未做的边角
P1 — 推荐刀序(服务层多半已齐)
- Admin 用户 ← 当前指针
- Admin 徽章定义 + 授予/撤销
- Admin 媒体列表/删除
P2 — 成长与防刷
- Exp → Lv1–10、自动徽章、短龄同 IP 互刷拒绝分成(
02§H)
P3 — 体验 / 编辑器(可砍或长期)
- 主题、侧栏折叠、虚拟滚动、
feed_list_style、伪静态 Admin - TipTap / Markdown 双模(现行为 textarea + 门控)
- 游客评论、评论嵌套树(建议:全局
#floor+ 缩进,编号语义先写入06) - 修订 diff、完整 Limits 字数
后置(不阻塞验收)
- K:Gitea
/projects - L:OIDC 产品化 Admin CRUD
- M:S3 热切换、WebP thumb 全链路
默认「继续」刀序
| 序 | 刀 | 产出 |
|---|---|---|
| ✓ | 五种帖类型 + 备份/复检 + §O 勾选 | 核心闭环 |
| ✓ | 本文 09 |
可查阅进度 |
| → | Admin /admin/users |
禁言/验证/调积分 |
| 3 | Admin /admin/badges |
徽章 CRUD + 授予 |
| 4 | Admin /admin/media |
媒体列表删除 |
| 5 | 等级/自动徽章 或 防刷分成 | 按当时偏好 |
| … | P3 / 后置 | 需明确点名再开 |
下一刀实现提纲:Admin 用户管理
确认「继续」后按此实现;不恢复论坛管理 JSON
/api为 UI 主路径。
范围
- 路由:
GET /admin/users;POST /admin/users/:id/ban、/verify、/points - 复用:
UserService.ListUsers/BanUser;SetVerified;PointsService.AdminAdjust - 模板:
templates/admin/users.tmpl+admin/nav入口 - 列表:分页、关键词;展示角色、积分、禁言、verified
- 操作:禁言/解禁、切换认证、调积分(delta + 备注);CSRF + PRG
- 规格:勾选
02§H「管理员调整积分、设定等级」中与积分/认证相关部分(等级 UI 可后置);06标明/admin/users已迁
不做(本刀)
- 设定 Exp/等级 UI(可只读展示 level)
- 徽章授予(下一刀 badges)
- 恢复
/api/admin/users给浏览器
验证
build.bat;冒烟:列表 → 禁言 → 调积分 → 认证开关
如何查阅
| 问题 | 看哪里 |
|---|---|
| 某功能做没做? | 02-features.md 复选框 |
| 现在该干什么? | 本文「当前指针」 |
| 路由迁没迁? | 06-pages-ux.md §1 |
| 目录约定? | 08-gitea-ssr-architecture.md |