update api doc

This commit is contained in:
2026-03-18 09:13:53 +08:00
parent f3f73935e1
commit 88df42fe52
9 changed files with 29 additions and 25 deletions
@@ -33,7 +33,7 @@ class DashboardController extends AbstractController
* 概览统计 * 概览统计
*/ */
#[OA\Get( #[OA\Get(
path: '/api/v1/dashboard/overview', path: '/dashboard/overview',
summary: '获取概览统计', summary: '获取概览统计',
description: '返回今日/本周/本月的成功和失败同步数,以及按数据类型的本月分组统计。', description: '返回今日/本周/本月的成功和失败同步数,以及按数据类型的本月分组统计。',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
@@ -71,7 +71,7 @@ class DashboardController extends AbstractController
* 趋势数据 * 趋势数据
*/ */
#[OA\Get( #[OA\Get(
path: '/api/v1/dashboard/trend', path: '/dashboard/trend',
summary: '获取趋势数据', summary: '获取趋势数据',
description: '返回指定时间范围内按日/周/月聚合的成功和失败同步趋势。', description: '返回指定时间范围内按日/周/月聚合的成功和失败同步趋势。',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
@@ -157,7 +157,7 @@ class DashboardController extends AbstractController
* 分组统计 * 分组统计
*/ */
#[OA\Get( #[OA\Get(
path: '/api/v1/dashboard/breakdown', path: '/dashboard/breakdown',
summary: '获取分组统计', summary: '获取分组统计',
description: '按公司/平台/店铺维度统计成功和失败同步数。', description: '按公司/平台/店铺维度统计成功和失败同步数。',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
@@ -69,7 +69,7 @@ class FailedMessageController extends AbstractDataController
* 失败消息列表 * 失败消息列表
*/ */
#[OA\Get( #[OA\Get(
path: '/api/v1/failed-messages', path: '/failed-messages',
summary: '失败消息列表', summary: '失败消息列表',
description: '获取 Consumer 处理失败的消息列表,支持分页、按数据类型/平台/时间筛选。仅 admin 可访问。', description: '获取 Consumer 处理失败的消息列表,支持分页、按数据类型/平台/时间筛选。仅 admin 可访问。',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
@@ -112,7 +112,7 @@ class FailedMessageController extends AbstractDataController
* 失败消息详情 * 失败消息详情
*/ */
#[OA\Get( #[OA\Get(
path: '/api/v1/failed-messages/{id}', path: '/failed-messages/{id}',
summary: '失败消息详情', summary: '失败消息详情',
description: '获取失败消息详情,含完整错误堆栈和原始消息体。仅 admin 可访问。', description: '获取失败消息详情,含完整错误堆栈和原始消息体。仅 admin 可访问。',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
@@ -34,7 +34,7 @@ class MqStatusController extends AbstractController
* 获取消息队列状态 * 获取消息队列状态
*/ */
#[OA\Get( #[OA\Get(
path: '/api/v1/mq/status', path: '/mq/status',
summary: '获取消息队列状态', summary: '获取消息队列状态',
description: '查询 RabbitMQ 各队列的消息数、消费者数和运行状态。支持按队列类型筛选。仅 admin 角色可访问。', description: '查询 RabbitMQ 各队列的消息数、消费者数和运行状态。支持按队列类型筛选。仅 admin 角色可访问。',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
@@ -71,7 +71,7 @@ class OperationLogController extends AbstractDataController
* 操作日志列表 * 操作日志列表
*/ */
#[OA\Get( #[OA\Get(
path: '/api/v1/logs/operations', path: '/logs/operations',
summary: '操作日志列表', summary: '操作日志列表',
description: '获取操作日志列表,支持分页、按用户/操作类型/目标类型/时间筛选。仅 admin 可访问。', description: '获取操作日志列表,支持分页、按用户/操作类型/目标类型/时间筛选。仅 admin 可访问。',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
@@ -114,7 +114,7 @@ class OperationLogController extends AbstractDataController
* 操作日志详情 * 操作日志详情
*/ */
#[OA\Get( #[OA\Get(
path: '/api/v1/logs/operations/{id}', path: '/logs/operations/{id}',
summary: '操作日志详情', summary: '操作日志详情',
description: '获取操作日志详情,含完整操作详情 JSON。仅 admin 可访问。', description: '获取操作日志详情,含完整操作详情 JSON。仅 admin 可访问。',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
@@ -64,7 +64,7 @@ class RequestLogController extends AbstractDataController
* 请求日志列表 * 请求日志列表
*/ */
#[OA\Get( #[OA\Get(
path: '/api/v1/logs/requests', path: '/logs/requests',
summary: '请求日志列表', summary: '请求日志列表',
description: '获取 API 请求日志列表,支持分页、按用户/方法/路径/状态码/时间筛选。仅 admin 可访问。', description: '获取 API 请求日志列表,支持分页、按用户/方法/路径/状态码/时间筛选。仅 admin 可访问。',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
@@ -108,7 +108,7 @@ class RequestLogController extends AbstractDataController
* 请求日志详情 * 请求日志详情
*/ */
#[OA\Get( #[OA\Get(
path: '/api/v1/logs/requests/{id}', path: '/logs/requests/{id}',
summary: '请求日志详情', summary: '请求日志详情',
description: '获取请求日志详情,含完整请求体和 User-Agent。仅 admin 可访问。', description: '获取请求日志详情,含完整请求体和 User-Agent。仅 admin 可访问。',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
@@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\RequestMapping;
use OpenApi\Attributes as OA; use OpenApi\Attributes as OA;
use Qbhy\HyperfAuth\AuthManager; use Qbhy\HyperfAuth\AuthManager;
#[OA\Tag(name: 'ApiKeys', description: 'API Key 管理')] #[OA\Tag(name: 'API Keys', description: 'API Key 管理')]
#[Controller(prefix: "/api/v1/me/api-keys")] #[Controller(prefix: "/api/v1/me/api-keys")]
class ApiKeyController extends AbstractController class ApiKeyController extends AbstractController
{ {
@@ -28,7 +28,7 @@ class ApiKeyController extends AbstractController
summary: '生成 API Key', summary: '生成 API Key',
description: '生成新的 API Key,需用户已启用 api_key_enabled。明文仅在生成时返回一次', description: '生成新的 API Key,需用户已启用 api_key_enabled。明文仅在生成时返回一次',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
tags: ['ApiKeys'], tags: ['API Keys'],
requestBody: new OA\RequestBody( requestBody: new OA\RequestBody(
required: true, required: true,
content: new OA\JsonContent( content: new OA\JsonContent(
@@ -138,7 +138,7 @@ class ApiKeyController extends AbstractController
summary: 'API Key 列表', summary: 'API Key 列表',
description: '列出当前用户的所有 API Keys', description: '列出当前用户的所有 API Keys',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
tags: ['ApiKeys'], tags: ['API Keys'],
responses: [ responses: [
new OA\Response( new OA\Response(
response: 200, response: 200,
@@ -192,7 +192,7 @@ class ApiKeyController extends AbstractController
path: '/me/api-keys/{id}', path: '/me/api-keys/{id}',
summary: '删除 API Key', summary: '删除 API Key',
security: [['bearerAuth' => []]], security: [['bearerAuth' => []]],
tags: ['ApiKeys'], tags: ['API Keys'],
parameters: [ parameters: [
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'API Key ID', schema: new OA\Schema(type: 'integer')), new OA\Parameter(name: 'id', in: 'path', required: true, description: 'API Key ID', schema: new OA\Schema(type: 'integer')),
], ],
@@ -1,5 +1,9 @@
<?php <?php
declare(strict_types=1);
namespace App\Storage;
use Hyperf\RateLimit\Storage\StorageInterface; use Hyperf\RateLimit\Storage\StorageInterface;
use Psr\Container\ContainerInterface; use Psr\Container\ContainerInterface;