refactor(bookmark): 重构书签服务入口文件并整合用户权限功能

将 bookmark.go 重命名为 main.go,并调整包引用路径。将 bookmarks 和 user_np
两个模块的处理逻辑合并到同一个服务中,统一注册路由。同时更新了相关 API
的引用路径,确保生成代码与内部实现正确绑定。

此外,移除了独立的 user_np 服务入口文件,其功能已整合至 bookmark 服务中。

配置文件中调整了 user_np 和 vfs 服务的端口及部分接口定义,完善了用户
相关操作的路径参数和请求体结构。
This commit is contained in:
zzy
2025-09-25 09:50:35 +08:00
parent 1e81e603de
commit 24f238f377
23 changed files with 1173 additions and 601 deletions

36
main.go
View File

@ -6,25 +6,31 @@ import (
"log"
"net/http"
vfs "git.zzyxyz.com/zzy/zzyxyz_go_api/gen/vfs"
api "git.zzyxyz.com/zzy/zzyxyz_go_api/gen/vfs"
"git.zzyxyz.com/zzy/zzyxyz_go_api/internal/handlers"
vfsdriver "git.zzyxyz.com/zzy/zzyxyz_go_api/internal/handlers/vfs_driver"
"git.zzyxyz.com/zzy/zzyxyz_go_api/internal/models"
"git.zzyxyz.com/zzy/zzyxyz_go_api/internal/vfs"
"git.zzyxyz.com/zzy/zzyxyz_go_api/internal/vfs/vfsdriver"
"github.com/gin-gonic/gin"
"github.com/spf13/viper"
)
//go:generate go tool oapi-codegen -config config/bookmark/client.yaml config/bookmark/bookmark.yaml
//go:generate go tool oapi-codegen -config config/bookmark/server.yaml config/bookmark/bookmark.yaml
//go:generate go tool oapi-codegen -config config/vfs/server.yaml config/vfs/vfs.yaml
//go:generate go tool oapi-codegen -config config/vfs/server.yaml config/vfs/vfs.yaml
//go:generate go tool oapi-codegen -config config/user_np/server.yaml config/user_np/user_np.yaml
//go:embed config/* dist/*
var staticFiles embed.FS
func main() {
gin.SetMode(gin.ReleaseMode)
config, err := vfs.LoadConfig()
if err != nil {
log.Fatal("Failed to load config:", err)
}
viper.SafeWriteConfigAs("vfs_config.yaml")
if config.Server.Mode == "debug" {
gin.SetMode(gin.DebugMode)
} else {
gin.SetMode(gin.ReleaseMode)
}
router := gin.Default()
router.GET("/ping", func(c *gin.Context) {
@ -35,18 +41,16 @@ func main() {
api_router := router.Group("/api")
{
if vfsImpl, err := models.NewVfs("./data/vfs.sqlite3"); err != nil {
log.Fatal("Failed to create vfs server:", err)
} else if server, err := handlers.NewVfsHandler(*vfsImpl); err != nil {
if server, err := vfs.NewVfsHandler(config); err != nil {
log.Fatal("Failed to create bookmarks server:", err)
} else {
vfs.RegisterHandlers(api_router, server)
api.RegisterHandlers(api_router, server)
// 示例:在你的服务初始化代码中
bookmarkService, err := vfsdriver.NewVfsBookMarkService("http://localhost:8081/api") // 替换为实际的 bookmark 服务地址
if err != nil {
log.Fatal("Failed to create bookmark service client:", err)
}
server.RegisterProxy(&handlers.ProxyEntry{Name: "bk", Proxy: bookmarkService})
server.RegisterProxy(bookmarkService)
}
handlers.TodoHandler(api_router)
}
@ -82,7 +86,7 @@ func main() {
r.URL.Path = originalPath
})
var listener = "localhost:8080"
var listener = config.Server.Address
log.Printf("Starting server at http://%s", listener)
log.Printf("Swagger UI: http://%s/swagger/index.html", listener)
log.Fatal(router.Run(listener))