feat: add email verification and password reset functionality

- Introduced environment variables for database and email configurations.
- Implemented email verification code generation and validation.
- Added password reset feature with email verification.
- Updated user registration and profile management APIs.
- Refactored user security settings to include email and password updates.
- Enhanced console layout with internationalization support.
- Removed deprecated settings page and integrated global settings.
- Added new reset password page and form components.
- Updated localization files for new features and translations.
This commit is contained in:
2025-09-23 00:33:34 +08:00
parent c9db6795b2
commit b0b32c93d1
32 changed files with 888 additions and 345 deletions

View File

@ -1 +1,27 @@
package utils
import (
"time"
"github.com/snowykami/neo-blog/pkg/constant"
)
func RequestEmailVerify(email string) string {
generatedVerificationCode := Strings.GenerateRandomStringWithCharset(6, "0123456789abcdef")
kv := KV.GetInstance()
kv.Set(constant.KVKeyEmailVerificationCode+email, generatedVerificationCode, time.Minute*10)
return generatedVerificationCode
}
func VerifyEmailCode(email, code string) bool {
kv := KV.GetInstance()
storedCode, ok := kv.Get(constant.KVKeyEmailVerificationCode + email)
if !ok {
return false
}
if storedCode != code {
return false
}
kv.Delete(constant.KVKeyEmailVerificationCode + email)
return true
}