mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-05 16:56:22 +00:00
⚡️ feat: refactor sorting parameters in post listing API and components
- Renamed `orderedBy` to `orderBy` and `reverse` to `desc` in ListPostsParams interface and related functions. - Updated all usages of the sorting parameters in the post listing logic to reflect the new naming convention. feat: add user-related API functions - Implemented `getLoginUser` and `getUserById` functions in the user API to fetch user details. - Enhanced user model to include `language` property. feat: integrate next-intl for internationalization - Added `next-intl` plugin to Next.js configuration for improved localization support. - Removed previous i18n implementation and replaced it with a new structure using JSON files for translations. - Created locale files for English, Japanese, and Chinese with basic translations. - Implemented a request configuration to handle user locales and messages dynamically. fix: clean up unused imports and code - Removed unused i18n utility functions and language settings from device context. - Cleaned up commented-out code in blog card component and sidebar. chore: update dependencies - Added `deepmerge` for merging locale messages. - Updated package.json and pnpm-lock.yaml to reflect new dependencies.
This commit is contained in:
@ -1,7 +1,21 @@
|
||||
package apiv1
|
||||
|
||||
import "github.com/cloudwego/hertz/pkg/route"
|
||||
import (
|
||||
"github.com/cloudwego/hertz/pkg/route"
|
||||
v1 "github.com/snowykami/neo-blog/internal/controller/v1"
|
||||
"github.com/snowykami/neo-blog/internal/middleware"
|
||||
)
|
||||
|
||||
func registerCommentRoutes(group *route.RouterGroup) {
|
||||
// TODO: Implement comment routes
|
||||
commentController := v1.NewCommentController()
|
||||
commentGroup := group.Group("/comments").Use(middleware.UseAuth(true))
|
||||
commentGroupWithoutAuth := group.Group("/comments").Use(middleware.UseAuth(false))
|
||||
{
|
||||
commentGroup.POST("/c", commentController.CreateComment)
|
||||
commentGroup.PUT("/c/:id", commentController.UpdateComment)
|
||||
commentGroup.DELETE("/c/:id", commentController.DeleteComment)
|
||||
commentGroup.PUT("/c/:id/react", commentController.ReactComment) // 暂时先不写
|
||||
commentGroupWithoutAuth.GET("/c/:id", commentController.GetComment)
|
||||
commentGroupWithoutAuth.GET("/c/list", commentController.GetCommentList)
|
||||
}
|
||||
}
|
||||
|
@ -1 +1,15 @@
|
||||
package apiv1
|
||||
|
||||
import (
|
||||
"github.com/cloudwego/hertz/pkg/route"
|
||||
"github.com/snowykami/neo-blog/internal/controller/v1"
|
||||
"github.com/snowykami/neo-blog/internal/middleware"
|
||||
)
|
||||
|
||||
func registerLikeRoutes(group *route.RouterGroup) {
|
||||
likeController := v1.NewLikeController()
|
||||
likeGroup := group.Group("/like").Use(middleware.UseAuth(true))
|
||||
{
|
||||
likeGroup.PUT("/toggle", likeController.ToggleLike)
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ func registerPostRoutes(group *route.RouterGroup) {
|
||||
postGroupWithoutAuth.GET("/p/:id", postController.Get)
|
||||
postGroupWithoutAuth.GET("/list", postController.List)
|
||||
postGroup.POST("/p", postController.Create)
|
||||
postGroup.PUT("/p", postController.Update)
|
||||
postGroup.DELETE("/p", postController.Delete)
|
||||
postGroup.PUT("/p/:id", postController.Update)
|
||||
postGroup.DELETE("/p/:id", postController.Delete)
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ func registerUserRoutes(group *route.RouterGroup) {
|
||||
userGroupWithoutAuth.GET("/oidc/list", userController.OidcList)
|
||||
userGroupWithoutAuth.GET("/oidc/login/:name", userController.OidcLogin)
|
||||
userGroupWithoutAuth.GET("/u/:id", userController.GetUser)
|
||||
userGroup.GET("/u", userController.GetUser)
|
||||
userGroup.GET("/me", userController.GetUser)
|
||||
userGroup.POST("/logout", userController.Logout)
|
||||
userGroup.PUT("/u/:id", userController.UpdateUser)
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ func RegisterRoutes(h *server.Hertz) {
|
||||
registerAdminRoutes(apiV1Group)
|
||||
registerFileRoutes(apiV1Group)
|
||||
registerLabelRoutes(apiV1Group)
|
||||
registerLikeRoutes(apiV1Group)
|
||||
registerPageRoutes(apiV1Group)
|
||||
registerPostRoutes(apiV1Group)
|
||||
registerUserRoutes(apiV1Group)
|
||||
|
@ -1,6 +1,7 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"github.com/cloudwego/hertz/pkg/app/middlewares/server/recovery"
|
||||
"github.com/cloudwego/hertz/pkg/app/server"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/snowykami/neo-blog/internal/router/apiv1"
|
||||
@ -25,5 +26,6 @@ func init() {
|
||||
server.WithHostPorts(":"+utils.Env.Get("PORT", "8888")),
|
||||
server.WithMaxRequestBodySize(utils.Env.GetAsInt("MAX_REQUEST_BODY_SIZE", 1048576000)), // 1000MiB
|
||||
)
|
||||
h.Use(recovery.Recovery())
|
||||
apiv1.RegisterRoutes(h)
|
||||
}
|
||||
|
Reference in New Issue
Block a user