openapi.yaml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. openapi: 3.0.3
  2. info:
  3. title: 方案计划文档管理系统 API
  4. version: 1.20.0
  5. description: DMS第一阶段接口;Q3-B正文检索、原文件预览、1.6 LibreOffice离线文档转换与PDF预览、1.7 机构用户维护与详细说明、1.8 角色管理与权限矩阵、1.9 方案关联关系、1.10 部门IP登录限制、1.11 统一门户跳转登录与子案挂载、1.12 正文提取状态可见与重新解析、1.13 登录界面自定义背景图、1.17 管理类权限矩阵化(管理位挂角色)、1.19 借阅授权收敛(限时用户借阅+审批单凭证)。
  6. servers:
  7. - url: /
  8. paths:
  9. /api/v1/health:
  10. get:
  11. operationId: getDmsHealth
  12. summary: DMS健康检查
  13. security: []
  14. parameters:
  15. - $ref: './components/parameters.yaml#/XRequestId'
  16. responses:
  17. '200':
  18. $ref: './components/responses.yaml#/HealthSuccess'
  19. '500':
  20. $ref: './components/responses.yaml#/InternalError'
  21. /api/v1/auth/login:
  22. $ref: './paths/auth.yaml#/Login'
  23. /api/v1/auth/logout:
  24. $ref: './paths/auth.yaml#/Logout'
  25. /api/v1/auth/portal/verify:
  26. $ref: './paths/auth.yaml#/PortalVerify'
  27. /api/v1/auth/portal/setup-password:
  28. $ref: './paths/auth.yaml#/PortalSetupPassword'
  29. /api/v1/users/me:
  30. $ref: './paths/users.yaml#/CurrentUser'
  31. /api/v1/users/me/ui-theme:
  32. $ref: './paths/users.yaml#/CurrentUserUiTheme'
  33. /api/v1/organizations/tree:
  34. $ref: './paths/organizations.yaml#/OrganizationTree'
  35. /api/v1/organizations:
  36. $ref: './paths/organizations.yaml#/Organizations'
  37. /api/v1/organizations/{id}:
  38. $ref: './paths/organizations.yaml#/Organization'
  39. /api/v1/organizations/{id}/ip-assignments:
  40. $ref: './paths/organizations.yaml#/OrganizationIpAssignments'
  41. /api/v1/ip-entries:
  42. $ref: './paths/ip-entries.yaml#/IpEntries'
  43. /api/v1/ip-entries/{id}:
  44. $ref: './paths/ip-entries.yaml#/IpEntry'
  45. /api/v1/users:
  46. $ref: './paths/users.yaml#/Users'
  47. /api/v1/users/{id}:
  48. $ref: './paths/users.yaml#/User'
  49. /api/v1/users/{id}/reset-password:
  50. $ref: './paths/users.yaml#/UserResetPassword'
  51. /api/v1/roles:
  52. $ref: './paths/roles.yaml#/Roles'
  53. /api/v1/roles/{id}:
  54. $ref: './paths/roles.yaml#/Role'
  55. /api/v1/roles/{id}/permissions:
  56. $ref: './paths/roles.yaml#/RolePermissions'
  57. /api/v1/roles/{id}/users:
  58. $ref: './paths/roles.yaml#/RoleUsers'
  59. /api/v1/config/ui-dictionaries:
  60. $ref: './paths/configuration.yaml#/UiDictionaries'
  61. /api/v1/config/login-background:
  62. $ref: './paths/configuration.yaml#/LoginBackground'
  63. /api/v1/categories/tree:
  64. $ref: './paths/categories.yaml#/CategoryTree'
  65. /api/v1/categories:
  66. $ref: './paths/categories.yaml#/Categories'
  67. /api/v1/categories/reorder:
  68. $ref: './paths/categories.yaml#/CategoriesReorder'
  69. /api/v1/categories/{id}:
  70. $ref: './paths/categories.yaml#/Category'
  71. /api/v1/documents:
  72. $ref: './paths/documents.yaml#/Documents'
  73. /api/v1/documents/tags:
  74. $ref: './paths/documents.yaml#/DocumentsTags'
  75. /api/v1/documents/reorder:
  76. $ref: './paths/documents.yaml#/DocumentsReorder'
  77. /api/v1/documents/{id}:
  78. $ref: './paths/documents.yaml#/Document'
  79. /api/v1/documents/{id}/re-extract:
  80. $ref: './paths/documents.yaml#/DocumentReExtract'
  81. /api/v1/documents/{id}/move:
  82. $ref: './paths/documents.yaml#/DocumentMove'
  83. /api/v1/documents/batch-import:
  84. $ref: './paths/documents.yaml#/DocumentBatchImport'
  85. /api/v1/documents/{id}/preview:
  86. $ref: './paths/documents.yaml#/DocumentPreview'
  87. /api/v1/documents/{id}/download:
  88. $ref: './paths/documents.yaml#/DocumentDownload'
  89. /api/v1/main-plans/{id}/sub-plans:
  90. $ref: './paths/documents.yaml#/SubPlans'
  91. /api/v1/main-plans/{id}/sub-plans/bind:
  92. $ref: './paths/documents.yaml#/MainPlanSubPlanBinding'
  93. /api/v1/main-plans/{id}/sub-plans/{subPlanId}:
  94. $ref: './paths/documents.yaml#/MainPlanSubPlan'
  95. /api/v1/attachments:
  96. $ref: './paths/documents.yaml#/Attachments'
  97. /api/v1/attachments/{id}:
  98. $ref: './paths/documents.yaml#/Attachment'
  99. /api/v1/attachments/batch-import:
  100. $ref: './paths/documents.yaml#/AttachmentBatchImport'
  101. /api/v1/attachments/{id}/main-plans:
  102. $ref: './paths/documents.yaml#/AttachmentMainPlans'
  103. /api/v1/main-plans/{id}/attachments:
  104. $ref: './paths/documents.yaml#/MainPlanAttachments'
  105. /api/v1/main-plans/{id}/attachments/bind:
  106. $ref: './paths/documents.yaml#/MainPlanAttachmentBinding'
  107. /api/v1/main-plans/{id}/attachments/reorder:
  108. $ref: './paths/documents.yaml#/MainPlanAttachmentsReorder'
  109. /api/v1/main-plans/{id}/attachments/{attachmentId}:
  110. $ref: './paths/documents.yaml#/MainPlanAttachment'
  111. /api/v1/main-plans/{id}/attachments/{bindingId}/move:
  112. $ref: './paths/documents.yaml#/MainPlanAttachmentMove'
  113. /api/v1/documents/{id}/description:
  114. $ref: './paths/documents.yaml#/DocumentDescription'
  115. /api/v1/documents/{id}/permissions:
  116. $ref: './paths/documents.yaml#/DocumentPermissions'
  117. /api/v1/documents/{id}/permissions/entries/{entryId}/voucher:
  118. $ref: './paths/documents.yaml#/DocumentPermissionVoucher'
  119. /api/v1/documents/{id}/password:
  120. $ref: './paths/documents.yaml#/DocumentPassword'
  121. /api/v1/documents/relation-presets:
  122. $ref: './paths/documents.yaml#/DocumentRelationPresets'
  123. /api/v1/documents/{id}/relations:
  124. $ref: './paths/documents.yaml#/DocumentRelations'
  125. /api/v1/audit/logs:
  126. $ref: './paths/audit.yaml#/AuditLogs'
  127. /api/v1/statistics/documents:
  128. $ref: './paths/audit.yaml#/DocumentStatistics'
  129. /api/v1/audit/statistics/trend:
  130. $ref: './paths/audit.yaml#/AuditTrendStatistics'
  131. /api/v1/audit/statistics/actions:
  132. $ref: './paths/audit.yaml#/AuditActionStatistics'
  133. /api/v1/audit/statistics/users:
  134. $ref: './paths/audit.yaml#/AuditUserStatistics'
  135. /api/v1/recycle-bin/documents:
  136. $ref: './paths/recycle-bin.yaml#/RecycleBinDocuments'
  137. /api/v1/recycle-bin/documents/{id}/restore:
  138. $ref: './paths/recycle-bin.yaml#/RestoreRecycleBinDocument'
  139. components:
  140. securitySchemes:
  141. BearerAuth:
  142. $ref: './components/security-schemes.yaml#/BearerAuth'
  143. schemas:
  144. StringId:
  145. $ref: './components/schemas.yaml#/StringId'
  146. UtcDateTime:
  147. $ref: './components/schemas.yaml#/UtcDateTime'
  148. PageResult:
  149. $ref: './components/schemas.yaml#/PageResult'
  150. ErrorResponse:
  151. $ref: './components/schemas.yaml#/ErrorResponse'
  152. LoginRequest:
  153. $ref: './components/schemas.yaml#/LoginRequest'
  154. LoginResponse:
  155. $ref: './components/schemas.yaml#/LoginResponse'
  156. UserSummary:
  157. $ref: './components/schemas.yaml#/UserSummary'
  158. OrganizationNode:
  159. $ref: './components/schemas.yaml#/OrganizationNode'
  160. UserPageResponse:
  161. $ref: './components/schemas.yaml#/UserPageResponse'
  162. CategoryNode:
  163. $ref: './components/schemas.yaml#/CategoryNode'
  164. CreateCategoryRequest:
  165. $ref: './components/schemas.yaml#/CreateCategoryRequest'
  166. UpdateCategoryRequest:
  167. $ref: './components/schemas.yaml#/UpdateCategoryRequest'
  168. DocumentSummary:
  169. $ref: './components/schemas.yaml#/DocumentSummary'
  170. DocumentDetail:
  171. $ref: './components/schemas.yaml#/DocumentDetail'
  172. AttachmentBindingSummary:
  173. $ref: './components/schemas.yaml#/AttachmentBindingSummary'
  174. BindAttachmentsRequest:
  175. $ref: './components/schemas.yaml#/BindAttachmentsRequest'
  176. BindAttachmentsResponse:
  177. $ref: './components/schemas.yaml#/BindAttachmentsResponse'
  178. UnbindAttachmentResponse:
  179. $ref: './components/schemas.yaml#/UnbindAttachmentResponse'
  180. ReorderDocumentsRequest:
  181. $ref: './components/schemas.yaml#/ReorderDocumentsRequest'
  182. ReorderDocumentsResponse:
  183. $ref: './components/schemas.yaml#/ReorderDocumentsResponse'
  184. ReorderAttachmentsRequest:
  185. $ref: './components/schemas.yaml#/ReorderAttachmentsRequest'
  186. ReorderAttachmentsResponse:
  187. $ref: './components/schemas.yaml#/ReorderAttachmentsResponse'
  188. PermissionEntry:
  189. $ref: './components/schemas.yaml#/PermissionEntry'
  190. SavePermissionsRequest:
  191. $ref: './components/schemas.yaml#/SavePermissionsRequest'
  192. PermissionDetailResponse:
  193. $ref: './components/schemas.yaml#/PermissionDetailResponse'
  194. PermissionVoucherResultResponse:
  195. $ref: './components/schemas.yaml#/PermissionVoucherResultResponse'
  196. PermissionVoucherDeleteResultResponse:
  197. $ref: './components/schemas.yaml#/PermissionVoucherDeleteResultResponse'
  198. AuditLogSummary:
  199. $ref: './components/schemas.yaml#/AuditLogSummary'
  200. AuditLogPageResponse:
  201. $ref: './components/schemas.yaml#/AuditLogPageResponse'
  202. DocumentStatisticsResponse:
  203. $ref: './components/schemas.yaml#/DocumentStatisticsResponse'
  204. AuditTrendResponse:
  205. $ref: './components/schemas.yaml#/AuditTrendResponse'
  206. AuditActionStatisticsResponse:
  207. $ref: './components/schemas.yaml#/AuditActionStatisticsResponse'
  208. AuditUserStatisticsResponse:
  209. $ref: './components/schemas.yaml#/AuditUserStatisticsResponse'
  210. DeletedBySnapshot:
  211. $ref: './components/schemas.yaml#/DeletedBySnapshot'
  212. RecycleBinDocumentSummary:
  213. $ref: './components/schemas.yaml#/RecycleBinDocumentSummary'
  214. RecycleBinDocumentPageResponse:
  215. $ref: './components/schemas.yaml#/RecycleBinDocumentPageResponse'
  216. RestoreDocumentRequest:
  217. $ref: './components/schemas.yaml#/RestoreDocumentRequest'
  218. RestoreDocumentResult:
  219. $ref: './components/schemas.yaml#/RestoreDocumentResult'
  220. RestoreDocumentResponse:
  221. $ref: './components/schemas.yaml#/RestoreDocumentResponse'
  222. DictionaryOption:
  223. $ref: './components/schemas.yaml#/DictionaryOption'
  224. UiDictionaries:
  225. $ref: './components/schemas.yaml#/UiDictionaries'
  226. UiDictionariesResponse:
  227. $ref: './components/schemas.yaml#/UiDictionariesResponse'
  228. RoleCode:
  229. $ref: './components/schemas.yaml#/RoleCode'
  230. AllowedModule:
  231. $ref: './components/schemas.yaml#/AllowedModule'
  232. DocumentType:
  233. $ref: './components/schemas.yaml#/DocumentType'
  234. DocumentStatus:
  235. $ref: './components/schemas.yaml#/DocumentStatus'
  236. SecurityLevel:
  237. $ref: './components/schemas.yaml#/SecurityLevel'
  238. AttachmentType:
  239. $ref: './components/schemas.yaml#/AttachmentType'
  240. AllowedAction:
  241. $ref: './components/schemas.yaml#/AllowedAction'
  242. CategoryType:
  243. $ref: './components/schemas.yaml#/CategoryType'
  244. EnabledStatus:
  245. $ref: './components/schemas.yaml#/EnabledStatus'
  246. AuditResult:
  247. $ref: './components/schemas.yaml#/AuditResult'
  248. AuditAction:
  249. $ref: './components/schemas.yaml#/AuditAction'
  250. AuditTarget:
  251. $ref: './components/schemas.yaml#/AuditTarget'
  252. CreateOrganizationRequest:
  253. $ref: './components/schemas.yaml#/CreateOrganizationRequest'
  254. UpdateOrganizationRequest:
  255. $ref: './components/schemas.yaml#/UpdateOrganizationRequest'
  256. OrganizationResponse:
  257. $ref: './components/schemas.yaml#/OrganizationResponse'
  258. DeleteOrganizationResponse:
  259. $ref: './components/schemas.yaml#/DeleteOrganizationResponse'
  260. CreateUserRequest:
  261. $ref: './components/schemas.yaml#/CreateUserRequest'
  262. UpdateUserRequest:
  263. $ref: './components/schemas.yaml#/UpdateUserRequest'
  264. ResetUserPasswordRequest:
  265. $ref: './components/schemas.yaml#/ResetUserPasswordRequest'
  266. DeleteUserResponse:
  267. $ref: './components/schemas.yaml#/DeleteUserResponse'
  268. ResetPasswordResponse:
  269. $ref: './components/schemas.yaml#/ResetPasswordResponse'
  270. DocumentTagsResponse:
  271. $ref: './components/schemas.yaml#/DocumentTagsResponse'
  272. DeptScope:
  273. $ref: './components/schemas.yaml#/DeptScope'
  274. RoleSummary:
  275. $ref: './components/schemas.yaml#/RoleSummary'
  276. RolePageResponse:
  277. $ref: './components/schemas.yaml#/RolePageResponse'
  278. CreateRoleRequest:
  279. $ref: './components/schemas.yaml#/CreateRoleRequest'
  280. UpdateRoleRequest:
  281. $ref: './components/schemas.yaml#/UpdateRoleRequest'
  282. RoleResponse:
  283. $ref: './components/schemas.yaml#/RoleResponse'
  284. DeleteRoleResponse:
  285. $ref: './components/schemas.yaml#/DeleteRoleResponse'
  286. RolePermissionRow:
  287. $ref: './components/schemas.yaml#/RolePermissionRow'
  288. RoleMatrixListResponse:
  289. $ref: './components/schemas.yaml#/RoleMatrixListResponse'
  290. UpdateRolePermissionsRequest:
  291. $ref: './components/schemas.yaml#/UpdateRolePermissionsRequest'
  292. RolePermissionsResponse:
  293. $ref: './components/schemas.yaml#/RolePermissionsResponse'
  294. RoleUsersResponse:
  295. $ref: './components/schemas.yaml#/RoleUsersResponse'
  296. UpdateRoleUsersRequest:
  297. $ref: './components/schemas.yaml#/UpdateRoleUsersRequest'
  298. IpEntrySummary:
  299. $ref: './components/schemas.yaml#/IpEntrySummary'
  300. IpEntryPageResponse:
  301. $ref: './components/schemas.yaml#/IpEntryPageResponse'
  302. CreateIpEntryRequest:
  303. $ref: './components/schemas.yaml#/CreateIpEntryRequest'
  304. UpdateIpEntryRequest:
  305. $ref: './components/schemas.yaml#/UpdateIpEntryRequest'
  306. IpEntryResponse:
  307. $ref: './components/schemas.yaml#/IpEntryResponse'
  308. DeleteIpEntryResponse:
  309. $ref: './components/schemas.yaml#/DeleteIpEntryResponse'
  310. OrgIpAssignmentListResponse:
  311. $ref: './components/schemas.yaml#/OrgIpAssignmentListResponse'
  312. UpdateOrgIpAssignmentsRequest:
  313. $ref: './components/schemas.yaml#/UpdateOrgIpAssignmentsRequest'
  314. OrgIpAssignmentsResponse:
  315. $ref: './components/schemas.yaml#/OrgIpAssignmentsResponse'
  316. DocumentRelationPreset:
  317. $ref: './components/schemas.yaml#/DocumentRelationPreset'
  318. DocumentRelationPresetsResponse:
  319. $ref: './components/schemas.yaml#/DocumentRelationPresetsResponse'
  320. DocumentRelationItem:
  321. $ref: './components/schemas.yaml#/DocumentRelationItem'
  322. DocumentRelationsResponse:
  323. $ref: './components/schemas.yaml#/DocumentRelationsResponse'
  324. UpdateDocumentRelationsRequest:
  325. $ref: './components/schemas.yaml#/UpdateDocumentRelationsRequest'
  326. DocumentRelationsSaveResponse:
  327. $ref: './components/schemas.yaml#/DocumentRelationsSaveResponse'
  328. security:
  329. - BearerAuth: []