zzy 60d6628b0d ```
feat(bookmark): 添加文件夹树结构导入导出接口

新增 `/bookmarks/v1/folder/serial` 接口,支持文件夹树结构的压缩导出与解压导入。
同时完善了相关响应结构体定义,如 ImportResponse 等。

refactor(bookmark): 重命名配置文件并调整字段命名

将 `config/api.yaml` 重命名为 `config/bookmark.yaml`,并统一将 parent_path_id 字段
更名为 parent_id。此外,更新 API 鉴权头名称为 X-BookMark-Token。

feat(bookmark): 实现文件夹挂载管理功能

新增以下三个接口用于管理文件夹挂载:
- GET `/bookmarks/v1/folder/{id}/mount` 获取挂载信息
- POST `/bookmarks/v1/folder/{id}/mount` 挂载文件夹
- DELETE `/bookmarks/v1/folder/{id}/mount` 取消挂载

新增相关结构体定义:MountResponse、MountInfo。

feat(vfs): 初始化虚拟文件系统 API 配置

新增 `config/vfs.yaml` 和 `config/vfs_cfg.yaml` 配置文件,定义 VFS 相关接口和代码生成规则。
接口包括文件/目录的创建、读取、更新和删除操作,并引入新的安全头 X-VFS-Token。

chore(config): 忽略 data 目录并更新生成路径

.gitignore 中新增忽略 data/ 目录。同时更新 bookmark 和 vfs 的代码生成输出路径分别为
`./gen/bookmarks/gen.go` 和 `./gen/vfs/gen.go`。

chore(deps): 引入 casbin、gopsutil 等依赖库

go.mod 中新增 casbin 权限控制、gopsutil 系统监控等相关依赖。
```
2025-09-23 01:33:50 +08:00
```
2025-09-23 01:33:50 +08:00
```
2025-09-23 01:33:50 +08:00
```
2025-09-23 01:33:50 +08:00
```
2025-09-23 01:33:50 +08:00
```
2025-09-23 01:33:50 +08:00
```
2025-09-23 01:33:50 +08:00
```
2025-09-21 15:45:37 +08:00

# https://gin-gonic.com/zh-cn/docs/quickstart/
go get -u github.com/gin-gonic/gin

# https://github.com/swaggo/gin-swagger
go install github.com/swaggo/swag/cmd/swag@latest

swag init

go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files
# [link](https://github.com/oapi-codegen/oapi-codegen/?tab=readme-ov-file)
# this will then modify your `go.mod`
go get -tool github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@latest

#go:generate go tool oapi-codegen -config cfg.yaml ../../api.yaml
go tool oapi-codegen -config cfg.yaml api.yaml
# https://go-lang.org.cn/doc/tutorial/govulncheck
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...

go install github.com/magefile/mage@latest
mage -init

mage build
//go:build mage

package main

import (
    "github.com/magefile/mage/sh"
)

// Runs go mod download and then installs the binary.
func Build() error {
    if err := sh.Run("go", "mod", "download"); err != nil {
        return err
    }
    return sh.Run("go", "install", "./...")
}
// on vscode settings.json
{
  "gopls": {
    "buildFlags": ["-tags=mage"]
  }
}
Description
No description provided
Readme 157 KiB
Languages
Go 100%