上传初始版,功能未经任何测试,仅为基本框架,目前为完全不可用状态

This commit is contained in:
sun
2026-01-02 01:19:24 +08:00
parent 8c39d85831
commit 2c8afc1275
18 changed files with 2729 additions and 34 deletions
+87
View File
@@ -0,0 +1,87 @@
package main
import (
"fmt"
"log"
"net/http"
"d:\项目\dobaochet\backend\api"
"d:\项目\dobaochet\backend\config"
"d:\项目\dobaochet\backend\db"
"d:\项目\dobaochet\backend\services"
"github.com/gin-gonic/gin"
)
func main() {
// 加载配置
cfg, err := config.LoadConfig(".")
if err != nil {
log.Fatalf("加载配置失败: %v", err)
}
// 初始化数据库
_, err = db.InitDB(cfg)
if err != nil {
log.Fatalf("初始化数据库失败: %v", err)
}
// 创建Gin引擎
gin.SetMode(gin.ReleaseMode)
r := gin.New()
// 添加中间件
r.Use(gin.Logger())
r.Use(gin.Recovery())
r.Use(api.CORSMiddleware(cfg))
// 创建服务实例
aiService := services.NewAIService(cfg)
quotaService := services.NewQuotaService(cfg)
// 启动配额重置定时任务
quotaService.StartQuotaResetJob()
// 创建API实例
userAPI := api.NewUserAPI(cfg)
chatAPI := api.NewChatAPI(cfg, aiService)
adminAPI := api.NewAdminAPI(cfg)
// 注册路由
apiGroup := r.Group("/api")
{
// 用户相关路由
userAPI.RegisterRoutes(apiGroup)
// 聊天相关路由
chatAPI.RegisterRoutes(apiGroup)
// 管理员相关路由
adminAPI.RegisterRoutes(apiGroup)
// 健康检查
apiGroup.GET("/health", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"status": "ok",
"message": "豆包AI后端服务运行正常",
})
})
}
// 启动服务器
serverAddr := fmt.Sprintf("%s:%s", cfg.Server.Host, cfg.Server.Port)
log.Printf("服务器启动在 %s", serverAddr)
// 创建HTTP服务器
server := &http.Server{
Addr: serverAddr,
Handler: r,
ReadTimeout: cfg.Server.ReadTimeout,
WriteTimeout: cfg.Server.WriteTimeout,
}
// 启动服务器
if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed {
log.Fatalf("服务器启动失败: %v", err)
}
}