Files
smartmate/backend/cmd/start.go
LoveLosita a59bcfbc5e Version:0.0.3.dev.260203
feat:  新增任务队列任务获取与创建接口
- 编写获取任务队列中任务的接口
- 编写新增任务接口
- 完成相关测试并验证通过 
2026-02-03 20:27:36 +08:00

60 lines
1.5 KiB
Go

package cmd
import (
"fmt"
"log"
"github.com/LoveLosita/smartflow/backend/api"
"github.com/LoveLosita/smartflow/backend/dao"
"github.com/LoveLosita/smartflow/backend/inits"
"github.com/LoveLosita/smartflow/backend/routers"
"github.com/LoveLosita/smartflow/backend/service"
"github.com/spf13/viper"
)
// loadConfig 加载配置
// 从配置文件中读取配置信息
func loadConfig() error {
// 设置配置文件路径
viper.SetConfigName("config")
viper.SetConfigType("yaml")
viper.AddConfigPath(".")
// 读取配置文件
if err := viper.ReadInConfig(); err != nil {
return fmt.Errorf("failed to read config file: %w", err)
}
log.Println("Config loaded successfully")
return nil
}
// Start 启动函数
func Start() {
// 加载配置
if err := loadConfig(); err != nil {
log.Fatalf("Failed to load config: %v", err)
}
// 初始化数据库
db, err := inits.ConnectDB()
if err != nil {
log.Fatalf("Failed to connect to database: %v", err)
}
rdb := inits.InitRedis()
//dao 层
userRepo := dao.NewUserDAO(db)
cacheRepo := dao.NewCacheDAO(rdb)
taskRepo := dao.NewTaskDAO(db)
//service 层
userService := service.NewUserService(userRepo, cacheRepo)
taskSv := service.NewTaskService(taskRepo)
//api 层
userApi := api.NewUserHandler(userService)
taskApi := api.NewTaskHandler(taskSv)
handlers := &api.ApiHandlers{
UserHandler: userApi,
TaskHandler: taskApi,
}
r := routers.RegisterRouters(handlers, cacheRepo)
routers.StartEngine(r)
}