diff --git a/app/Http/Requests/Admin/NodeRequest.php b/app/Http/Requests/Admin/NodeRequest.php index 15763ace..62fcec79 100644 --- a/app/Http/Requests/Admin/NodeRequest.php +++ b/app/Http/Requests/Admin/NodeRequest.php @@ -38,7 +38,7 @@ class NodeRequest extends FormRequest 'is_display' => 'required|numeric|between:0,3', 'detection_type' => 'required|numeric|between:0,3', 'single' => 'required|boolean', - 'port' => 'required_unless:single,"0"|numeric|between:1,65535|different:push_port', + 'port' => 'nullable|numeric|between:1,65535|different:push_port|required_if:single,1|required_if:type,2|required_if:type,3', 'passwd' => 'exclude_unless:type,1,type,4|required_if:single,1|string|nullable', 'v2_alter_id' => 'nullable|numeric|between:0,65535', 'v2_method' => 'required_if:type,2', diff --git a/app/Http/Requests/Admin/PermissionRequest.php b/app/Http/Requests/Admin/PermissionRequest.php index bd64a501..548cdf50 100644 --- a/app/Http/Requests/Admin/PermissionRequest.php +++ b/app/Http/Requests/Admin/PermissionRequest.php @@ -8,8 +8,13 @@ class PermissionRequest extends FormRequest { public function rules(): array { + $unq_name = ''; + if (in_array($this->method(), ['PATCH', 'PUT'], true)) { + $unq_name = ','.$this->permission->id; + } + return [ - 'name' => 'required|string|unique:permissions,name', + 'name' => 'required|string|unique:permissions,name'.$unq_name, 'description' => 'required|string', ]; } diff --git a/app/Http/Requests/Admin/UserGroupRequest.php b/app/Http/Requests/Admin/UserGroupRequest.php index caef3778..fec5c78c 100644 --- a/app/Http/Requests/Admin/UserGroupRequest.php +++ b/app/Http/Requests/Admin/UserGroupRequest.php @@ -8,8 +8,13 @@ class UserGroupRequest extends FormRequest { public function rules(): array { + $unq_name = ''; + if (in_array($this->method(), ['PATCH', 'PUT'], true)) { + $unq_name = ','.$this->group->id; + } + return [ - 'name' => 'required|string|unique:user_group,name', + 'name' => 'required|string|unique:user_group,name'.$unq_name, 'nodes' => 'nullable|exists:node,id', ]; } diff --git a/resources/views/admin/node/info.blade.php b/resources/views/admin/node/info.blade.php index f7fca874..b50dd735 100644 --- a/resources/views/admin/node/info.blade.php +++ b/resources/views/admin/node/info.blade.php @@ -389,19 +389,6 @@ const termUnit = $("#subscription_term_unit").val(); data["subscription_term"] = termValue ? `${termValue} ${termUnit}` : null; - // 处理端口字段(根据节点类型选择正确的端口字段) - switch (parseInt(data.type)) { - case 0: // Shadowsocks - data.port = 0; // SS类型不需要端口设置 - break; - case 1: // ShadowsocksR - case 4: // VNET - if (data.single !== 1) { - data.port = 0; // 非single模式不需要端口设置 - } - break; - } - // 发送 AJAX 请求 ajaxRequest({ url: '{{ isset($node) ? route('admin.node.update', $node['id']) : route('admin.node.store') }}', diff --git a/resources/views/admin/user/info.blade.php b/resources/views/admin/user/info.blade.php index 93d05457..7754c5b0 100644 --- a/resources/views/admin/user/info.blade.php +++ b/resources/views/admin/user/info.blade.php @@ -36,7 +36,7 @@ @endisset - + - +
@@ -125,6 +125,7 @@ $(document).ready(function() { let userData = { // 默认值 level: 0, + invite_num: 0, status: 1, transfer_enable: 1024, enable: 1,