BUG修复,返回结构统一

This commit is contained in:
李琦
2026-01-16 17:03:34 +08:00
parent 87ed11db7a
commit e6edf7210b
57 changed files with 3642 additions and 1074 deletions

View File

@@ -7,7 +7,6 @@ import (
"github.com/niangaodev/art-code/config"
"github.com/niangaodev/art-code/handlers"
"github.com/niangaodev/art-code/middleware"
"github.com/niangaodev/art-code/repositories"
"github.com/niangaodev/art-code/utils"
)
@@ -17,7 +16,7 @@ func main() {
defer config.CloseDB()
// 运行数据库迁移 (Convert Datetime to BigInt)
repositories.MigrateToBigInt()
// repositories.MigrateToBigInt() // 已禁用自动迁移
// 初始化ip2region (如果文件不存在将降级为普通IP记录)
// 请确保在server根目录或合适位置放入 ip2region.xdb
@@ -36,12 +35,21 @@ func main() {
{
// 作品路由
api.GET("/works", handlers.GetWorks)
api.GET("/works/:id", handlers.GetWork)
api.GET("/works/:id", handlers.GetWorkByID)
// 博客路由
api.GET("/posts", handlers.GetPosts)
api.GET("/posts/:id", handlers.GetPost)
// 分类路由
api.GET("/categories", handlers.GetCategories)
api.GET("/categories/:id", handlers.GetCategoryByID)
// 专栏路由
api.GET("/columns", handlers.GetColumns)
api.GET("/columns/:id", handlers.GetColumnByID)
api.GET("/columns/:id/posts", handlers.GetColumnPosts)
// 代码片段路由
api.GET("/snippets", handlers.GetSnippets)
api.GET("/snippets/:id", handlers.GetSnippet)
@@ -53,6 +61,7 @@ func main() {
// 代码执行路由
api.POST("/run", handlers.RunCode)
api.GET("/proxy", handlers.ProxyRequest)
// 关于页面路由
api.GET("/about", handlers.GetAboutProfile)
@@ -70,7 +79,7 @@ func main() {
admin := router.Group("/api/admin")
{
// 登录路由(不需要认证)
admin.POST("/login", handlers.AdminLogin)
admin.POST("/login", handlers.Login)
// 需要认证的路由
authAdmin := admin.Group("/")
@@ -108,7 +117,8 @@ func main() {
// 系统配置管理
authAdmin.GET("/settings", middleware.PermissionMiddleware("settings", "read"), handlers.AdminGetSettings)
authAdmin.POST("/settings", middleware.PermissionMiddleware("settings", "create"), handlers.AdminCreateSetting)
authAdmin.PUT("/settings", middleware.PermissionMiddleware("settings", "update"), handlers.AdminUpdateSetting)
authAdmin.PUT("/settings", middleware.PermissionMiddleware("settings", "update"), handlers.AdminUpdateSettings)
authAdmin.PUT("/settings/:id", middleware.PermissionMiddleware("settings", "update"), handlers.AdminUpdateSetting)
authAdmin.DELETE("/settings/:key", middleware.PermissionMiddleware("settings", "delete"), handlers.AdminDeleteSetting)
// 仪表盘统计
@@ -118,8 +128,23 @@ func main() {
authAdmin.GET("/posts", middleware.PermissionMiddleware("posts", "read"), handlers.AdminGetPosts)
authAdmin.POST("/posts", middleware.PermissionMiddleware("posts", "create"), handlers.AdminCreatePost)
authAdmin.PUT("/posts/:id", middleware.PermissionMiddleware("posts", "update"), handlers.AdminUpdatePost)
authAdmin.PATCH("/posts/:id/status", middleware.PermissionMiddleware("posts", "update"), handlers.AdminTogglePostStatus) // 新增状态切换
authAdmin.DELETE("/posts/:id", middleware.PermissionMiddleware("posts", "delete"), handlers.AdminDeletePost)
// 分类管理 (复用 posts 权限)
authAdmin.GET("/categories", middleware.PermissionMiddleware("posts", "read"), handlers.GetCategories) // Admin also uses public handler or specific if needed
authAdmin.POST("/categories", middleware.PermissionMiddleware("posts", "create"), handlers.AdminCreateCategory)
authAdmin.PUT("/categories/:id", middleware.PermissionMiddleware("posts", "update"), handlers.AdminUpdateCategory)
authAdmin.DELETE("/categories/:id", middleware.PermissionMiddleware("posts", "delete"), handlers.AdminDeleteCategory)
// 专栏管理 (复用 posts 权限)
authAdmin.GET("/columns", middleware.PermissionMiddleware("posts", "read"), handlers.GetColumns)
authAdmin.POST("/columns", middleware.PermissionMiddleware("posts", "create"), handlers.AdminCreateColumn)
authAdmin.PUT("/columns/:id", middleware.PermissionMiddleware("posts", "update"), handlers.AdminUpdateColumn)
authAdmin.DELETE("/columns/:id", middleware.PermissionMiddleware("posts", "delete"), handlers.AdminDeleteColumn)
authAdmin.POST("/columns/:id/posts", middleware.PermissionMiddleware("posts", "update"), handlers.AdminAddPostToColumn)
authAdmin.DELETE("/columns/:id/posts/:postId", middleware.PermissionMiddleware("posts", "update"), handlers.AdminRemovePostFromColumn)
// 文章历史记录
authAdmin.GET("/posts/:id/history", middleware.PermissionMiddleware("posts", "read"), handlers.AdminGetPostHistory)
authAdmin.GET("/posts/:id/history/:version", middleware.PermissionMiddleware("posts", "read"), handlers.AdminGetPostHistoryByVersion)
@@ -128,7 +153,6 @@ func main() {
authAdmin.GET("/operation-logs", middleware.PermissionMiddleware("operation_logs", "read"), handlers.AdminGetOperationLogs)
// 仪表盘数据
// authAdmin.GET("/dashboard/stats", middleware.PermissionMiddleware("dashboard", "read"), handlers.GetDashboardStats) // Duplicate removed
authAdmin.GET("/dashboard/activities", middleware.PermissionMiddleware("dashboard", "read"), handlers.AdminGetRecentActivities)
// 标签管理