## 后端架构 (Go + Gin + GORM) - ✅ 完整的分层架构 (API/Service/Repository) - ✅ PostgreSQL数据库设计和迁移脚本 - ✅ JWT认证系统和权限控制 - ✅ 用户、照片、分类、标签等核心模型 - ✅ 中间件系统 (认证、CORS、日志) - ✅ 配置管理和环境变量支持 - ✅ 结构化日志和错误处理 - ✅ Makefile构建和部署脚本 ## 管理后台架构 (React + TypeScript) - ✅ Vite + React 18 + TypeScript现代化架构 - ✅ 路由系统和状态管理 (Zustand + TanStack Query) - ✅ 基于Radix UI的组件库基础 - ✅ 认证流程和权限控制 - ✅ 响应式设计和主题系统 ## 数据库设计 - ✅ 用户表 (角色权限、认证信息) - ✅ 照片表 (元数据、EXIF、状态管理) - ✅ 分类表 (层级结构、封面图片) - ✅ 标签表 (使用统计、标签云) - ✅ 关联表 (照片-标签多对多) ## 技术特点 - 🚀 高性能: Gin框架 + GORM ORM - 🔐 安全: JWT认证 + 密码加密 + 权限控制 - 📊 监控: 结构化日志 + 健康检查 - 🎨 现代化: React 18 + TypeScript + Vite - 📱 响应式: Tailwind CSS + Radix UI 参考文档: docs/development/saved-docs/
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package routes
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"photography-backend/internal/api/handlers"
|
|
"photography-backend/internal/api/middleware"
|
|
)
|
|
|
|
// Handlers 处理器集合
|
|
type Handlers struct {
|
|
Auth *handlers.AuthHandler
|
|
}
|
|
|
|
// SetupRoutes 设置路由
|
|
func SetupRoutes(r *gin.Engine, handlers *Handlers, authMiddleware *middleware.AuthMiddleware) {
|
|
// API v1路由组
|
|
v1 := r.Group("/api/v1")
|
|
|
|
// 公开路由
|
|
public := v1.Group("/auth")
|
|
{
|
|
public.POST("/login", handlers.Auth.Login)
|
|
public.POST("/register", handlers.Auth.Register)
|
|
public.POST("/refresh", handlers.Auth.RefreshToken)
|
|
}
|
|
|
|
// 需要认证的路由
|
|
protected := v1.Group("/")
|
|
protected.Use(authMiddleware.RequireAuth())
|
|
{
|
|
// 用户资料
|
|
protected.GET("/auth/profile", handlers.Auth.GetProfile)
|
|
protected.PUT("/auth/password", handlers.Auth.UpdatePassword)
|
|
protected.POST("/auth/logout", handlers.Auth.Logout)
|
|
}
|
|
|
|
// 管理员路由
|
|
admin := v1.Group("/admin")
|
|
admin.Use(authMiddleware.RequireAuth())
|
|
admin.Use(authMiddleware.RequireAdmin())
|
|
{
|
|
// 将在后续添加管理员相关路由
|
|
}
|
|
} |