整理router,删除多余中单件和路由。退出按键放最上方。

This commit is contained in:
2026-08-25 17:54:54 +08:00
parent 052803679a
commit 16ba817ecf
9 changed files with 70 additions and 141 deletions
+24 -36
View File
@@ -32,15 +32,15 @@ func setupStaticRoutes(r *gin.Engine) {
// setupAdminPageRoutes 后台管理页面(服务端渲染)
func setupAdminPageRoutes(r *gin.Engine) {
r.GET(adminPath+"/login", backend.AdminLoginView)
r.GET(adminPath, middleware.OptionalAuth(), backend.AdminView)
r.GET(adminPath, middleware.JWTAuth(), backend.AdminView)
}
// setupFrontendRoutes 前台页面(服务端渲染)
func setupFrontendRoutes(r *gin.Engine) {
r.GET("/", middleware.OptionalAuth(), frontend.IndexView)
r.GET("/post/:slug", middleware.OptionalAuth(), frontend.PostView)
r.GET("/page/:slug", middleware.OptionalAuth(), frontend.PageView)
r.GET("/search", middleware.OptionalAuth(), frontend.SearchView)
r.GET("/", frontend.IndexView)
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)
@@ -50,23 +50,10 @@ func setupFrontendRoutes(r *gin.Engine) {
// setupAPIRoutes API 路由分组
func setupAPIRoutes(r *gin.Engine) {
api := r.Group(apiPrefix)
setupPublicAPIRoutes(api) // 公开接口
setupAuthenticatedAPIRoutes(api) // 需要 JWT 的接口
setupAdminAPIRoutes(api) // 管理员专属接口
}
// setupPublicAPIRoutes 公开 API(无需登录)
func setupPublicAPIRoutes(api *gin.RouterGroup) {
// 登录
api.POST("/auth/login", backend.Login)
// 仪表盘公开统计数据(可选认证,登录后返回更多数据)
api.GET("/dashboard/stats", middleware.OptionalAuth(), backend.GetDashboardStats)
// 主题公开信息
api.GET("/themes", backend.GetThemes)
api.GET("/theme", backend.GetCurrentTheme)
setupAuthenticatedAPIRoutes(api) // 需要 JWT 的接口
setupAdminAPIRoutes(api) // 管理员专属接口
}
// setupAuthenticatedAPIRoutes 需要 JWT 的接口(所有登录用户)
@@ -74,9 +61,13 @@ func setupAuthenticatedAPIRoutes(api *gin.RouterGroup) {
auth := api.Group("/")
auth.Use(middleware.JWTAuth())
// 仪表盘公开统计数据(可选认证,登录后返回更多数据)
auth.GET("/dashboard/stats", backend.GetDashboardStats)
// 当前用户信息
auth.GET("/auth/me", backend.GetCurrentUser)
//TODO: 修改用户信息接口,在admin/index.html中添加修改用户信息表单
auth.PUT("/auth/me", backend.UpdateUser)
//TODO: 修改密码接口,在admin/index.html中添加修改密码表单
auth.PUT("/auth/password", backend.ChangePassword)
auth.POST("/auth/logout", backend.Logout)
@@ -87,17 +78,8 @@ func setupAuthenticatedAPIRoutes(api *gin.RouterGroup) {
auth.PUT("/posts/:id", backend.UpdatePost)
auth.DELETE("/posts/:id", backend.DeletePost)
// 分类读取(写入在管理员组)
// 分类读取
auth.GET("/categories", backend.GetCategories)
auth.GET("/categories/:id", backend.GetCategory)
// 标签读取(写入在管理员组)
auth.GET("/tags", backend.GetTags)
auth.GET("/tags/:id", backend.GetTag)
// 页面读取(写入在管理员组)
auth.GET("/pages", backend.GetPages)
auth.GET("/pages/:id", backend.GetPage)
// 评论管理(查看所有评论,需登录)
auth.GET("/comments", backend.GetComments)
@@ -116,12 +98,6 @@ func setupAuthenticatedAPIRoutes(api *gin.RouterGroup) {
auth.GET("/uploads", backend.ListUploads)
auth.DELETE("/uploads/:id", backend.DeleteUpload)
// 主题管理(登录用户可切换主题、创建主题、编辑文件)
auth.POST("/theme", backend.SwitchTheme)
auth.POST("/themes/create", backend.CreateTheme)
auth.GET("/themes/:theme/files", backend.GetThemeFiles)
auth.GET("/themes/:theme/files/:file", backend.GetThemeFile)
auth.PUT("/themes/:theme/files/:file", backend.SaveThemeFile)
}
// setupAdminAPIRoutes 管理员专属接口(JWT + AdminRequired)
@@ -131,11 +107,13 @@ func setupAdminAPIRoutes(api *gin.RouterGroup) {
// 分类管理(写入)
admin.POST("/categories", backend.CreateCategory)
admin.GET("/categories/:id", backend.GetCategory)
admin.PUT("/categories/:id", backend.UpdateCategory)
admin.DELETE("/categories/:id", backend.DeleteCategory)
// 标签管理(写入)
admin.POST("/tags", backend.CreateTag)
admin.GET("/tags/:id", backend.GetTag)
admin.PUT("/tags/:id", backend.UpdateTag)
admin.DELETE("/tags/:id", backend.DeleteTag)
@@ -165,4 +143,14 @@ func setupAdminAPIRoutes(api *gin.RouterGroup) {
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)
admin.POST("/themes/create", backend.CreateTheme)
admin.GET("/themes/:theme/files", backend.GetThemeFiles)
admin.GET("/themes/:theme/files/:file", backend.GetThemeFile)
admin.PUT("/themes/:theme/files/:file", backend.SaveThemeFile)
}