From 04afcb743e099cad38f377df5895e1875bbd466b Mon Sep 17 00:00:00 2001 From: root Date: Sat, 7 Dec 2024 19:55:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B3=A8=E5=86=8C=E9=A1=B5?= =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0=E6=B3=A8=E5=86=8C=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=8B=89=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/RegisterConfig.json | 51 +++++++++ src/api/user.js | 7 ++ src/views/RegisterView.vue | 204 +++++++++++++++++++++++++++++------ src/views/UserManagement.vue | 137 +++++++++++++++++++---- 4 files changed, 344 insertions(+), 55 deletions(-) create mode 100644 public/RegisterConfig.json diff --git a/public/RegisterConfig.json b/public/RegisterConfig.json new file mode 100644 index 0000000..4315e87 --- /dev/null +++ b/public/RegisterConfig.json @@ -0,0 +1,51 @@ +{ + "message": "success", + "data": { + "username": { + "minLength": 4, + "maxLength": 16, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "description": "用户名只能包含字母、数字、下划线和横杠" + }, + "nickname": { + "minLength": 2, + "maxLength": 12, + "pattern": "^[\\u4e00-\\u9fa5a-zA-Z0-9_-]*$", + "description": "昵称可以包含中文、字母、数字、下划线和横杠" + }, + "password": { + "minLength": 8, + "maxLength": 20, + "requireNumber": true, + "requireLowercase": true, + "requireUppercase": true, + "requireSpecial": true, + "specialChars": "!@#$%^&*", + "description": "密码必须包含大小写字母、数字和特殊字符" + }, + "email": { + "pattern": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$", + "description": "请输入有效的电子邮件地址", + "allowedDomains": [ + "gmail.com", + "outlook.com", + "qq.com", + "163.com", + "126.com" + ] + }, + "registration": { + "enabled": true, + "requireEmailVerification": false, + "maxAttemptsPerIP": 5, + "cooldownMinutes": 60, + "blockedUsernames": [ + "admin", + "root", + "system", + "administrator" + ] + } + }, + "retcode": 0 +} \ No newline at end of file diff --git a/src/api/user.js b/src/api/user.js index 2c884f7..51626c8 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -116,5 +116,12 @@ export const UserAPI = { */ addUser(data) { return request.post('/Management/AddUser', data) + }, + + /** + * 获取注册配置 + */ + getRegisterConfig() { + return request.get('/RegisterConfig.json') } } \ No newline at end of file diff --git a/src/views/RegisterView.vue b/src/views/RegisterView.vue index 0f43704..73da4e0 100644 --- a/src/views/RegisterView.vue +++ b/src/views/RegisterView.vue @@ -1,6 +1,6 @@