整理router

This commit is contained in:
2026-09-02 17:56:36 +08:00
parent 2bcfa1da93
commit 533f31e868
9 changed files with 47 additions and 59 deletions
+24 -39
View File
@@ -9,30 +9,19 @@ import (
)
const (
staticPath = "/static"
adminStaticPath = "/admin/static"
adminPath = "/admin"
apiPrefix = "/api"
staticPath = "/static"
adminPath = "/admin"
apiPrefix = "/api"
)
// SetupRoutes 配置所有路由
func SetupRoutes(r *gin.Engine) {
setupStaticRoutes(r)
setupAdminPageRoutes(r)
setupFrontendRoutes(r)
setupAPIRoutes(r)
}
// setupStaticRoutes 静态资源
func setupStaticRoutes(r *gin.Engine) {
// 静态资源路由
r.Static(staticPath, "./static")
r.Static(adminStaticPath, "./static/admin")
}
// setupAdminPageRoutes 后台管理页面(服务端渲染)
func setupAdminPageRoutes(r *gin.Engine) {
r.GET(adminPath+"/login", backend.AdminLoginView)
r.GET(adminPath, middleware.JWTAuth(), backend.AdminView)
// 前台页面
setupFrontendRoutes(r)
// 后台管理页面
setupAdminPageRoutes(r)
}
// setupFrontendRoutes 前台页面(服务端渲染)
@@ -41,12 +30,20 @@ func setupFrontendRoutes(r *gin.Engine) {
r.GET("/post/:slug", frontend.PostView)
r.GET("/page/:slug", frontend.PageView)
r.GET("/search", frontend.SearchView)
// 评论管理
r.GET("/posts/:postID/comments", frontend.ListComments)
r.POST("/posts/:postID/comment", frontend.SubmitComment)
r.GET("/logout", backend.WebLogout)
}
// setupAdminPageRoutes 后台管理页面(服务端渲染)
func setupAdminPageRoutes(r *gin.Engine) {
r.GET(adminPath+"/login", backend.AdminLoginView)
r.GET(adminPath, middleware.JWTAuth(), backend.AdminView)
// API 路由
setupAPIRoutes(r)
}
// setupAPIRoutes API 路由分组
func setupAPIRoutes(r *gin.Engine) {
api := r.Group(apiPrefix)
@@ -61,7 +58,7 @@ func setupAuthenticatedAPIRoutes(api *gin.RouterGroup) {
auth := api.Group("/")
auth.Use(middleware.JWTAuth())
// 仪表盘公开统计数据(可选认证,登录后返回更多数据)
// 仪表盘公开统计数据
auth.GET("/dashboard/stats", backend.GetDashboardStats)
// 当前用户信息
auth.GET("/auth/me", backend.GetCurrentUser)
@@ -81,12 +78,9 @@ func setupAuthenticatedAPIRoutes(api *gin.RouterGroup) {
// 评论管理(查看所有评论,需登录)
auth.GET("/comments", backend.GetComments)
// 我的评论管理(用户自己文章下的评论)
auth.GET("/my/comments", backend.GetComments)
auth.PUT("/my/comments/:id/approve", backend.ApproveComment)
auth.PUT("/my/comments/:id/spam", backend.MarkSpamComment)
auth.DELETE("/my/comments/:id", backend.DeleteComment)
auth.PUT("/comments/:id/approve", backend.ApproveComment)
auth.PUT("/comments/:id/spam", backend.MarkSpamComment)
auth.DELETE("/comments/:id", backend.DeleteComment)
// Markdown 预览
auth.POST("/markdown/preview", backend.PreviewMarkdown)
@@ -110,6 +104,8 @@ func setupAdminAPIRoutes(api *gin.RouterGroup) {
admin.DELETE("/categories/:id", backend.DeleteCategory)
// 标签管理(写入)
admin.GET("/tags", backend.GetTags)
admin.POST("/tags", backend.CreateTag)
admin.GET("/tags/:id", backend.GetTag)
admin.PUT("/tags/:id", backend.UpdateTag)
admin.DELETE("/tags/:id", backend.DeleteTag)
@@ -117,15 +113,10 @@ func setupAdminAPIRoutes(api *gin.RouterGroup) {
// 页面管理(写入)
admin.GET("/pages", backend.GetPages)
admin.POST("/pages", backend.CreatePage)
admin.GET("/pages/:id", backend.GetPage)
admin.PUT("/pages/:id", backend.UpdatePage)
admin.DELETE("/pages/:id", backend.DeletePage)
// 评论管理(所有评论,写入 + 删除)
admin.GET("/comments", backend.GetComments) // 管理员可查看所有评论
admin.PUT("/comments/:id/approve", backend.ApproveComment)
admin.PUT("/comments/:id/spam", backend.MarkSpamComment)
admin.DELETE("/comments/:id", backend.DeleteComment)
// 用户管理
admin.GET("/users", backend.GetUsers)
admin.POST("/users", backend.CreateUser)
@@ -137,13 +128,7 @@ func setupAdminAPIRoutes(api *gin.RouterGroup) {
admin.GET("/settings", backend.GetSettings)
admin.PUT("/settings", backend.UpdateSettings)
// 文件管理
admin.POST("/upload", backend.UploadImage) // 管理员上传(也可在认证组)
admin.GET("/uploads", backend.ListUploads)
admin.DELETE("/uploads/:id", backend.DeleteUpload)
// 主题管理(登录用户可切换主题、创建主题、编辑文件)
// 主题公开信息
admin.GET("/themes", backend.GetThemes)
admin.GET("/theme", backend.GetCurrentTheme)
admin.POST("/theme", backend.SwitchTheme)