社区:圈子 / 用户 / 订阅源
Community 子域把「人」和「内容」组织成社群:以**圈子(Club)**为聚合根承载成员与角色,围绕 CMS 用户(CmsUser) 提供主页与统计,配合在线访客提示与 RSS/Atom 订阅源,把社区动态分发出去。
概念与关系
圈子(Club)
Club 是社区的核心聚合根(AggregateRoot),与 CmsUser 通过 ClubMemberRole 多对多联结。ClubMemberRole 携带 ClubRoleType(Owner / Admin / Member 等)角色,并由 IClubMemberRoleService 管理加入、退出、授予/收回角色、转让圈主、封禁/解封。圈子的成员管理是权限边界:圈内操作(如管理帖)由角色决定,而非平台级权限。
CMS 用户(CmsUser)
CmsUser 是 CmsKit 侧的用户画像,与 Identity 的账号体系通过 CreateUserId 关联,并提供 /sync/{userId} 从 Identity 同步、在线统计重算(update-stats)。它承载作者的社交统计与主页展示。
在线访客(CurrentVisitUser)
ICurrentVisitUserService 记录「正在访问某内容」的访客,用于实时在线提示——它描述的是一种瞬时状态,而非持久社交关系。
订阅源(Feed)
IFeedService 把文章/沸点输出为 RSS / Atom(全站、按分类、按用户)。订阅源是社区内容向外部读者的只读分发通道,与站内推荐互补。
通知
社区动作(点赞、评论、关注、@提及)会经由通知系统实时推送,详见 通知系统。
业务能力
- 圈子广场 / 热门 / 推荐,成员加入与排序(可重排「我加入的圈子」);
- 成员角色与权限:圈主转让、管理员授予/收回、封禁/解封;
- CMS 用户主页、社交统计与从 Identity 同步;
- 在线访客实时提示;
- RSS / Atom 订阅源(全站 / 分类 / 用户维度);
- 实时通知中心(见 通知系统)。