初始化本地仓库
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\adminapi\schema\request\gateway;
|
||||
|
||||
|
||||
use app\schema\request\BaseFormRequest;
|
||||
use OpenApi\Attributes as OA;
|
||||
|
||||
#[OA\Schema(
|
||||
title: '限访规则表单',
|
||||
description: '限访规则创建和编辑接口共用的表单请求参数'
|
||||
)]
|
||||
class RateLimiterFormRequest extends BaseFormRequest
|
||||
{
|
||||
#[OA\Property(
|
||||
property: 'name',
|
||||
description: '规则名称',
|
||||
type: 'string',
|
||||
example: 'customized'
|
||||
)]
|
||||
public string $name;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'match_type',
|
||||
description: '匹配类型',
|
||||
type: 'string',
|
||||
example: 'allow'
|
||||
)]
|
||||
public string $match_type;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'methods',
|
||||
description: '请求方法(多个用逗号分隔,如:GET,POST)',
|
||||
type: 'string',
|
||||
example: 'GET'
|
||||
)]
|
||||
public string $methods;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'path',
|
||||
description: '请求路径',
|
||||
type: 'string',
|
||||
example: '/system/menu'
|
||||
)]
|
||||
public string $path;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'limit_value',
|
||||
description: '限制次数',
|
||||
type: 'integer',
|
||||
example: 60
|
||||
)]
|
||||
public int $limit_value;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'period',
|
||||
description: '限制周期(秒)',
|
||||
type: 'integer',
|
||||
example: 1
|
||||
)]
|
||||
public int $period;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'enabled',
|
||||
description: '是否启用(0:禁用,1:启用)',
|
||||
type: 'integer',
|
||||
enum: [0, 1],
|
||||
example: 1
|
||||
)]
|
||||
public int $enabled;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'message',
|
||||
description: '触发限制时提示消息',
|
||||
type: 'string',
|
||||
example: '请求频繁'
|
||||
)]
|
||||
public string $message;
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
namespace app\adminapi\schema\request\gateway;
|
||||
|
||||
use app\schema\request\BaseQueryRequest;
|
||||
use OpenApi\Attributes as OA;
|
||||
|
||||
#[OA\Schema(
|
||||
title: '限访规则列表查询请求',
|
||||
description: '限访规则接口查询过滤参数'
|
||||
)]
|
||||
class RateLimiterQueryRequest extends BaseQueryRequest
|
||||
{
|
||||
|
||||
#[OA\Property(
|
||||
property: 'id',
|
||||
description: '规则ID',
|
||||
type: 'string',
|
||||
example: '247298887944531968',
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $id = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'name',
|
||||
description: '规则名称(模糊匹配)',
|
||||
type: 'string',
|
||||
example: 'customized',
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $name = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'match_type',
|
||||
description: '匹配类型',
|
||||
type: 'string',
|
||||
example: 'allow',
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $match_type = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'methods',
|
||||
description: '请求方法',
|
||||
type: 'string',
|
||||
example: 'GET',
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $methods = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'path',
|
||||
description: '请求路径(模糊匹配)',
|
||||
type: 'string',
|
||||
example: '/system/menu',
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $path = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'enabled',
|
||||
description: '是否启用(0:禁用,1:启用)',
|
||||
type: 'integer',
|
||||
enum: [0, 1],
|
||||
example: 1,
|
||||
nullable: true
|
||||
)]
|
||||
public ?int $enabled = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'limit_value',
|
||||
description: '限制次数',
|
||||
type: 'integer',
|
||||
example: 60,
|
||||
nullable: true
|
||||
)]
|
||||
public ?int $limit_value = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'period',
|
||||
description: '限制周期(秒)',
|
||||
type: 'integer',
|
||||
example: 1,
|
||||
nullable: true
|
||||
)]
|
||||
public ?int $period = null;
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
|
||||
namespace app\adminapi\schema\request\gateway;
|
||||
|
||||
use app\schema\request\BaseFormRequest;
|
||||
use OpenApi\Attributes as OA;
|
||||
|
||||
#[OA\Schema(
|
||||
title: '限访名单表单',
|
||||
description: '限访名单创建和编辑接口共用的表单请求参数'
|
||||
)]
|
||||
class RateRestrictionsFormRequest extends BaseFormRequest
|
||||
{
|
||||
|
||||
#[OA\Property(
|
||||
property: 'name',
|
||||
description: '名单名称',
|
||||
type: 'string',
|
||||
example: ""
|
||||
)]
|
||||
public string $name;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'ip',
|
||||
description: 'IP地址(留空表示不限IP)',
|
||||
type: 'string',
|
||||
example: null,
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $ip = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'enabled',
|
||||
description: '是否启用(0:禁用,1:启用)',
|
||||
type: 'integer',
|
||||
enum: [0, 1],
|
||||
example: 1
|
||||
)]
|
||||
public int $enabled;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'priority',
|
||||
description: '优先级(数值越大优先级越高)',
|
||||
type: 'integer',
|
||||
example: 100
|
||||
)]
|
||||
public int $priority;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'methods',
|
||||
description: '请求方法(多个用逗号分隔,如:GET,POST)',
|
||||
type: 'string',
|
||||
example: "GET"
|
||||
)]
|
||||
public string $methods;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'path',
|
||||
description: '请求路径',
|
||||
type: 'string',
|
||||
example: "/system/menu"
|
||||
)]
|
||||
public string $path;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'message',
|
||||
description: '限制提示消息',
|
||||
type: 'string',
|
||||
example: "限制访问"
|
||||
)]
|
||||
public string $message;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'start_time',
|
||||
description: '生效开始时间(UTC格式,如:2025-11-13T00:00:00Z)',
|
||||
type: 'string',
|
||||
format: 'date-time',
|
||||
example: null,
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $start_time = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'end_time',
|
||||
description: '生效结束时间(UTC格式,如:2025-11-14T00:00:00Z)',
|
||||
type: 'string',
|
||||
format: 'date-time',
|
||||
example: null,
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $end_time = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'remark',
|
||||
description: '备注信息',
|
||||
type: 'string',
|
||||
example: null,
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $remark = null;
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
*+------------------
|
||||
* madong
|
||||
*+------------------
|
||||
* Copyright (c) https://gitee.com/motion-code All rights reserved.
|
||||
*+------------------
|
||||
* Author: Mr. April (405784684@qq.com)
|
||||
*+------------------
|
||||
* Official Website: http://www.madong.tech
|
||||
*/
|
||||
namespace app\adminapi\schema\request\gateway;
|
||||
|
||||
use app\schema\request\BaseQueryRequest;
|
||||
use OpenApi\Attributes as OA;
|
||||
|
||||
#[OA\Schema(
|
||||
title: '限访名单列表查询请求',
|
||||
description: '限访名单列表接口查询过滤参数'
|
||||
)]
|
||||
class RateRestrictionsQueryRequest extends BaseQueryRequest
|
||||
{
|
||||
#[OA\Property(
|
||||
property: 'id',
|
||||
description: '名单ID',
|
||||
type: 'string',
|
||||
example: "247306532294254592",
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $id = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'name',
|
||||
description: '名单名称(模糊匹配)',
|
||||
type: 'string',
|
||||
example: "sss",
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $name = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'ip',
|
||||
description: 'IP地址(模糊匹配)',
|
||||
type: 'string',
|
||||
example: null,
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $ip = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'enabled',
|
||||
description: '是否启用(0:禁用,1:启用)',
|
||||
type: 'integer',
|
||||
enum: [0, 1],
|
||||
example: 1,
|
||||
nullable: true
|
||||
)]
|
||||
public ?int $enabled = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'methods',
|
||||
description: '请求方法',
|
||||
type: 'string',
|
||||
example: "GET",
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $methods = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'path',
|
||||
description: '请求路径(模糊匹配)',
|
||||
type: 'string',
|
||||
example: "/system/menu",
|
||||
nullable: true
|
||||
)]
|
||||
public ?string $path = null;
|
||||
|
||||
#[OA\Property(
|
||||
property: 'priority',
|
||||
description: '优先级',
|
||||
type: 'integer',
|
||||
example: 100,
|
||||
nullable: true
|
||||
)]
|
||||
public ?int $priority = null;
|
||||
}
|
||||
Reference in New Issue
Block a user