跳到主要内容

Platform 能力与 API 索引

Platform 的能力多于待办、短链接和节假日三类。本页按 FreeKit.Platform.HttpApi 的真实 Controller 盘点当前 HTTP 边界,帮助开发者定位代码;具体请求/响应契约仍以主 Host 的 plat / v1 Swagger 分组为准。

项目边界

src/Services/Platform/
├── FreeKit.Platform/ # 核心服务、实体、配置、外部客户端
└── FreeKit.Platform.HttpApi/ # Controller 与 HTTP 接入

PlatformModuleStartup 注册核心能力;PlatformHttpApiModuleStartup 让主 Host 发现 HttpApi 程序集。参见Platform 架构设计

业务与平台能力

能力主要路由关键类型/目录
行政区划/api/plat/areaApplication/AreasIAreaService
热榜聚合/api/dailyhotApplication/DailyHot、keyed IDailyHotService
IP 查询/api/plat/ip-addressApplication/IpIIpAddressService
链接历史/api/plat/linkApplication/LinkHistories
本地化文化/api/plat/cultureApplication/LocalizationsICultureService
本地化资源/api/plat/resourceApplication/LocalizationsIResourceService
消息中心/api/plat/messagesApplication/MessagesIPlatformMessageService
导航分类/api/plat/catalogApplication/Nav/CatalogsICatalogService
导航项/api/plat/navitemApplication/Nav/NavItemsINavItemService
导航管理/api/plat/admin/navitemNavItemAdminController
拼音转换/api/plat/pinyinApplication/PinyinIPinyinService
开发项目目录/api/plat/dev-projectsApplication/ProjectsIDevProjectService
开发者与社交资料/api/plat/dev-users/api/plat/dev-user-socialsApplication/Projects
保险箱/api/plat/safeboxesApplication/SafeBoxes
Soul 内容/api/plat/soulApplication/Souls
调度信息/api/plat/FreeSchedulerApplication/TaskInfos/FreeSchedulerController
文本转语音/api/plat/ttsApplication/TTSITTSServiceIMimoTtsClient
元信息/监控/api/plat/meta/api/plat/monitorApplication/v1/Controllers

独立子域

子域主要路由独立设计点
Holiday/api/plat/holiday外部节假日同步、本地表与缓存
ShortUrl/api/plat/short-urlsShortUrlConnectionStrings 独立 FreeSql 实例与分表
ToDo/api/plat/todo个人待办、排序、完成状态和调度提醒

对应详细页面:节假日短链接待办事项

通用工具路由

Platform HttpApi 还承载少量 v1 工具端点,它们不使用 /api/plat 前缀:

控制器路由Swagger 分组
ClassicCryptoController/api/v1/classic-cryptov1
JSONController/api/v1/JSONv1
SMController/api/v1/smv1

不要根据模块名推断所有 Platform 路由。新增端点时优先沿用 api/plat/...plat 分组;兼容旧工具路由时应在 API 契约中明确说明。

认证与权限

部分 Controller 继承 FreeKitController,因此类级默认需要认证;另一些历史 Controller 直接继承 KitApiControllerBase,认证由类或 Action 上的 [Authorize] / [AllowAnonymous] 决定。调用方必须以具体 Action 的 Swagger 和源码特性为准,不能把整个 Platform 假设成全匿名或全鉴权。

新增管理能力时:

  1. 使用 FreeKitController 作为默认基类;
  2. 在 Contracts 中定义权限常量;
  3. Controller 保持薄转发,资源范围和权限判断放到 Application Service;
  4. 新的异步业务方法使用 Async 后缀;
  5. 外部 HTTP 客户端通过 AddHttpClient 和 Polly resilience 管线注册。

注册与配置入口

  • 核心注册:src/Services/Platform/FreeKit.Platform/PlatformModuleStartup.cs
  • HTTP 注册:src/Services/Platform/FreeKit.Platform.HttpApi/PlatformHttpApiModuleStartup.cs
  • 主 Host 组合:src/Services/Host/FreeKit.Host/Program.cs
  • 后台模块映射:src/Services/Host/FreeKit.DI/E.cs

相关文档