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
-