diff --git a/server_tb_LinkedMall/cmd/server/main.go b/server_tb_LinkedMall/cmd/server/main.go new file mode 100644 index 0000000..91b34fc --- /dev/null +++ b/server_tb_LinkedMall/cmd/server/main.go @@ -0,0 +1,50 @@ +package main + +import ( + "fmt" + "log" + + "github.com/gofiber/fiber/v2" + + "server_tb_LinkedMall/internal/config" + "server_tb_LinkedMall/internal/router" + "server_tb_LinkedMall/internal/service" +) + +func main() { + // 加载配置 + cfg := config.LoadConfig() + + // 检查必要配置 + if cfg.AccessKeyId == "" || cfg.AccessKeySecret == "" { + log.Fatal("环境变量 LINKEDMALL_AK 和 LINKEDMALL_SK 必须设置") + } + + // 初始化服务 + svc, err := service.NewLinkedMallService(cfg) + if err != nil { + log.Fatalf("初始化服务失败: %v", err) + } + + // 创建Fiber应用 + app := fiber.New(fiber.Config{ + AppName: "LinkedMall Server", + ErrorHandler: func(c *fiber.Ctx, err error) error { + return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{ + "Success": false, + "Code": "SERVER_ERROR", + "Message": err.Error(), + }) + }, + }) + + // 注册路由 + router.SetupRouter(app, svc) + + // 启动服务 + addr := fmt.Sprintf(":%s", cfg.ServerPort) + log.Printf("启动服务,监听地址: %s", addr) + if err := app.Listen(addr); err != nil { + log.Fatalf("服务启动失败: %v", err) + } +} \ No newline at end of file