全部代码已读完。以产品经理视角输出完整需求文档如下:
版本: V1.0 模块范围: 审核场景管理、审核队列 文档日期: 2026-03-05
平台需要对用户生产的文字和图片内容进行合规管控。不同业务场景(帖子、评论、头像、商品图等)的审核标准和处置方式存在差异,需要支持精细化、可配置的审核体系。
本文档定义两个核心管理模块:
路径:/settings
权限:运营管理员
页面承载平台所有审核场景的配置管理,运营人员在此定义每个业务场景的审核策略,无需改代码即可调整审核行为。
列表顶部设置两个 Tab 切换:文本场景 / 图片场景,分别展示对应类型的场景列表,并在 Tab 右侧显示该类型场景总数。
内置文本场景(7 个):
| 场景名称 | 说明 |
|---|---|
| 帖子发布 | 用户在社区发布的图文帖子内容 |
| 评论与回复 | 用户对帖子发布的评论及回复内容 |
| 评价发布 | 用户对服务或商品提交的评价内容 |
| 做饭服务备注 | 用户在下单做饭服务时填写的备注说明 |
| 闲置物品描述 | 用户发布闲置物品时填写的物品描述内容 |
| 在线客服聊天 | 用户与客服之间的实时聊天文本内容 |
| 兜底文本输入审核 | 平台内其他未单独配置的文本输入场景兜底审核 |
内置图片场景(3 个):
| 场景名称 | 说明 |
|---|---|
| 帖子图片 | 用户在帖子中上传的图片内容 |
| 用户头像 | 用户设置的个人头像图片 |
| 闲置物品图片 | 用户发布闲置物品时上传的商品图片 |
每条场景以卡片形式展示,包含以下信息:
配置概览标签组(仅已启用场景展示):
每张卡片右侧提供以下操作:
开关(Switch):控制场景启用/关闭
列表末尾有一个虚线边框的「新增审核场景」卡片,点击后打开新增场景弹窗。新增入口的标题根据当前 Tab 动态变化(「新增文本审核场景」/ 「新增图片审核场景」),新建场景自动归属到当前 Tab 类型。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 内容类型 | 单选卡片 | 是 | 文本场景 / 图片场景,默认与当前 Tab 一致,可手动修改 |
| 场景名称 | 文本输入 | 是 | placeholder 根据内容类型动态提示,如「如:直播弹幕、动态发布」 |
| 场景描述 | 多行文本 | 否 | 简要说明该场景覆盖的内容类型 |
| 选择图标 | 图标宫格 | 否 | 提供 17 个预设图标(文档/消息/评星/厨师/商品等),默认使用文档图标 |
点击场景卡片上的「配置策略」后打开,弹窗宽度最大 700px,内容超出时可滚动,顶部标题区固定不随内容滚动。
说明文字: 决定内容提交后的展示时机
提供三种模式,以卡片形式单选:
| 模式 | 说明 |
|---|---|
| 先审后发 | 内容提交后进入审核队列,审核通过后才对外展示 |
| 先发后审 | 内容提交后立即展示,审核不通过则下架处理 |
| 仅记录 | 内容直接展示,仅记录审核结果日志,不做任何拦截 |
联动逻辑:
控制开关: 可启用/禁用整个接口审核区块
区块内包含两个子配置,关闭开关时两个子配置整体置灰禁用。
子配置 1 — 审核接口(多选)
提供以下接口选项,以复选卡片形式展示:
| 接口标识 | 接口名称 | 说明 |
|---|---|---|
| 微信内容安全接口 | 调用微信小程序 security.msgSecCheck 接口,实时检测违规内容 | |
| third_party | 第三方审核接口 | 对接第三方内容审核服务(如阿里云、网易云盾等) |
子配置 2 — 判定违规后的处理方式
提供两种策略,以按钮组形式单选:
| 策略 | 说明 |
|---|---|
| 直接拦截 | 内容不予发布,用户收到拦截提示 |
| 转人工复审 | 内容暂不发布,进入人工审核队列等待人工判断 |
条件显示: 当场景类型为「图片场景」时显示此区块(替代区块四、五)
接口返回不同违规类别时,可分别配置独立的处理策略。以列表形式展示 6 个违规类别,每行右侧提供「直接拦截 / 转人工复审」两个按钮切换:
| 违规类别 | 描述 | 默认策略 |
|---|---|---|
| 色情低俗 | 涉及色情、低俗、擦边内容 | 直接拦截 |
| 涉政敏感 | 涉及政治敏感、违禁符号等 | 直接拦截 |
| 暴力血腥 | 含有暴力、血腥、恐怖画面 | 直接拦截 |
| 广告引流 | 含有二维码、广告水印等引流内容 | 转人工复审 |
| 辱骂攻击 | 含有侮辱性文字或手势 | 转人工复审 |
| 违禁物品 | 含有违禁品、管控物品 | 直接拦截 |
控制开关: 可启用/禁用,关闭时策略选项整体置灰
说明文字: 与敏感词库匹配,按风险等级独立处理
按风险等级分三行配置处理策略,每行右侧提供「直接拦截 / 转人工复审」按钮切换:
| 风险等级 | 描述 | 默认策略 |
|---|---|---|
| 低风险 | 轻微不雅用词、边缘表达 | 转人工复审 |
| 中风险 | 违规信息、营销引流等 | 转人工复审 |
| 高风险 | 严重违法违规内容 | 直接拦截 |
控制开关: 可启用/禁用,关闭时区块内容整体置灰禁用
说明文字: 使用正则表达式自定义匹配规则
区块头部展示当前规则总数 Badge。
快捷模板
提供 5 个常用规则模板,点击后自动填入「添加规则」表单(不立即创建,需用户确认添加):
| 模板名称 | 正则表达式 |
|---|---|
| 联系方式过滤 | 1[3-9]\d{9}|\d{3,4}-\d{7,8} |
| 外链过滤 | https?:\/\/[\w\-]+(\.[\w\-]+)+ |
| 重复内容过滤 | (.{4,})\1{2,} |
| 微信号过滤 | 微信[号::号码]?\s*[a-zA-Z][a-zA-Z\d_-]{5,19} |
| QQ号过滤 | QQ[号::\s]*[1-9]\d{4,10} |
规则列表
已添加规则以卡片列表展示,每条规则显示:
添加规则表单
位于规则列表下方,虚线边框背景区域:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 规则名称 | 文本输入 | 是 | placeholder:「如:联系方式过滤」 |
| 正则表达式 | 文本输入(等宽字体) | 是 | placeholder:「如:1[3-9]\d9」 |
| 命中后的处理方式 | 策略选择器 | 是 | 直接拦截 / 转人工复审 |
路径:/review
权限:审核员 / 运营管理员
汇聚所有被机器审核标记的待处理内容,审核人员在此完成人工判决。内容来源包括:接口识别违规、敏感词命中、自定义规则命中。
Tab 栏采用浅灰底板胶囊风格,共 4 个 Tab,默认选中「待复审」:
| Tab | 筛选条件 | 徽章规则 |
|---|---|---|
| 待复审 | status = pending | 数量 > 0 时显示黄色实心徽章 |
| 已通过 | status = approved | 数量 > 0 时显示灰色徽章 |
| 已拦截 | status = rejected | 数量 > 0 时显示灰色徽章 |
| 全部 | 不限状态 | 展示总数量 |
Tab 下方提供三个筛选项,横向排列:
| 筛选项 | 类型 | 选项 |
|---|---|---|
| 关键词搜索 | 文本输入框 | 匹配:内容正文、标题、作者昵称、用户 ID |
| 内容场景 | 下拉单选 | 所有场景 / 帖子发布 / 评论回复 / 评价发布 / 做饭备注 / 闲置物品 / 客服聊天 / 其他 |
| 触发来源 | 下拉单选 | 所有来源 / 敏感词命中 / 自定义规则 / 接口识别 |
每条待审内容以卡片展示,卡片结构如下:
卡片左侧 — 场景图标
卡片中部 — 内容信息(从上到下)
卡片右侧 — 操作按钮
| 按钮 | 展示条件 | 样式 |
|---|---|---|
| 详情 | 所有状态均显示 | 描边按钮 |
| 通过 | 仅 pending 状态显示 | 主色填充按钮 |
| 拦截 | 仅 pending 状态显示 | 红色危险按钮 |
| 拉黑(图标) | 所有状态均显示 | 幽灵按钮,hover 变红 |
空状态: 筛选结果为空时,展示居中提示「暂无符合条件的审核内容」
点击「详情」按钮后打开,最大宽度 512px。
弹窗内容:
结构化字段列表:
弹窗底部操作:
点击列表卡片或详情弹窗中的「拦截」按钮后打开。
弹窗内容:
底部操作: 取消 / 确认拦截(红色)
执行结果:
点击列表卡片右侧拉黑图标按钮后打开。
弹窗标题: 「拉黑用户」 弹窗描述: 「将「昵称」加入黑名单」
弹窗内容:
拉黑时长(必选,默认「永久拉黑」):
以 3 列宫格按钮展示 6 个时长选项:
| 选项 | 时长 |
|---|---|
| 12小时 | 12h |
| 1天 | 1d |
| 3天 | 3d |
| 7天 | 7d |
| 30天 | 30d |
| 永久拉黑 | permanent |
拉黑理由: 多行文本输入(选填),3 行高度
底部操作: 取消 / 确认拉黑(红色)
执行结果:
| 场景 | 处理方式 |
|---|---|
| 新增场景时名称为空 | 「创建场景」按钮保持禁用状态,不可提交 |
| 选择「仅记录」审核模式 | 自动关闭三种审核方式,无需用户手动操作 |
| 接口审核开关关闭时点击接口选项 | 点击无响应,接口列表视觉置灰 |
| 规则审核开关关闭时 | 整个规则区域 pointer-events 禁用,快捷模板/添加规则均无法交互 |
| 添加规则时名称或正则为空 | 「添加规则」按钮禁用 |
| 删除内置场景 | 内置场景不展示删除按钮,用开关控制启停,无法删除 |
| 配置弹窗中放弃修改 | 点击取消或弹窗外部区域,所有表单变更回滚至打开前状态 |
| 关闭场景后再开启 | 原有配置策略保留,不重置 |
| 场景 | 处理方式 |
|---|---|
| 所有筛选条件均无匹配结果 | 展示空状态卡片提示「暂无符合条件的审核内容」 |
| 对已通过/已拦截内容操作 | 列表卡片不展示「通过」「拦截」按钮;详情弹窗底部也不展示操作按钮 |
| 拉黑不影响内容状态 | 拉黑仅将用户加入黑名单,内容仍需单独执行通过/拦截操作 |
| 从详情弹窗触发拦截 | 关闭详情弹窗并打开拦截弹窗,两个弹窗不同时展示 |
| 详情弹窗中执行通过 | 直接通过,不需要二次确认弹窗 |
| 拦截理由为空时提交 | 允许空理由,拦截确认按钮始终可点击 |
| 拉黑弹窗未选择时长 | 默认选中「永久拉黑」,确认按钮始终可用 |
| 待复审数量变为 0 | 「待复审」Tab 徽章消失,页头副标题的黄色提示同步隐藏 |