Module 02 · V1.0 · Communities & Subreddits

社区与版块体系

内容的第一层容器,社区自治的边界

P0V1.0缺失则产品不成立,必须最先交付

模块目标

要达成什么

把「社区」抽象为可创建、可订阅、可配置、可自治的一等实体,承载主题聚合、规则声明与版主治理。

为什么必须存在

如果说用户是「谁」,那么社区就是「在哪里」。没有社区容器,内容会退化为单一巨型信息流,无法形成垂直文化,也无法分权治理。

功能清单

共 8 个功能点,每个功能点给出实现要点,可直接作为开发任务的描述。

社区创建

P0

任何达到 TL2 的用户均可创建社区,需填写名称、URL 标识、简介、主题色与初始规则。

实现要点:URL 标识(slug)全局唯一且创建后不可修改,避免死链。创建者自动成为首位版主。平台对名称做敏感词与重名近似校验。

社区主页

P0

包含 Banner、社区图标、简介卡片、订阅按钮、成员数、在线人数、置顶帖与多档排序的内容流。

实现要点:Banner 与图标支持自定义上传,未上传时按社区名称生成确定性渐变色封面,保证视觉不空窗。

订阅与成员关系

P0

订阅(Join)、关注(不加入但接收精选)、退出三种关系;支持收藏社区到自定义分组。

实现要点:订阅写入 subscriptions 表并异步更新社区 member_count 缓存。社区可设置为「公开 / 受限(需审批)/ 私密(不可见)」三种访问模式。

社区规则与发帖指引

P0

结构化的规则列表(编号 + 标题 + 详细说明 + 违规后果),发帖前强制展示。

实现要点:规则以 JSON 存储,版主可在后台增删改排序。举报弹窗中规则条目作为可选项,实现「举报即归类」,为审核提供依据。

版主团队与角色

P1

社区内角色:Owner、Moderator、Flair Manager、Wiki Contributor;细粒度权限可勾选。

实现要点:权限以位掩码存储(如 1=删帖、2=封禁、4=加精…),判定时按位与运算,查询成本极低。

Flair(标签徽章)

P1

两类 Flair:帖子 Flair(如「讨论/教程/求助」)与用户 Flair(可自定义文本与颜色)。

实现要点:版主预置 Flair 列表,发帖时必选其一(可配置为可选);用户 Flair 由版主授予或用户自选,用于标识身份。

社区外观定制

P2

主题色、Banner、侧边栏 Widget(简介、规则、版主、相关社区、倒计时、自定义 Markdown)。

实现要点:主题色写入 community 配置,前端通过 CSS 变量注入,实现「进入社区即换主题」的独立站点感。

社区画廊与发现

P2

按热度、增长、新创、分类浏览社区;支持标签化分类(如「技术/生活/游戏」)。

实现要点:展示每个社区的封面、简介、成员数与近期活跃度,降低新用户的探索成本。

交互设计

2 条关键交互的分步流程,按用户体验顺序描述,可直接作为前端开发与可用性测试脚本。

1

创建社区

  1. 1

    点击顶部「创建社区」,填写名称,系统实时校验 slug 可用性并展示最终 URL 预览。

  2. 2

    填写简介与分类,选择访问模式(公开/受限/私密)。

  3. 3

    上传图标与 Banner;不填则使用自动生成的渐变封面与首字母图标。

  4. 4

    添加初始规则(可跳过,但会提示「有规则的社区举报处理更快」)。

  5. 5

    创建成功进入社区主页,并引导邀请 3 位成员(可选)。

2

社区切换与主题联动

  1. 1

    用户在侧边栏点击任一社区,页面不整页刷新,改为局部切换内容流。

  2. 2

    同时将社区主题色注入根节点 CSS 变量,Header 更换为社区 Logo 与名称。

  3. 3

    离开社区返回首页时主题色平滑过渡回全局默认色。

业务规则

5 条硬性约束。这些规则应当在服务层强校验,而非仅在前端提示。

R01

社区 slug 全局唯一、2–24 字符、仅字母数字下划线,创建后不可修改。

R02

创建社区门槛为 TL2,且账号注册满 30 天,防止批量建站刷名。

R03

社区数量对同一用户限 5 个(未活跃社区不计入)。

R04

社区删除需 Owner 操作并二次确认,进入 30 天冷静期,期间可恢复。

R05

受限社区的发帖需版主审批,私密社区不出现在任何公开列表与搜索中。

涉及数据表

本模块涉及的 7 张表。完整字段、索引与说明见「数据表设计」页。

竞品参考

本模块的设计参照了哪些产品,具体参照了什么。

RE

Reddit

Subreddit 完全自治 + 装扮体系,是本模块的蓝本。

贴吧

贴吧

吧内独立等级/头衔/职务分工,垂直归属感极强。

V2

V2EX

节点可轻松创建,低门槛带来内容丰富度。

LO

Lobsters

标签体系与社区可互补,通过标签补充跨社区过滤。

验收指标

本模块交付时应当达到的量化目标。未达标即视为该模块未完成。

社区创建成功率进入创建流程 → 成功 ≥ 60%
新社区 7 日活跃率≥ 30% 的新建社区 7 日内有 ≥ 5 篇内容
订阅转化率访问社区主页 → 订阅 ≥ 25%
社区切换响应主题色切换 ≤ 100ms 无闪烁

避坑清单

竞品踩过的坑,以及本模块在实现时最容易犯的错误。

  • 社区 slug 若允许修改会产生大量死链与 SEO 损失,必须创建时锁死。

  • 成员数不要实时 COUNT,务必走 Redis 计数器 + 定时校正。

  • 社区过多会导致信息碎片化,需在发现页做质量排序而非纯数量堆叠。

  • 主题色定制必须做对比度校验,防止用户配置出「看不清文字」的配色。