为什么要重新做一个内容平台

我们习惯了把内容放在一个系统里,把讨论放在另一个系统里,把考试和会员放在第三个系统里。每个系统都还能用,但身份、标签和内容被切成了碎片。

通印象(lt)想做的事情很朴素:让一个账号,穿行于所有内容形态。

四个独立模块

  • CMS:文章、图片、视频、栏目与单页,负责编辑部的表达。
  • BBS:版块、主题与回复,负责社区里的讨论。
  • Exam:题库、组卷、计时与判分,负责学习后的检验。
  • Blog:个人空间、日志、相册与留言,负责每个会员自己的房间。

它们各自拥有模型、路由、迁移和后台,不互相引用对方的业务代码。但它们都向同一个内容总线登记自己的公开内容。

独立,是为了让每个模块可以单独演进;互通,是为了让读者不必关心内容来自哪个模块。

内容总线做了什么

当一篇文章、一个主题、一场考试或一篇日志发布时,模块会向 contents 表写入一条统一记录:标题、摘要、封面、作者、状态、发布时间、标签和详情地址。全站搜索、首页推荐、标签页与「相关内容」都只读这一张表。

这意味着:

  1. 同一个标签下,可能同时出现一篇文章、一个社区主题和一篇博客。
  2. 会员在任何一个模块里的创作,都会汇总到个人主页。
  3. 模块停用后,历史内容记录仍然保留,重新启用即可恢复。

会员系统是唯一的主语

后台管理员与前台会员共用 users 表,用角色区分权限。登录一次,社区发帖、参加考试、写博客和评论都不需要再次认证。

我们不再维护两套密码,也不再把“管理员”当成一个脱离会员体系的存在。


内容产品的核心不是模块数量,而是内容与人的关系是否连续。这大概就是我们重新做一遍的原因。