Initial commit: TaskPool React panel
- React frontend with route-level code splitting - Backend rebranded from Baihu to TaskPool - DB brand migration script and local compatibility
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"github.com/engigu/taskpool/internal/logger"
|
||||
"github.com/engigu/taskpool/internal/utils"
|
||||
)
|
||||
|
||||
type InitService struct {
|
||||
settingsService *SettingsService
|
||||
}
|
||||
|
||||
func NewInitService(settingsService *SettingsService) *InitService {
|
||||
return &InitService{
|
||||
settingsService: settingsService,
|
||||
}
|
||||
}
|
||||
|
||||
// Initialize 执行系统初始化,返回 UserService
|
||||
func (s *InitService) Initialize() *UserService {
|
||||
logger.Info("[Initialize] 开始初始化系统...")
|
||||
|
||||
// 初始化默认设置
|
||||
if err := s.settingsService.InitSettings(); err != nil {
|
||||
logger.Warnf("[Initialize] 初始化设置失败: %v", err)
|
||||
}
|
||||
|
||||
// 创建 UserService
|
||||
userService := NewUserService()
|
||||
|
||||
// 创建管理员账号
|
||||
s.initializeAdmin(userService)
|
||||
|
||||
// 初始化语言环境
|
||||
s.initializeLanguages()
|
||||
|
||||
return userService
|
||||
}
|
||||
|
||||
// initializeLanguages 初始化同步语言环境
|
||||
func (s *InitService) initializeLanguages() {
|
||||
logger.Info("[Languages] 开始初始化编程语言环境...")
|
||||
miseService := NewMiseService()
|
||||
if err := miseService.Sync(); err != nil {
|
||||
logger.Errorf("[Languages] 初始化同步语言环境失败: %v", err)
|
||||
} else {
|
||||
logger.Info("[Languages] 初始化语言环境同步完成")
|
||||
}
|
||||
}
|
||||
|
||||
// initializeAdmin 创建管理员账号
|
||||
func (s *InitService) initializeAdmin(userService *UserService) {
|
||||
existingUser := userService.GetUserByUsername("admin")
|
||||
if existingUser != nil {
|
||||
logger.Info("[Init] 管理员账号已存在,跳过创建")
|
||||
return
|
||||
}
|
||||
|
||||
password := utils.RandomString(12)
|
||||
userService.CreateUser("admin", password, "admin@local", "admin")
|
||||
logger.Infof("--------------------------------------------------")
|
||||
logger.Infof("[Init] 管理员账号创建成功:")
|
||||
logger.Infof("[Init] 用户名: admin")
|
||||
logger.Infof("[Init] 密 码: %s", password)
|
||||
logger.Infof("[Init] 请妥善保管您的密码,并登录后及时修改。")
|
||||
logger.Infof("--------------------------------------------------")
|
||||
}
|
||||
Reference in New Issue
Block a user