Add files via upload
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"home-vue-go/internal/config"
|
||||
"home-vue-go/internal/database"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func SetupRoutes(r *gin.Engine, db *database.Database, cfg *config.Config) {
|
||||
// 初始化日志缓冲区
|
||||
InitLogBuffer()
|
||||
|
||||
// 添加日志中间件
|
||||
r.Use(LoggingMiddleware())
|
||||
|
||||
api := r.Group("/api")
|
||||
{
|
||||
// 公开API - 获取数据
|
||||
api.GET("/sites", GetSites(db))
|
||||
api.GET("/contacts", GetContacts(db))
|
||||
api.GET("/config", GetSiteConfig(db, cfg))
|
||||
api.GET("/frontend-config", GetFrontendConfig(db))
|
||||
api.GET("/rotating-texts", GetRotatingTexts(cfg))
|
||||
|
||||
// 访问统计API(公开,用于记录访问)
|
||||
api.POST("/track-visit", TrackVisit(db))
|
||||
|
||||
// 认证API
|
||||
auth := api.Group("/auth")
|
||||
{
|
||||
auth.POST("/login", Login(db, cfg))
|
||||
}
|
||||
|
||||
// 受保护的管理API
|
||||
admin := api.Group("/admin")
|
||||
admin.Use(JWTAuthMiddleware(cfg.JWTSecret))
|
||||
{
|
||||
// 站点管理
|
||||
admin.GET("/sites", GetSites(db))
|
||||
admin.POST("/sites", CreateSite(db))
|
||||
admin.PUT("/sites/:id", UpdateSite(db))
|
||||
admin.DELETE("/sites/:id", DeleteSite(db))
|
||||
|
||||
// 联系方式管理
|
||||
admin.GET("/contacts", GetContacts(db))
|
||||
admin.POST("/contacts", CreateContact(db))
|
||||
admin.PUT("/contacts/:id", UpdateContact(db))
|
||||
admin.DELETE("/contacts/:id", DeleteContact(db))
|
||||
|
||||
// 站点配置管理
|
||||
admin.GET("/config", GetSiteConfig(db, cfg))
|
||||
admin.PUT("/config", UpdateSiteConfig(db, cfg))
|
||||
|
||||
// 轮换文本配置
|
||||
admin.GET("/rotating-texts", GetRotatingTexts(cfg))
|
||||
admin.PUT("/rotating-texts", UpdateRotatingTexts(cfg))
|
||||
|
||||
// 文件上传
|
||||
admin.POST("/upload", UploadFile(cfg))
|
||||
|
||||
// 统计API
|
||||
admin.GET("/stats", GetStats(db))
|
||||
admin.GET("/charts", GetChartData(db))
|
||||
admin.GET("/recent-visits", GetRecentVisits(db))
|
||||
admin.POST("/notify-update", NotifyConfigUpdate())
|
||||
|
||||
// 用户管理
|
||||
admin.PUT("/change-password", ChangePassword(db))
|
||||
|
||||
// 日志API
|
||||
admin.GET("/logs", GetBackendLogs(cfg))
|
||||
|
||||
// 登录历史API
|
||||
admin.GET("/login-history", GetLoginHistory(db))
|
||||
}
|
||||
}
|
||||
|
||||
// 静态文件服务 - 提供上传的图片
|
||||
r.Static("/uploads", cfg.UploadDir)
|
||||
}
|
||||
Reference in New Issue
Block a user