2026-08-07 23:39:47 +08:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"log"
|
2026-08-09 21:32:55 +08:00
|
|
|
"os"
|
2026-08-07 23:39:47 +08:00
|
|
|
|
2026-08-09 21:32:55 +08:00
|
|
|
"mrcc/internal/auth"
|
2026-08-07 23:39:47 +08:00
|
|
|
"mrcc/internal/config"
|
|
|
|
|
"mrcc/internal/httpserver"
|
|
|
|
|
"mrcc/internal/logger"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
cfg := config.Load("auth-service", "8081")
|
|
|
|
|
logger.WithService(cfg.Name).Info("starting service", "port", cfg.Port)
|
|
|
|
|
|
|
|
|
|
srv := httpserver.New(cfg)
|
|
|
|
|
|
2026-08-09 21:32:55 +08:00
|
|
|
// JWT 密钥:默认开发密钥,生产环境通过 AUTH_JWT_SECRET 覆盖
|
|
|
|
|
secret := os.Getenv("AUTH_JWT_SECRET")
|
|
|
|
|
if secret == "" {
|
|
|
|
|
secret = "mrcc-dev-secret-change-me"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
store := auth.NewUserStore()
|
|
|
|
|
jwtMgr := auth.NewJWTManager(secret)
|
|
|
|
|
h := auth.NewHandler(store, jwtMgr)
|
|
|
|
|
|
|
|
|
|
// 认证路由: /api/auth/register|login|me
|
|
|
|
|
authGroup := srv.Group("/api/auth")
|
|
|
|
|
h.RegisterAuthRoutes(authGroup)
|
|
|
|
|
|
|
|
|
|
// 经济路由: /api/daily-reward|spend|buy|use-item
|
|
|
|
|
apiGroup := srv.Group("/api")
|
|
|
|
|
h.RegisterEconomyRoutes(apiGroup)
|
2026-08-07 23:39:47 +08:00
|
|
|
|
2026-08-09 21:32:55 +08:00
|
|
|
log.Printf("auth-service listening on %s (endpoints: /api/auth/*, /api/daily-reward ...)", cfg.Address())
|
2026-08-07 23:39:47 +08:00
|
|
|
if err := srv.Run(cfg.Address()); err != nil {
|
|
|
|
|
log.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
}
|