feat(admin): 密码校验统一与后台 API/设置增强
Some checks failed
lotterLaravel CI / test (push) Has been cancelled
lotterLaravel E2E / e2e-api (push) Has been cancelled

- 管理端账号/代理/站点等密码最短长度统一为 6 位
- LotterySettings、审计日志展示、币种与报表接口等小修复
- 补充设置批量更新、注单、校验错误等相关测试
This commit is contained in:
2026-06-26 14:39:22 +08:00
parent 8d5ff0a7ae
commit 3f04b4ebe3
28 changed files with 283 additions and 69 deletions

View File

@@ -17,7 +17,6 @@ final class AdminCurrencyStoreRequest extends ApiFormRequest
return [
'code' => ['required', 'string', 'max:16', 'regex:/^[A-Z0-9]{1,16}$/', Rule::unique('currencies', 'code')],
'name' => ['required', 'string', 'max:64'],
'decimal_places' => ['sometimes', 'integer', 'min:0', 'max:12'],
'is_enabled' => ['sometimes', 'boolean'],
'is_bettable' => ['sometimes', 'boolean'],
];

View File

@@ -15,7 +15,6 @@ final class AdminCurrencyUpdateRequest extends ApiFormRequest
{
return [
'name' => ['sometimes', 'string', 'max:64'],
'decimal_places' => ['sometimes', 'integer', 'min:0', 'max:12'],
'is_enabled' => ['sometimes', 'boolean'],
'is_bettable' => ['sometimes', 'boolean'],
];

View File

@@ -33,7 +33,7 @@ final class AdminIntegrationSiteStoreRequest extends ApiFormRequest
'admin_account' => ['required', 'array'],
'admin_account.username' => ['required', 'string', 'max:64', Rule::unique('admin_users', 'username')],
'admin_account.nickname' => ['required', 'string', 'max:64'],
'admin_account.password' => ['required', 'string', 'min:8', 'max:255'],
'admin_account.password' => ['required', 'string', 'min:6', 'max:255'],
'admin_account.email' => ['nullable', 'email', 'max:255'],
];
}

View File

@@ -50,7 +50,7 @@ final class AdminUserStoreRequest extends ApiFormRequest
'username' => ['required', 'string', 'min:2', 'max:64', 'regex:/^[a-zA-Z0-9._-]+$/u', 'unique:admin_users,username'],
'nickname' => ['required', 'string', 'max:128'],
'email' => ['nullable', 'string', 'email', 'max:255'],
'password' => ['required', 'string', 'min:8', 'max:256'],
'password' => ['required', 'string', 'min:6', 'max:256'],
'status' => ['sometimes', 'integer', 'in:0,1'],
'admin_site_id' => ['required', 'integer', 'exists:admin_sites,id'],
'role_slugs' => ['required', 'array', 'min:1'],

View File

@@ -34,7 +34,7 @@ final class AdminUserUpdateRequest extends ApiFormRequest
return [
'nickname' => ['sometimes', 'string', 'max:128'],
'email' => ['sometimes', 'nullable', 'string', 'email', 'max:255', Rule::unique('admin_users', 'email')->ignore($adminUser?->id)],
'password' => ['sometimes', 'nullable', 'string', 'min:8', 'max:256'],
'password' => ['sometimes', 'nullable', 'string', 'min:6', 'max:256'],
'status' => ['sometimes', 'integer', Rule::in([0, 1])],
];
}

View File

@@ -31,7 +31,7 @@ final class AgentNodeStoreRequest extends ApiFormRequest
'name' => ['required', 'string', 'max:128'],
'username' => ['sometimes', 'nullable', ...$this->adminOperatorUsernameRules(required: false), Rule::unique('admin_users', 'username')],
'email' => ['nullable', 'email', 'max:255', Rule::unique('admin_users', 'email')],
'password' => ['required', 'string', 'min:8', 'max:128'],
'password' => ['required', 'string', 'min:6', 'max:128'],
'status' => ['sometimes', 'integer', 'in:0,1'],
...$this->agentProfileFieldRules(),
];

View File

@@ -13,7 +13,7 @@ trait AdminAccountFieldRules
}
/** @return array<int, mixed> */
protected function adminLoginPasswordRules(bool $required = true, int $min = 8, int $max = 256): array
protected function adminLoginPasswordRules(bool $required = true, int $min = 6, int $max = 256): array
{
$rules = ['string', 'min:'.$min, 'max:'.$max];