first commit

This commit is contained in:
liu
2026-07-13 15:23:29 +08:00
commit 50885a98c8
473 changed files with 33772 additions and 0 deletions
+84
View File
@@ -0,0 +1,84 @@
<?php
namespace Modules\AnnoRoute;
use Illuminate\Http\JsonResponse;
use Modules\Common\Enum\ShowType as ShopTypeEnum;
abstract class BaseAttribute
{
/**
* 路由地址,使用该属性来指定路由地址,完整的路由地址由 RequestAttribute 的 routePrefix 和 route 拼接而成,例如:
* RequestAttribute 的 routePrefix 为 /admin/userMapping 的 route 为 /create,那么完整的路由地址为 /admin/user/create
*
* Routing address, use this attribute to specify the routing address. The complete routing address is composed
* of the routePrefix of RequestAttribute and the route concatenated, for example: If the routePrefix of RequestAttribute
* is /admin/user and the route of Mapping is /create, then the complete routing address is /admin/user/create
*
* @var string
*/
public string $route = '';
/**
* 路由中间件,该属性用于指定路由中间件,多个中间件以数组形式传递,例如:['auth', 'admin']
*
* Route middleware, this attribute is used to specify the route middleware, multiple middleware are passed in
* as an array, for example: ['auth', 'admin']
*
* @var string|array
*/
public string | array $middleware = '';
/**
* HTTP 的请求方法
*
* HTTP request method
*
* @var string
*/
public string $httpMethod = 'POST';
/**
* 权限字符串,该属性用于指定权限【能力】字符串,用于权限【能力】认证,完整的能力字符串由 RequestAttribute 的 abilitiesPrefix 和 authorize
* 拼接而成,例如:RequestAttribute 的 abilitiesPrefix 为 adminMapping 的 authorize 为 user,那么完整的权限【能力】字符串为 admin.user
*
* Permission string, this attribute is used to specify the permission string, used for permission authentication,
* the complete permission string is composed of the abilitiesPrefix of RequestAttribute and the authorize concatenated,
* for example: If the abilitiesPrefix of RequestAttribute is admin and the authorize of Mapping is user, then the complete
* permission string is admin.user
*
* @var string | bool
*/
public string | bool $authorize = true;
/**
* 路由参数约束,该属性用于指定路由参数的正则约束,例如:['id' => '[0-9]+']
*
* Route parameter constraints, this attribute is used to specify regex constraints for route parameters,
* for example: ['id' => '[0-9]+']
*
* @var array
*/
public array $where = [];
/**
* 成功响应
* @param $msg array|string
* @return JsonResponse
*/
protected static function success(array|string $msg = ''): JsonResponse
{
if (is_array($msg)) {
$data = $msg;
$msg = '';
} else {
$data = [];
}
return response()->json([
'success' => true,
'data' => $data,
'showType' => ShopTypeEnum::SUCCESS_MESSAGE->value,
'msg' => $msg,
]);
}
}