package main // nl-pms-api:code-count(view 桌面端)的同步 + 文件存储 HTTP API。 // 提供 JWT 认证、待办/工单/记事本推拉、设置/资料、团队协作与图片上传。 // // 表结构约定:仅 dev 环境(config.yaml 里 env: dev)启动时 AutoMigrate; // 生产环境启动绝不执行任何 DDL,缺表直接退出(需先手工执行 init.sql)。 import ( "flag" "log" "os" "nl-pms-api/internal/config" "nl-pms-api/internal/database" "nl-pms-api/internal/router" ) func main() { cfgPath := flag.String("config", "config.yaml", "配置文件路径") flag.Parse() cfg, err := config.Load(*cfgPath) if err != nil { log.Fatalf("[nl-pms-api] %v", err) } db, err := database.Open(cfg) if err != nil { log.Fatalf("[nl-pms-api] %v", err) } if err := os.MkdirAll(cfg.StorageDir, 0755); err != nil { log.Fatalf("[nl-pms-api] 创建存储目录失败: %v", err) } r := router.New(cfg, db) log.Printf("[nl-pms-api] env=%s listen=%s storage=%s", cfg.Env, cfg.Listen, cfg.StorageDir) if err := r.Run(cfg.Listen); err != nil { log.Fatalf("[nl-pms-api] %v", err) } }