feat: 在路由中注册工程管理接口

- 注册所有工程相关的 API 路由
- 初始化 ProjectService 服务
- 更新数据库迁移包含 Project Task ProjectStyleRecord 表
This commit is contained in:
2026-05-25 16:39:35 +08:00
parent 8f622f6814
commit f5ec4a6406
+15 -1
View File
@@ -25,7 +25,7 @@ func main() {
gin.SetMode(cfg.Server.Mode)
// 初始化 SQLite 数据库
if err := db.Init(cfg.Database.DSN, &model.User{}); err != nil {
if err := db.Init(cfg.Database.DSN, &model.User{}, &model.Project{}, &model.ProjectStyleRecord{}, &model.Task{}); err != nil {
slog.Error("db init failed", "error", err)
return
}
@@ -41,6 +41,9 @@ func main() {
storageSvc := service.NewStorageService(cfg.Qiniu)
handler.InitStorageService(storageSvc)
// 初始化项目服务
service.InitProjectService(db.GetDB())
r := gin.New()
r.Use(mildware.Logger())
r.Use(mildware.Recovery())
@@ -57,9 +60,20 @@ func main() {
v1Auth := r.Group("/api/v1")
v1Auth.Use(mildware.AuthMiddleware(cfg.JWT.Secret))
{
// 工程管理
v1Auth.GET("/projects", handler.ListProjects) // 获取工程列表
v1Auth.POST("/projects", handler.CreateProject) // 创建工程
v1Auth.GET("/projects/:projectId", handler.GetProject) // 获取工程详情
v1Auth.PUT("/projects/:projectId", handler.UpdateProject) // 更新工程信息
v1Auth.DELETE("/projects/:projectId", handler.DeleteProject) // 删除工程
v1Auth.GET("/projects/:projectId/style", handler.GetStyle) // 获取工程风格
v1Auth.PUT("/projects/:projectId/style", handler.UpdateStyle) // 更新工程风格
v1Auth.GET("/projects/:projectId/tasks", handler.GetProjectTasks) // 获取工程任务列表
// 素材生成
v1Auth.POST("/generate", handler.Generate) // 素材生成管线
v1Auth.GET("/tasks/:taskId", handler.GetTask) // 查询任务
v1Auth.GET("/tasks/:taskId/assets", handler.GetAssets) // 查询任务素材
// 图片编辑
v1Auth.POST("/images/edit", handler.EditImage) // 图片编辑
}