用户列表

用户列表用来查看茶室用户及其茶室角色、活跃状态。入口在侧边栏「茶室」下的「用户列表」,路径 /tea/user。

茶博士及以上能进入。

整体布局

页面顶部是页头,显示用户总数。

下方是筛选栏,包含茶室角色下拉、排序下拉和搜索框。

最下方是用户列表表格,包含分页。

筛选

茶室角色下拉可选全部、未入座、茶客、茶友、茶博士、馆主。

排序下拉可选按 ID、按活跃、按茶室角色。按活跃即按最后活跃时间倒序,最能反映用户近期动态。

搜索框按昵称或用户 ID 模糊匹配。

筛选条件通过表单提交,URL 参数保留。

列表

列表按所选排序方式排列,每行显示以下内容。

ID 是用户的主键。

用户一列显示头像和昵称,点击跳转到该用户的茶室主页。

主站角色显示主站的 role 值,以数字形式呈现,供参考。

茶室角色以彩色徽章显示。未入座灰色,茶客灰蓝色,茶友蓝色,茶博士橙色,馆主红色。

最后活跃显示用户最后一次在茶室活动的时间。

状态一列显示该用户是否被全站封禁。被封禁时显示红色标签,否则显示「正常」。

与用户任命页面的区别

用户列表是只读视图,用于查看和定位用户。真正修改茶室角色的入口在用户任命页面。

用户列表里看不到茶室角色之外的更多信息,也不提供任何修改操作。它的作用是让人快速找到某个用户,确认其当前角色,然后决定是否需要去任命页面调整。

批量处罚

批量处罚用来对多个用户、多个话题批量执行禁言或封禁。入口在侧边栏「茶室」下的「批量处罚」,路径 /tea/user/punish。

茶博士及以上能进入。

整体布局

页面分两个标签。

「执行处罚」标签用于发起处罚,包含话题选择、用户选择、处罚配置三块。

「处罚记录」标签用于查看和撤销已有处罚。

处罚的语义

茶室的话题内处罚分两种类型。

禁言(mute)限制用户在指定话题下发言和回复。用户可以浏览,但不能发帖或回帖。

封禁(ban)限制用户查看指定话题。用户在该话题下既看不到帖子也发不了言。

两种处罚都是按话题维度生效的。同一个用户可以在话题 A 被禁言,在话题 B 不受影响。这与全站封禁不同。

处罚时长可以是永久,也可以指定天数。指定天数时,到期后自动失效。永久处罚不设置到期时间。

执行处罚

标签下分左右两栏。

左栏选择话题。顶部是搜索框,输入话题名或 ID 后下方显示匹配结果,点结果把该话题加入已选。已选话题以标签形式显示在搜索框下方,可单独移除。

右栏选择用户。结构与左栏一致,搜索框按昵称或用户 ID 匹配,选中后加入已选用户列表。

两栏都选定后,下方是处罚配置区。

处罚类型在禁言和封禁之间单选,默认禁言。

时长从下拉选择,可选永久、1 天、3 天、7 天、30 天、90 天,默认 7 天。

原因是选填的文本,最多 200 字。

点「执行处罚」按钮前会弹出确认框,列出本次要处理的话题数、用户数和总操作数。总操作数是话题数乘以用户数,超过 100 时会被拒绝,需要拆分成多批。

执行过程中按钮变为加载状态。完成后提示里显示实际执行的处罚数量和被跳过的数量。

跳过的情形

以下情形会导致某条处罚被跳过,不计入执行结果。

话题不存在或已封座。

用户不存在。

目标用户是操作者自己。

操作者不是馆主,且目标用户的茶室角色不低于操作者。

跳过原因会在执行完成的提示里汇总。管理员可以据此判断是否需要补充操作。

处罚的覆盖

同一个用户在同一话题下如果已有处罚记录,再次执行时会更新原有记录,而不是新建一条。

更新时,处罚类型、原因、操作人、到期时间都会刷新为最新值。创建时间也一并更新。

因此一个用户在同一话题下始终最多只有一条处罚记录,反映当前生效的处罚状态。

处罚记录

标签下显示所有已执行的处罚记录,按创建时间倒序排列。

每行显示处罚 ID、话题、用户、类型、原因、执行人、到期时间和创建时间。

已过期的处罚记录在类型徽章上降低透明度并加删除线,表示已失效。

顶部有话题 ID 和用户 ID 两个筛选输入框,可按话题或用户过滤记录。

「查询」按钮按当前筛选条件重新加载。「重置」按钮清空筛选条件。

底部分页每页 30 条。

撤销处罚

在处罚记录列表中勾选一条或多条记录后,顶部的「批量撤销」按钮激活。

点按钮后二次确认,确认后所选的处罚记录被物理删除。

撤销后这些处罚立即失效,目标用户在这些话题下恢复正常权限。

撤销不影响已过期的处罚记录。已过期的记录本身已失效,撤销与否不影响用户权限。

单次批量撤销最多处理 100 条记录。