话题管理

话题管理用来维护茶室的话题列表,包括话题的升降级、封座、合并、简介编辑、发帖门槛设置。入口在侧边栏「茶室」下的「话题管理」,路径 /tea/topic。

茶博士及以上能进入。茶博士可以升降级、封座、合并、编辑简介、设置发帖门槛。解封仅对馆主开放。

整体布局

页面顶部是页头,显示话题总数。

下方是筛选栏,包含档位下拉、话题名或 slug 的搜索框,以及筛选和重置按钮。

再往下是批量操作栏,默认显示为灰色不可用状态,勾选话题后激活。

最下方是话题列表表格。

话题档位

茶室话题分四种档位。

雅间(level 1)是首页顶部网格展示的话题,通常是最活跃的几个。

茶桌(level 2)是活跃话题,出现在首页的滚动区域。

散座(level 3)是一般话题,仅在完整列表中可见。

封座(level 4)是被封禁的话题,用户不可访问。

柜台是一类特殊话题,标记为 is_official,是官方固定话题。柜台不属于上述四种档位中的任何一种,有独立的展示位置和管理逻辑。柜台不能封座,也不能升降级。

列表

列表按柜台优先、档位升序、帖子数降序排序。每行显示以下内容。

第一列是多选框,用于批量操作。

ID 是话题的主键。

话题一列显示话题名、slug 和简介。柜台话题的名称前带一个图钉图标。

档位一列以彩色徽章显示当前档位,颜色按档位区分。

发帖门槛一列显示当前话题允许发帖的最低茶室角色。

帖子数和关注数显示该话题下的帖子总数与关注人数。

最后活跃显示该话题最后一次发帖的时间。

筛选

档位下拉可选全部档位、雅间、茶桌、散座、封座、柜台。

搜索框按话题名或 slug 模糊匹配。

筛选条件通过表单提交,URL 参数保留,可分享给同事。

批量操作

勾选话题后,批量操作栏激活,显示已选数量,并提供以下按钮。

「升降级」把选中的话题设为雅间、茶桌或散座中的一种。柜台话题和封座话题会被自动跳过。

「发帖门槛」把选中的话题的发帖最低角色统一设为茶客、茶友、茶博士或馆主。

「封座」把选中的话题设为封座。柜台话题会被跳过。

「解封」把选中的封座话题恢复为散座。仅馆主可用。

「合并」把选中的话题合并到一个目标话题,详见后面的章节。

「编辑简介」批量更新选中话题的简介,支持覆盖和追加两种模式。

单次批量操作最多处理 100 个话题,超出时提示分批处理。

升降级

点「升降级」按钮打开模态框,选择目标档位。

目标档位有三个选项:雅间、茶桌、散座。

柜台话题和已处于目标档位的话题会被自动跳过。执行完成后,提示里附带跳过数量和跳过原因。

升降级会同步更新话题的 level_changed_at 和 level_change_reason 字段。后者记录本次调整的来源,例如「管理端批量调整」。

发帖门槛

点「发帖门槛」按钮打开模态框,选择最低发帖角色。

四个选项分别是茶客、茶友、茶博士、馆主。

低于门槛的茶室用户在这些话题里只能看帖,不能发帖和回复。茶博士及以上不受门槛限制。

柜台话题和普通话题都受这个门槛控制。柜台话题的默认门槛是茶博士,创建柜台时指定。

封座与解封

封座把话题设为 level 4。封座后,用户在茶室前台看不到这个话题,话题下的帖子也不可见。已有的帖子数据保留,解封后恢复。

封座操作会记录操作原因到 level_change_reason。批量封座时,原因统一为「管理端批量封座」。

解封把话题从 level 4 恢复为 level 3,回到散座档位。解封操作仅对馆主开放,茶博士不显示这个按钮。

合并

合并把一个或多个源话题合并到一个目标话题,源话题被物理删除。

合并的语义如下。

源话题下的所有帖子改绑到目标话题。

源的 slug 写入别名表,指向目标话题。已有用户收藏的旧链接仍可访问,会被重定向到目标。

源已有的别名改指目标。

源的管理员记录(堂主、护法)被删除。

源的关注记录改指目标。若同一用户同时关注了源和目标,只保留目标上的关注,源上的关注被移除。

源话题被物理删除。

目标话题的帖子数、关注数和最后活跃时间被重新计算。

合并前可以先预览影响范围,点「合并」按钮后先展示预览,确认后再执行。

合并的约束有两条。目标话题不能出现在源列表中。柜台话题不能作为源或目标。

合并是一个不可逆操作。执行前建议先备份相关数据,或至少确认源话题下的帖子确实需要迁移。

编辑简介

点「编辑简介」按钮打开模态框,选择模式并填写内容。

模式有两种。覆盖表示用新内容替换原简介,追加表示在原简介末尾换行拼接新内容。

简介最多 500 字。超出时自动截断。若内容与原文相同,该话题会被跳过,不计入更新数。

排序与分页

列表按固定规则排序,不提供自定义排序。分页每页 30 条,超出时底部分页控件显示翻页按钮。

筛选条件变化时自动回到第一页。