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

@ -9,6 +9,7 @@ import (
"github.com/glebarez/sqlite"
"github.com/sirupsen/logrus"
"github.com/snowykami/neo-blog/internal/model"
"github.com/snowykami/neo-blog/pkg/constant"
"github.com/snowykami/neo-blog/pkg/utils"
"gorm.io/driver/postgres"
"gorm.io/gorm"
@ -36,14 +37,14 @@ type DBConfig struct {
// loadDBConfig 从配置文件加载数据库配置
func loadDBConfig() DBConfig {
return DBConfig{
Driver: utils.Env.Get("DB_DRIVER", "sqlite"),
Path: utils.Env.Get("DB_PATH", "./data/data.db"),
Host: utils.Env.Get("DB_HOST", "postgres"),
Port: utils.Env.GetAsInt("DB_PORT", 5432),
User: utils.Env.Get("DB_USER", "blog"),
Password: utils.Env.Get("DB_PASSWORD", "blog"),
DBName: utils.Env.Get("DB_NAME", "blog"),
SSLMode: utils.Env.Get("DB_SSLMODE", "disable"),
Driver: utils.Env.Get(constant.EnvKeyDBDriver, "sqlite"),
Path: utils.Env.Get(constant.EnvKeyDBPath, "./data/data.db"),
Host: utils.Env.Get(constant.EnvKeyDBHost, "postgres"),
Port: utils.Env.GetAsInt(constant.EnvKeyDBPort, 5432),
User: utils.Env.Get(constant.EnvKeyDBUser, "blog"),
Password: utils.Env.Get(constant.EnvKeyDBPassword, "blog"),
DBName: utils.Env.Get(constant.EnvKeyDBName, "blog"),
SSLMode: utils.Env.Get(constant.EnvKeyDBSSLMode, "disable"),
}
}