社区:圈子 / 用户 / 订阅源
社区围绕「圈子(Club)」组织内容与成员关系,并提供 CMS 用户主页、在线访客与 RSS/Atom 订阅源。
圈子(ClubController)
用户端 /api/cms/clubs(IClubService / IClubManager)
| 方法 | 路由 | 说明 |
|---|---|---|
| GET | /square | 圈子广场列表 |
| GET | /popular | 热门圈子 |
| GET | /recommend | 推荐圈子 |
| GET | /my-joined | 我加入的圈子 |
| POST | /my_join_clubs/swap_position | 交换我加入圈子的排序(SwapMyJoinClubPositionReq) |
| PUT | /my_join_clubs/order | 重排我加入的圈子(ReorderMyJoinClubsReq) |
| GET | /{id} | 圈子详情 |
| GET | /subscribed | 我订阅的圈子 |
管理端 /api/cms/admin/clubs(需 CmsKit.Clubs.*)
| 方法 | 路由 | 说明 |
|---|---|---|
| GET | / | 列表 |
| POST | / | 新建(CreateUpdateClubReq) |
| PUT | /{id} | 更新 |
| DELETE | /{id} | 删除 |
圈子成员与角色(ClubMemberRoleController,/api/cms/club-role)
成员角色枚举 ClubRoleType(Owner / Admin / Member 等),由 IClubMemberRoleService 管理。
| 方法 | 路由 | 说明 |
|---|---|---|
| GET | /club/{clubId}/user/{userId} | 某用户在圈子内的角色 |
| GET | /club/{clubId}/members | 圈子成员分页列表 |
| POST | /club/{clubId}/join | 加入圈子 |
| DELETE | /club/{clubId}/leave | 退出圈子 |
| POST | /grant | 授予角色(GrantClubRoleReq) |
| POST | /revoke | 收回角色(RevokeClubRoleReq) |
| POST | /club/{clubId}/user/{userId}/unban | 解封成员 |
| POST | /transfer | 转让圈主(TransferClubOwnerReq) |
| GET | /club/{clubId}/user/{userId}/check/{role} | 校验用户是否拥有某角色 |
| GET | /club/{clubId}/user/{userId}/is-admin | 校验是否为管理员 |
CMS 用户(UserController)
用户端 /api/cms/user(ICmsUserService / IProfileService):
| 方法 | 路由 | 说明 |
|---|---|---|
| POST | / | 创建 CMS 用户(CmsUserReq) |
| PUT | /{id} | 更新 CMS 用户 |
| GET | /{userId:guid} | 按 Id 获取用户资料 |
| GET | /{userName} | 按用户名获取用户资料 |
| GET | /novices | 新手用户列表 |
| GET | /sync/{userId} | 从 Identity 同步用户 |
| GET | /update-stats/{userId} | 重新计算用户统计 |
| GET | /simple-list | 简单用户列表(下拉用) |
管理端 /api/cms/admin/users(需 CmsKit.Users.*):
| 方法 | 路由 | 说明 |
|---|---|---|
| GET | / | 用户分页列表 |
| POST | /recalculate-all-users-social-info | 全量重算社交统计 |
在线访客(CurrentVisitUserController,/api/cms/current-visit-user)
ICurrentVisitUserService 记录「正在访问某内容」的访客,用于实时在线提示。
| 方法 | 路由 | 说明 |
|---|---|---|
| POST | / | 上报/更新访客(CurrentVisitUserInput) |
| GET | / | 访客分页列表 |
订阅源(FeedController,/api/cms/feed)
把文章/沸点输出为 RSS / Atom(IFeedService)。
| 方法 | 路由 | 说明 |
|---|---|---|
| GET | /rss | 全站 RSS(maxItems 可选) |
| GET | /rss/category/{categoryId} | 按分类 RSS |
| GET | /rss/user/{userId} | 按用户 RSS |
| GET | /atom | 全站 Atom |
实时通知
社区动作(点赞、评论、关注、@提及)会经由 INotificationService + SignalR 推送通知。详见独立的 通知系统 页面。