feat(auth): 新增系统启动时自动初始化默认超级管理员功能

- 新增默认管理员自动初始化逻辑,系统启动时检查并创建超级管理员账号
- 支持通过配置文件自定义账号信息(优先级:配置文件 > 代码默认值)
- 新增 CreateSystemAccount 方法用于系统内部账号创建
- 新增默认管理员配置项和常量定义
- 更新 README.md 添加默认账号使用说明
- 归档 OpenSpec 变更提案及完整文档

相关文件:
- internal/bootstrap/admin.go: 管理员初始化逻辑
- internal/service/account/service.go: 系统账号创建方法
- pkg/config/config.go: 默认管理员配置结构
- pkg/constants/constants.go: 默认值常量定义
- docs/add-default-admin-init/功能说明.md: 完整功能文档
This commit is contained in:
2026-01-14 10:53:42 +08:00
parent 2570269c8d
commit 9c399df6bc
13 changed files with 955 additions and 12 deletions

View File

@@ -2,6 +2,7 @@ package bootstrap
import (
pkgGorm "github.com/break/junhong_cmp_fiber/pkg/gorm"
"go.uber.org/zap"
)
// BootstrapResult Bootstrap 初始化结果
@@ -17,8 +18,9 @@ type BootstrapResult struct {
// 1. 初始化 Store 层(数据访问)
// 2. 注册 GORM Callbacks数据权限过滤等- 需要 AccountStore
// 3. 初始化 Service 层(业务逻辑)
// 4. 初始化 Middleware 层(中间件
// 5. 初始化 Handler 层HTTP 处理
// 4. 初始化默认超级管理员(如果不存在
// 5. 初始化 Middleware 层(中间件
// 6. 初始化 Handler 层HTTP 处理)
//
// 参数:
// - deps: 基础依赖DB, Redis, Logger
@@ -38,10 +40,15 @@ func Bootstrap(deps *Dependencies) (*BootstrapResult, error) {
// 3. 初始化 Service 层
services := initServices(stores, deps)
// 4. 初始化 Middleware 层
// 4. 初始化默认超级管理员(降级处理:失败不中断启动)
if err := initDefaultAdmin(deps, services); err != nil {
deps.Logger.Error("初始化默认超级管理员失败", zap.Error(err))
}
// 5. 初始化 Middleware 层
middlewares := initMiddlewares(deps)
// 5. 初始化 Handler 层
// 6. 初始化 Handler 层
handlers := initHandlers(services, deps)
return &BootstrapResult{