feat: 完善鉴权和密码功能,添加飞书通知模块
- 完善Token过期/不存在时跳转登录重新认证 - 实现正常的账号密码登录验证(邮箱/手机号+密码) - 用户初始化密码设为工号(sn) - 添加修改密码功能(API+前端页面) - 修复扫码登录后跳转问题(zustand persist格式) - 创建飞书通知服务 FeishuNotificationService - 设置页面添加修改密码入口 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -138,7 +138,23 @@
|
||||
"language": "Language",
|
||||
"switchCompany": "Switch Company",
|
||||
"notifications": "Notifications",
|
||||
"security": "Security"
|
||||
"security": "Security",
|
||||
"changePassword": "Change Password"
|
||||
},
|
||||
"changePassword": {
|
||||
"title": "Change Password",
|
||||
"oldPassword": "Current Password",
|
||||
"newPassword": "New Password",
|
||||
"confirmPassword": "Confirm Password",
|
||||
"oldPasswordPlaceholder": "Enter current password",
|
||||
"newPasswordPlaceholder": "Enter new password (at least 6 characters)",
|
||||
"confirmPasswordPlaceholder": "Enter new password again",
|
||||
"submit": "Confirm",
|
||||
"success": "Password changed successfully",
|
||||
"oldPasswordError": "Current password is incorrect",
|
||||
"passwordMismatch": "Passwords do not match",
|
||||
"passwordTooShort": "New password must be at least 6 characters",
|
||||
"fillAllFields": "Please fill in all fields"
|
||||
},
|
||||
"login": {
|
||||
"title": "Login",
|
||||
@@ -150,9 +166,8 @@
|
||||
"loginFailed": "Login failed"
|
||||
},
|
||||
"settings": {
|
||||
"language": "Language",
|
||||
"theme": "Theme",
|
||||
"notifications": "Notifications"
|
||||
"title": "Settings",
|
||||
"language": "Language"
|
||||
},
|
||||
"error": {
|
||||
"networkError": "Network error, please try again later",
|
||||
|
||||
@@ -113,7 +113,23 @@
|
||||
"language": "Idioma",
|
||||
"switchCompany": "Cambiar Empresa",
|
||||
"notifications": "Notificaciones",
|
||||
"security": "Seguridad"
|
||||
"security": "Seguridad",
|
||||
"changePassword": "Cambiar Contraseña"
|
||||
},
|
||||
"changePassword": {
|
||||
"title": "Cambiar Contraseña",
|
||||
"oldPassword": "Contraseña Actual",
|
||||
"newPassword": "Nueva Contraseña",
|
||||
"confirmPassword": "Confirmar Contraseña",
|
||||
"oldPasswordPlaceholder": "Ingrese la contraseña actual",
|
||||
"newPasswordPlaceholder": "Ingrese la nueva contraseña (mínimo 6 caracteres)",
|
||||
"confirmPasswordPlaceholder": "Ingrese la nueva contraseña nuevamente",
|
||||
"submit": "Confirmar",
|
||||
"success": "Contraseña cambiada exitosamente",
|
||||
"oldPasswordError": "La contraseña actual es incorrecta",
|
||||
"passwordMismatch": "Las contraseñas no coinciden",
|
||||
"passwordTooShort": "La nueva contraseña debe tener al menos 6 caracteres",
|
||||
"fillAllFields": "Por favor complete todos los campos"
|
||||
},
|
||||
"login": {
|
||||
"title": "Iniciar Sesión",
|
||||
@@ -125,9 +141,8 @@
|
||||
"loginFailed": "Error de inicio de sesión"
|
||||
},
|
||||
"settings": {
|
||||
"language": "Idioma",
|
||||
"theme": "Tema",
|
||||
"notifications": "Notificaciones"
|
||||
"title": "Configuración",
|
||||
"language": "Idioma"
|
||||
},
|
||||
"error": {
|
||||
"networkError": "Error de red, inténtelo más tarde",
|
||||
|
||||
@@ -113,7 +113,23 @@
|
||||
"language": "Langue",
|
||||
"switchCompany": "Changer d'Entreprise",
|
||||
"notifications": "Notifications",
|
||||
"security": "Sécurité"
|
||||
"security": "Sécurité",
|
||||
"changePassword": "Changer le Mot de Passe"
|
||||
},
|
||||
"changePassword": {
|
||||
"title": "Changer le Mot de Passe",
|
||||
"oldPassword": "Mot de Passe Actuel",
|
||||
"newPassword": "Nouveau Mot de Passe",
|
||||
"confirmPassword": "Confirmer le Mot de Passe",
|
||||
"oldPasswordPlaceholder": "Entrez le mot de passe actuel",
|
||||
"newPasswordPlaceholder": "Entrez le nouveau mot de passe (au moins 6 caractères)",
|
||||
"confirmPasswordPlaceholder": "Entrez le nouveau mot de passe à nouveau",
|
||||
"submit": "Confirmer",
|
||||
"success": "Mot de passe changé avec succès",
|
||||
"oldPasswordError": "Le mot de passe actuel est incorrect",
|
||||
"passwordMismatch": "Les mots de passe ne correspondent pas",
|
||||
"passwordTooShort": "Le nouveau mot de passe doit contenir au moins 6 caractères",
|
||||
"fillAllFields": "Veuillez remplir tous les champs"
|
||||
},
|
||||
"login": {
|
||||
"title": "Connexion",
|
||||
@@ -125,9 +141,8 @@
|
||||
"loginFailed": "Échec de la connexion"
|
||||
},
|
||||
"settings": {
|
||||
"language": "Langue",
|
||||
"theme": "Thème",
|
||||
"notifications": "Notifications"
|
||||
"title": "Paramètres",
|
||||
"language": "Langue"
|
||||
},
|
||||
"error": {
|
||||
"networkError": "Erreur réseau, veuillez réessayer plus tard",
|
||||
|
||||
@@ -113,7 +113,23 @@
|
||||
"language": "Язык",
|
||||
"switchCompany": "Сменить компанию",
|
||||
"notifications": "Уведомления",
|
||||
"security": "Безопасность"
|
||||
"security": "Безопасность",
|
||||
"changePassword": "Изменить пароль"
|
||||
},
|
||||
"changePassword": {
|
||||
"title": "Изменить пароль",
|
||||
"oldPassword": "Текущий пароль",
|
||||
"newPassword": "Новый пароль",
|
||||
"confirmPassword": "Подтвердите пароль",
|
||||
"oldPasswordPlaceholder": "Введите текущий пароль",
|
||||
"newPasswordPlaceholder": "Введите новый пароль (минимум 6 символов)",
|
||||
"confirmPasswordPlaceholder": "Введите новый пароль снова",
|
||||
"submit": "Подтвердить",
|
||||
"success": "Пароль успешно изменен",
|
||||
"oldPasswordError": "Текущий пароль неверен",
|
||||
"passwordMismatch": "Пароли не совпадают",
|
||||
"passwordTooShort": "Новый пароль должен быть не менее 6 символов",
|
||||
"fillAllFields": "Пожалуйста, заполните все поля"
|
||||
},
|
||||
"login": {
|
||||
"title": "Вход",
|
||||
@@ -125,9 +141,8 @@
|
||||
"loginFailed": "Ошибка входа"
|
||||
},
|
||||
"settings": {
|
||||
"language": "Язык",
|
||||
"theme": "Тема",
|
||||
"notifications": "Уведомления"
|
||||
"title": "Настройки",
|
||||
"language": "Язык"
|
||||
},
|
||||
"error": {
|
||||
"networkError": "Ошибка сети, попробуйте позже",
|
||||
|
||||
@@ -138,7 +138,23 @@
|
||||
"language": "语言设置",
|
||||
"switchCompany": "切换公司",
|
||||
"notifications": "消息通知",
|
||||
"security": "账号安全"
|
||||
"security": "账号安全",
|
||||
"changePassword": "修改密码"
|
||||
},
|
||||
"changePassword": {
|
||||
"title": "修改密码",
|
||||
"oldPassword": "原密码",
|
||||
"newPassword": "新密码",
|
||||
"confirmPassword": "确认密码",
|
||||
"oldPasswordPlaceholder": "请输入原密码",
|
||||
"newPasswordPlaceholder": "请输入新密码(至少6位)",
|
||||
"confirmPasswordPlaceholder": "请再次输入新密码",
|
||||
"submit": "确认修改",
|
||||
"success": "密码修改成功",
|
||||
"oldPasswordError": "原密码错误",
|
||||
"passwordMismatch": "两次输入的密码不一致",
|
||||
"passwordTooShort": "新密码长度不能少于6位",
|
||||
"fillAllFields": "请填写完整信息"
|
||||
},
|
||||
"login": {
|
||||
"title": "登录",
|
||||
@@ -150,9 +166,8 @@
|
||||
"loginFailed": "登录失败"
|
||||
},
|
||||
"settings": {
|
||||
"language": "语言",
|
||||
"theme": "主题",
|
||||
"notifications": "通知设置"
|
||||
"title": "设置",
|
||||
"language": "语言"
|
||||
},
|
||||
"error": {
|
||||
"networkError": "网络错误,请稍后重试",
|
||||
|
||||
Reference in New Issue
Block a user