// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "termsOfService": "http://swagger.io/terms/",
        "contact": {
            "name": "安知鱼",
            "url": "https://github.com/anzhiyu-c/anheyu-app",
            "email": "support@anheyu.com"
        },
        "license": {
            "name": "MIT",
            "url": "https://opensource.org/licenses/MIT"
        },
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/admin/user-groups": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取系统中所有用户组",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "管理员-用户管理"
                ],
                "summary": "获取用户组列表",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/user_handler.UserGroupDTO"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/admin/users": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "管理员分页查询用户列表，支持搜索和筛选",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "管理员-用户管理"
                ],
                "summary": "管理员获取用户列表",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "页码，默认1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "每页数量，默认10",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "搜索关键词（用户名、昵称、邮箱）",
                        "name": "keyword",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "用户组ID筛选",
                        "name": "groupID",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "用户状态筛选（1:正常 2:未激活 3:已封禁）",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "查询成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/user_handler.AdminListUsersResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "管理员创建新用户",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "管理员-用户管理"
                ],
                "summary": "管理员创建用户",
                "parameters": [
                    {
                        "description": "用户信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user_handler.AdminCreateUserRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "创建成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/user_handler.AdminUserDTO"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/admin/users/:id": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "管理员更新用户信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "管理员-用户管理"
                ],
                "summary": "管理员更新用户",
                "parameters": [
                    {
                        "type": "string",
                        "description": "用户ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "用户信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user_handler.AdminUpdateUserRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "管理员删除用户（软删除）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "管理员-用户管理"
                ],
                "summary": "管理员删除用户",
                "parameters": [
                    {
                        "type": "string",
                        "description": "用户ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "删除成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/admin/users/:id/reset-password": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "管理员重置指定用户的密码",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "管理员-用户管理"
                ],
                "summary": "管理员重置用户密码",
                "parameters": [
                    {
                        "type": "string",
                        "description": "用户ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "新密码",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user_handler.AdminResetPasswordRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "重置成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/admin/users/:id/status": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "管理员更新指定用户的状态（1:正常 2:未激活 3:已封禁）",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "管理员-用户管理"
                ],
                "summary": "管理员更新用户状态",
                "parameters": [
                    {
                        "type": "string",
                        "description": "用户ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "用户状态",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user_handler.AdminUpdateUserStatusRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/albums": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取相册图片列表，支持分页、标签筛选、时间筛选和排序",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "相册管理"
                ],
                "summary": "获取相册图片列表",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "每页数量",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "标签筛选",
                        "name": "tag",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "开始时间 (2006/01/02 15:04:05)",
                        "name": "createdAt[0]",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "结束时间 (2006/01/02 15:04:05)",
                        "name": "createdAt[1]",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "display_order_asc",
                        "description": "排序方式",
                        "name": "sort",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "新增图片到相册",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "相册管理"
                ],
                "summary": "新增相册图片",
                "parameters": [
                    {
                        "description": "图片信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "bigImageUrl": {
                                    "type": "string"
                                },
                                "bigParam": {
                                    "type": "string"
                                },
                                "displayOrder": {
                                    "type": "integer"
                                },
                                "downloadUrl": {
                                    "type": "string"
                                },
                                "fileHash": {
                                    "type": "string"
                                },
                                "fileSize": {
                                    "type": "integer"
                                },
                                "format": {
                                    "type": "string"
                                },
                                "height": {
                                    "type": "integer"
                                },
                                "imageUrl": {
                                    "type": "string"
                                },
                                "tags": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "thumbParam": {
                                    "type": "string"
                                },
                                "width": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "添加成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "添加失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/albums/{id}": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新相册中图片的信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "相册管理"
                ],
                "summary": "更新相册图片",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "图片ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "图片信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "bigImageUrl": {
                                    "type": "string"
                                },
                                "bigParam": {
                                    "type": "string"
                                },
                                "displayOrder": {
                                    "type": "integer"
                                },
                                "downloadUrl": {
                                    "type": "string"
                                },
                                "imageUrl": {
                                    "type": "string"
                                },
                                "tags": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "thumbParam": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误或ID非法",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "更新失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID删除相册中的图片",
                "tags": [
                    "相册管理"
                ],
                "summary": "删除相册图片",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "图片ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "删除成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "ID非法",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "删除失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/articles": {
            "get": {
                "description": "根据查询参数获取分页的文章列表",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章管理"
                ],
                "summary": "获取文章列表",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "每页数量",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "搜索关键词 (标题或摘要)",
                        "name": "query",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "DRAFT",
                            "PUBLISHED",
                            "ARCHIVED"
                        ],
                        "type": "string",
                        "description": "文章状态 (DRAFT, PUBLISHED, ARCHIVED)",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.ArticleListResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "description": "根据提供的请求体创建一个新文章。总字数、阅读时长和IP属地由后端自动计算。",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章管理"
                ],
                "summary": "创建新文章",
                "parameters": [
                    {
                        "description": "创建文章的请求体",
                        "name": "article",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.CreateArticleRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.ArticleResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/articles/upload": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "上传文章中使用的图片文件",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章管理"
                ],
                "summary": "上传文章图片",
                "parameters": [
                    {
                        "type": "file",
                        "description": "图片文件",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "上传成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "file_id": {
                                                    "type": "string"
                                                },
                                                "url": {
                                                    "type": "string"
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "无效的文件上传请求",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "图片上传失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/articles/{id}": {
            "get": {
                "description": "根据文章的公共ID获取详细信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章管理"
                ],
                "summary": "获取单篇文章",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文章的公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.ArticleResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "文章ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文章未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "put": {
                "description": "根据文章ID和请求体更新文章信息。如果内容更新，总字数和阅读时长会自动重新计算。如果IP属地留空，则由后端自动获取。",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章管理"
                ],
                "summary": "更新文章",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文章的公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "更新文章的请求体",
                        "name": "article",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.UpdateArticleRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.ArticleResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "description": "根据文章的公共ID删除文章 (软删除)",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章管理"
                ],
                "summary": "删除文章",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文章的公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "文章ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/auth/activate": {
            "post": {
                "description": "通过激活链接激活用户账号",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户认证"
                ],
                "summary": "激活用户账号",
                "parameters": [
                    {
                        "description": "激活信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "publicUserId": {
                                    "type": "string"
                                },
                                "sign": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "账户已成功激活",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误或激活链接无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "激活失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/auth/check-email": {
            "get": {
                "description": "检查邮箱是否已被注册",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户认证"
                ],
                "summary": "检查邮箱",
                "parameters": [
                    {
                        "type": "string",
                        "description": "邮箱地址",
                        "name": "email",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "查询成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "exists": {
                                                    "type": "boolean"
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "缺少email参数",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "查询失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/auth/forgot-password": {
            "post": {
                "description": "请求发送密码重置邮件",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户认证"
                ],
                "summary": "忘记密码",
                "parameters": [
                    {
                        "description": "邮箱地址",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "email": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "如果该邮箱已注册，将收到重置邮件",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "邮箱格式不正确",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/auth/login": {
            "post": {
                "description": "用户通过邮箱和密码进行登录",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户认证"
                ],
                "summary": "用户登录",
                "parameters": [
                    {
                        "description": "登录信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth_handler.LoginRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "登录成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "accessToken": {
                                                    "type": "string"
                                                },
                                                "expires": {
                                                    "type": "string"
                                                },
                                                "refreshToken": {
                                                    "type": "string"
                                                },
                                                "roles": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "userInfo": {
                                                    "$ref": "#/definitions/auth_handler.LoginUserInfoResponse"
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "邮箱或密码格式不正确",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "认证失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/auth/refresh": {
            "post": {
                "description": "使用刷新令牌获取新的访问令牌",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户认证"
                ],
                "summary": "刷新访问令牌",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Bearer {refresh_token}",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "刷新令牌（可选，优先使用Header）",
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "refreshToken": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "刷新成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "accessToken": {
                                                    "type": "string"
                                                },
                                                "expires": {
                                                    "type": "string"
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "未提供RefreshToken或令牌无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/auth/register": {
            "post": {
                "description": "创建新用户账号",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户认证"
                ],
                "summary": "用户注册",
                "parameters": [
                    {
                        "description": "注册信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth_handler.RegisterRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "注册成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/auth/reset-password": {
            "post": {
                "description": "通过重置链接设置新密码",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户认证"
                ],
                "summary": "重置密码",
                "parameters": [
                    {
                        "description": "重置信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "password": {
                                    "type": "string"
                                },
                                "publicUserId": {
                                    "type": "string"
                                },
                                "repeatPassword": {
                                    "type": "string"
                                },
                                "sign": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "密码重置成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误、链接无效或两次密码不一致",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "重置失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/comments": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据多种条件分页查询评论",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "评论管理"
                ],
                "summary": "管理员查询评论列表",
                "parameters": [
                    {
                        "type": "string",
                        "description": "按评论内容模糊搜索。",
                        "name": "content",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "按邮箱模糊搜索。",
                        "name": "email",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "按IP地址模糊搜索。",
                        "name": "ip_address",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "按昵称模糊搜索。",
                        "name": "nickname",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "enum": [
                            1,
                            2
                        ],
                        "type": "integer",
                        "description": "按评论状态筛选 (1: 已发布, 2: 待审核)。",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "按评论所属的目标路径模糊搜索。",
                        "name": "target_path",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据评论的公共ID批量删除评论",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "评论管理"
                ],
                "summary": "管理员批量删除评论",
                "parameters": [
                    {
                        "description": "删除请求，包含ID列表",
                        "name": "delete_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.DeleteRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应，返回删除的数量",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "integer"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/comments/{id}/pin": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "设置或取消指定ID评论的置顶状态",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "评论管理"
                ],
                "summary": "管理员置顶或取消置顶评论",
                "parameters": [
                    {
                        "type": "string",
                        "description": "评论的公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "置顶请求",
                        "name": "pin_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.SetPinRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应，返回更新后的评论对象",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.Response"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "评论不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/comments/{id}/status": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新指定ID的评论的状态（例如，通过审核发布或设为待审核）",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "评论管理"
                ],
                "summary": "管理员更新评论状态",
                "parameters": [
                    {
                        "type": "string",
                        "description": "评论的公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "新的状态 (1: 已发布, 2: 待审核)",
                        "name": "status_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdateStatusRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应，返回更新后的评论对象",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.Response"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "评论不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/direct-links": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "为一个或多个文件生成公开的直接下载链接",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "直链管理"
                ],
                "summary": "获取或创建文件直链",
                "parameters": [
                    {
                        "description": "文件ID列表",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/direct_link.CreateDirectLinksRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/direct_link.DirectLinkResponseItem"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/f/{publicID}/{filename}": {
            "get": {
                "description": "通过直链ID下载文件（无需认证）",
                "produces": [
                    "application/octet-stream"
                ],
                "tags": [
                    "直链管理"
                ],
                "summary": "直链下载",
                "parameters": [
                    {
                        "type": "string",
                        "description": "直链公共ID",
                        "name": "publicID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "文件名（可选）",
                        "name": "filename",
                        "in": "path"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "文件内容",
                        "schema": {
                            "type": "file"
                        }
                    },
                    "302": {
                        "description": "重定向到云存储下载链接",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "直链未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "下载失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/content/{publicID}": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "通过文件ID和URI更新文件内容",
                "consumes": [
                    "application/octet-stream"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "更新文件内容",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文件公共ID",
                        "name": "publicID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "文件URI",
                        "name": "uri",
                        "in": "query",
                        "required": true
                    },
                    {
                        "description": "文件内容",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "文件内容更新成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "缺少参数",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "访问被拒绝",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文件未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "409": {
                        "description": "文件位置或名称已更改，请刷新",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "更新文件内容失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/copy": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "复制一个或多个文件/文件夹到目标位置",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "复制文件/文件夹",
                "parameters": [
                    {
                        "description": "复制请求",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.CopyItemsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "复制成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效或操作无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "复制失败：无权限",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "复制失败：文件不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "409": {
                        "description": "复制失败：目标已存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "复制失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/create": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "创建空文件或空文件夹",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "创建文件/文件夹",
                "parameters": [
                    {
                        "description": "创建请求",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.CreateFileRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "创建成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "409": {
                        "description": "创建失败：文件已存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "创建失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/download-info/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取文件的下载URL和元数据信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "获取文件下载信息",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文件公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "文件ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "无权访问此文件",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文件不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/download/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "通过JWT认证下载文件",
                "produces": [
                    "application/octet-stream"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "下载文件（需认证）",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文件公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "文件内容",
                        "schema": {
                            "type": "file"
                        }
                    },
                    "400": {
                        "description": "文件ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "无权下载此文件",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文件不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "下载失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/folder-size/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "递归计算文件夹内所有文件的总大小",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "计算文件夹大小",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文件夹公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "计算成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "文件夹ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "无权访问此文件夹",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文件夹未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "计算失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/folder-tree/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取文件夹内的所有文件和子文件夹列表（用于打包下载）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "获取文件夹树",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文件夹公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "文件夹ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "无权访问此文件夹",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文件夹不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/folder-view": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新文件夹的显示视图配置（如排序方式、显示模式等）",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "更新文件夹视图配置",
                "parameters": [
                    {
                        "description": "视图配置",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.UpdateViewConfigRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "视图配置更新成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "操作失败：无权限",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "操作失败：文件夹不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "操作失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/move": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "移动一个或多个文件/文件夹到目标位置",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "移动文件/文件夹",
                "parameters": [
                    {
                        "description": "移动请求",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.MoveItemsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "移动成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效或操作无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "移动失败：无权限",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "移动失败：文件不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "409": {
                        "description": "移动失败：目标已存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "移动失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/preview-urls": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取文件所在文件夹的所有可预览文件的URL列表",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "获取文件预览URL列表",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文件公共ID",
                        "name": "id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "initialIndex": {
                                                    "type": "integer"
                                                },
                                                "urls": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "缺少id参数",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "访问被拒绝",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文件或目录未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "生成预览列表失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/rename": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "重命名文件或文件夹",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "重命名文件/文件夹",
                "parameters": [
                    {
                        "description": "重命名请求",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.RenameItemRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "重命名成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "重命名失败：无权限",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "重命名失败：项目不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "409": {
                        "description": "重命名失败：目标已存在同名文件",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "重命名失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/serve-content": {
            "get": {
                "description": "通过签名令牌访问文件内容（用于预览）",
                "produces": [
                    "application/octet-stream"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "提供签名内容",
                "parameters": [
                    {
                        "type": "string",
                        "description": "签名令牌",
                        "name": "sign",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "文件内容",
                        "schema": {
                            "type": "file"
                        }
                    },
                    "400": {
                        "description": "缺少sign参数",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "签名无效或已过期",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "资源未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "提供内容失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/upload": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "创建文件上传会话，用于分片上传",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "创建上传会话",
                "parameters": [
                    {
                        "description": "上传会话请求",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.CreateUploadRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "创建成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "目标路径不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "409": {
                        "description": "文件已存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "创建失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "取消并删除指定的上传会话",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "删除上传会话",
                "parameters": [
                    {
                        "description": "删除会话请求",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.DeleteUploadRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "上传会话已删除",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "删除失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "删除上传会话失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/upload/session/{sessionId}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取指定上传会话的状态信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "获取上传会话状态",
                "parameters": [
                    {
                        "type": "string",
                        "description": "会话ID",
                        "name": "sessionId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "会话有效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "缺少sessionId",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "无权访问此上传会话",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "上传会话不存在或已过期",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/upload/{sessionId}/{index}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "上传文件的某个分片",
                "consumes": [
                    "application/octet-stream"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "上传文件分片",
                "parameters": [
                    {
                        "type": "string",
                        "description": "会话ID",
                        "name": "sessionId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "分片索引（从0开始）",
                        "name": "index",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "分片数据",
                        "name": "chunk",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "文件块上传成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "无效的分块索引",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "文件块上传失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/file/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取单个文件或文件夹的详细信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "获取文件信息",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文件公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "文件ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "无权访问此文件",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文件不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/files": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "通过虚拟路径获取文件和文件夹列表，支持分页",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "获取文件列表",
                "parameters": [
                    {
                        "type": "string",
                        "default": "anzhiyu://my/",
                        "description": "虚拟路径URI",
                        "name": "uri",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "分页令牌",
                        "name": "next_token",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "URI格式无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "删除一个或多个文件/文件夹",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "删除文件/文件夹",
                "parameters": [
                    {
                        "description": "删除请求",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.DeleteItemsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "项目已删除",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "删除失败：无权限",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "删除失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/links": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取所有友链列表，支持分页和筛选",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "获取友链列表（管理员）",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "每页数量",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "审核状态",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.LinkListResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "管理员手动创建新友链",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "创建友链",
                "parameters": [
                    {
                        "description": "友链信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.AdminCreateLinkRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "创建成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.LinkDTO"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "创建失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/links/categories": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取所有友链分类列表，包括统计信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "获取分类列表（管理员）",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.LinkCategoryDTO"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "创建友链分类",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "创建分类",
                "parameters": [
                    {
                        "description": "分类信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.CreateLinkCategoryRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "创建成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.LinkCategoryDTO"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "创建失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/links/categories/{id}": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新友链分类信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "更新分类",
                "parameters": [
                    {
                        "type": "string",
                        "description": "分类ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "分类信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.UpdateLinkCategoryRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.LinkCategoryDTO"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "更新失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "删除友链分类",
                "tags": [
                    "友链管理"
                ],
                "summary": "删除分类",
                "parameters": [
                    {
                        "type": "string",
                        "description": "分类ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "删除成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数无效或删除失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/links/health-check": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "异步检查所有友链的可访问性（后台执行）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "检查友链健康状态",
                "responses": {
                    "200": {
                        "description": "健康检查任务已启动",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "409": {
                        "description": "健康检查正在执行中",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/links/health-check/status": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取友链健康检查任务的执行状态和结果",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "获取健康检查状态",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/link.HealthCheckStatus"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/links/import": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "批量导入友链数据（最多1000个）",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "批量导入友链",
                "parameters": [
                    {
                        "description": "导入的友链数据",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.ImportLinksRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "导入完成",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.ImportLinksResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "导入失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/links/sort": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "批量更新友链的显示顺序",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "批量更新友链排序",
                "parameters": [
                    {
                        "description": "排序信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.BatchUpdateLinkSortRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "更新失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/links/tags": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取所有友链标签列表",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "获取标签列表",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.LinkTagDTO"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "创建友链标签",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "创建标签",
                "parameters": [
                    {
                        "description": "标签信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.CreateLinkTagRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "创建成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.LinkTagDTO"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "创建失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/links/tags/{id}": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新友链标签信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "更新标签",
                "parameters": [
                    {
                        "type": "string",
                        "description": "标签ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "标签信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.UpdateLinkTagRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.LinkTagDTO"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "更新失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "删除友链标签",
                "tags": [
                    "友链管理"
                ],
                "summary": "删除标签",
                "parameters": [
                    {
                        "type": "string",
                        "description": "标签ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "删除成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数无效或删除失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/links/{id}": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "管理员更新友链信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "更新友链",
                "parameters": [
                    {
                        "type": "string",
                        "description": "友链ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "友链信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.AdminUpdateLinkRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.LinkDTO"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "更新失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "管理员删除指定友链",
                "tags": [
                    "友链管理"
                ],
                "summary": "删除友链",
                "parameters": [
                    {
                        "type": "string",
                        "description": "友链ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "删除成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "删除失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/links/{id}/review": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "管理员审核友链申请（批准/拒绝）",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友链管理"
                ],
                "summary": "审核友链",
                "parameters": [
                    {
                        "type": "string",
                        "description": "友链ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "审核信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.ReviewLinkRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "审核成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "审核失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/needcache/download/{public_id}": {
            "get": {
                "description": "通过签名链接下载文件，无需认证",
                "produces": [
                    "application/octet-stream"
                ],
                "tags": [
                    "文件管理"
                ],
                "summary": "下载文件（带签名）",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文件公共ID",
                        "name": "public_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "签名",
                        "name": "sign",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "文件内容",
                        "schema": {
                            "type": "file"
                        }
                    },
                    "403": {
                        "description": "签名无效或已过期",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文件不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "下载失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/pages": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取页面列表，支持分页和搜索",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "页面管理"
                ],
                "summary": "获取页面列表",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "每页数量",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "搜索关键词",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "是否已发布",
                        "name": "is_published",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "page": {
                                                    "type": "integer"
                                                },
                                                "pages": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/definitions/model.Page"
                                                    }
                                                },
                                                "size": {
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "type": "integer"
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "创建新的页面",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "页面管理"
                ],
                "summary": "创建页面",
                "parameters": [
                    {
                        "description": "页面信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "content": {
                                    "type": "string"
                                },
                                "description": {
                                    "type": "string"
                                },
                                "is_published": {
                                    "type": "boolean"
                                },
                                "markdown_content": {
                                    "type": "string"
                                },
                                "path": {
                                    "type": "string"
                                },
                                "sort": {
                                    "type": "integer"
                                },
                                "title": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "创建成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.Page"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "创建失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/pages/initialize": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "初始化系统默认页面（如关于、友链等）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "页面管理"
                ],
                "summary": "初始化默认页面",
                "responses": {
                    "200": {
                        "description": "初始化成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "初始化失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/pages/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID获取页面详情",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "页面管理"
                ],
                "summary": "获取页面（通过ID）",
                "parameters": [
                    {
                        "type": "string",
                        "description": "页面ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.Page"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "页面ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新指定页面的信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "页面管理"
                ],
                "summary": "更新页面",
                "parameters": [
                    {
                        "type": "string",
                        "description": "页面ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "页面信息（所有字段可选）",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "content": {
                                    "type": "string"
                                },
                                "description": {
                                    "type": "string"
                                },
                                "is_published": {
                                    "type": "boolean"
                                },
                                "markdown_content": {
                                    "type": "string"
                                },
                                "path": {
                                    "type": "string"
                                },
                                "sort": {
                                    "type": "integer"
                                },
                                "title": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.Page"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "更新失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "删除指定页面",
                "tags": [
                    "页面管理"
                ],
                "summary": "删除页面",
                "parameters": [
                    {
                        "type": "string",
                        "description": "页面ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "删除成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "页面ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "删除失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/post-categories": {
            "get": {
                "description": "获取所有文章分类",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章分类"
                ],
                "summary": "获取文章分类列表",
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.PostCategoryResponse"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的请求体创建一个新文章分类",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章分类"
                ],
                "summary": "创建新文章分类",
                "parameters": [
                    {
                        "description": "创建文章分类的请求体",
                        "name": "category",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.CreatePostCategoryRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.PostCategoryResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/post-categories/{id}": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据文章分类ID和请求体更新信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章分类"
                ],
                "summary": "更新文章分类",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文章分类ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "更新文章分类的请求体",
                        "name": "category",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.UpdatePostCategoryRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.PostCategoryResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据文章分类ID删除",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章分类"
                ],
                "summary": "删除文章分类",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文章分类ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "分类ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/post-tags": {
            "get": {
                "description": "获取所有文章标签",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章标签"
                ],
                "summary": "获取文章标签列表",
                "parameters": [
                    {
                        "type": "string",
                        "description": "排序方式，支持 'count' 或 'name'，默认为 'count'",
                        "name": "sort",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.PostTagResponse"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的请求体创建一个新文章标签",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章标签"
                ],
                "summary": "创建新文章标签",
                "parameters": [
                    {
                        "description": "创建文章标签的请求体",
                        "name": "tag",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.CreatePostTagRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.PostTagResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/post-tags/{id}": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据文章标签ID和请求体更新信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章标签"
                ],
                "summary": "更新文章标签",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文章标签ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "更新文章标签的请求体",
                        "name": "tag",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.UpdatePostTagRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.PostTagResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据文章标签ID删除",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "文章标签"
                ],
                "summary": "删除文章标签",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文章标签ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "标签ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/proxy/download": {
            "get": {
                "description": "代理下载外部资源（主要用于图片）",
                "produces": [
                    "application/octet-stream"
                ],
                "tags": [
                    "代理服务"
                ],
                "summary": "代理下载",
                "parameters": [
                    {
                        "type": "string",
                        "description": "目标URL",
                        "name": "url",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "文件内容",
                        "schema": {
                            "type": "file"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "代理失败",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "目标服务器错误",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "error": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/proxy/test": {
            "get": {
                "description": "测试代理下载服务是否正常运行",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "代理服务"
                ],
                "summary": "测试代理服务",
                "responses": {
                    "200": {
                        "description": "服务正常",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string"
                                },
                                "status": {
                                    "type": "string"
                                },
                                "timestamp": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/public/albums": {
            "get": {
                "description": "获取公开的相册图片列表，支持分页和筛选",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公共接口"
                ],
                "summary": "获取公开相册列表",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 12,
                        "description": "每页数量",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "标签筛选",
                        "name": "tag",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "开始时间",
                        "name": "createdAt[0]",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "结束时间",
                        "name": "createdAt[1]",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "display_order_asc",
                        "description": "排序方式",
                        "name": "sort",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/albums/{id}/stat": {
            "post": {
                "description": "更新相册图片的访问量或下载量",
                "tags": [
                    "公共接口"
                ],
                "summary": "更新相册统计",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "图片ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "统计类型: view 或 download",
                        "name": "type",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "无效的ID或统计类型",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "更新失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/articles": {
            "get": {
                "description": "获取公开的、分页的文章列表。结果按置顶优先级和创建时间排序。",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开文章"
                ],
                "summary": "获取前台文章列表",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "每页数量",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "分类名称",
                        "name": "category",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "标签名称",
                        "name": "tag",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "年份",
                        "name": "year",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "月份",
                        "name": "month",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.ArticleListResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/articles/archives": {
            "get": {
                "description": "获取按年月分组的文章统计信息，用于侧边栏展示。",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开文章"
                ],
                "summary": "获取文章归档摘要",
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.ArchiveSummaryResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/articles/home": {
            "get": {
                "description": "获取配置为在首页卡片中展示的文章列表 (按 home_sort 排序, 最多6篇)",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开文章"
                ],
                "summary": "获取首页推荐文章",
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.ArticleResponse"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/articles/random": {
            "get": {
                "description": "随机获取一篇已发布的文章的详细信息，用于“随便看看”等功能。",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开文章"
                ],
                "summary": "随机获取一篇文章",
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.ArticleResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "404": {
                        "description": "没有找到已发布的文章",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/articles/{id}": {
            "get": {
                "description": "根据文章的公共ID或Abbrlink获取详细信息，同时返回上一篇、下一篇和相关文章。",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开文章"
                ],
                "summary": "获取单篇公开文章及其上下文",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文章的公共ID或Abbrlink",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.ArticleDetailResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "404": {
                        "description": "文章未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/comments": {
            "get": {
                "description": "分页获取指定路径下的根评论，并附带其所有子评论",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开评论"
                ],
                "summary": "获取指定路径的评论列表（分页）",
                "parameters": [
                    {
                        "type": "string",
                        "description": "目标路径 (例如 /posts/some-slug)",
                        "name": "target_path",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "每页数量",
                        "name": "pageSize",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "description": "为指定路径的页面创建一条新评论，可以是根评论或回复",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开评论"
                ],
                "summary": "创建新评论",
                "parameters": [
                    {
                        "description": "创建评论的请求体",
                        "name": "comment_request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.Response"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/comments/latest": {
            "get": {
                "description": "分页获取全站所有最新的已发布评论",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开评论"
                ],
                "summary": "公开获取最新评论列表",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "每页数量",
                        "name": "pageSize",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/comments/upload": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "上传一张图片，用于插入到评论中。返回图片的内部URI。",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开评论"
                ],
                "summary": "上传评论图片",
                "parameters": [
                    {
                        "type": "file",
                        "description": "图片文件",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应，返回文件信息",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.UploadImageResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求错误，例如没有上传文件",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/comments/{id}/children": {
            "get": {
                "description": "分页获取指定根评论下的所有回复评论",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开评论"
                ],
                "summary": "获取指定评论的子评论列表（分页）",
                "parameters": [
                    {
                        "type": "string",
                        "description": "父评论的公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "每页数量",
                        "name": "pageSize",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/comments/{id}/like": {
            "post": {
                "description": "为指定ID的评论增加一次点赞",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开评论"
                ],
                "summary": "点赞评论",
                "parameters": [
                    {
                        "type": "string",
                        "description": "评论的公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应，返回最新的点赞数",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "integer"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/comments/{id}/unlike": {
            "post": {
                "description": "为指定ID的评论减少一次点赞",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开评论"
                ],
                "summary": "取消点赞评论",
                "parameters": [
                    {
                        "type": "string",
                        "description": "评论的公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应，返回最新的点赞数",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "integer"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器内部错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/link-categories": {
            "get": {
                "description": "获取包含已批准友链的分类列表",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友情链接"
                ],
                "summary": "获取公开分类列表",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.LinkCategoryDTO"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/links": {
            "get": {
                "description": "获取所有已批准的友链列表，支持按分类和标签筛选",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友情链接"
                ],
                "summary": "获取公开友链列表",
                "parameters": [
                    {
                        "type": "string",
                        "description": "分类ID",
                        "name": "category_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "标签ID",
                        "name": "tag_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.LinkDTO"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "description": "前台用户提交友链申请，等待管理员审核",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友情链接"
                ],
                "summary": "申请友链",
                "parameters": [
                    {
                        "description": "友链申请信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.ApplyLinkRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "申请已提交",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "申请失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/links/random": {
            "get": {
                "description": "随机获取指定数量的已批准友链",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "友情链接"
                ],
                "summary": "随机获取友链",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 0,
                        "description": "获取数量，0表示全部",
                        "name": "num",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.LinkDTO"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/music/playlist": {
            "get": {
                "description": "获取配置的音乐播放列表，支持缓存参数防止缓存",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "音乐播放"
                ],
                "summary": "获取音乐播放列表",
                "parameters": [
                    {
                        "type": "string",
                        "description": "随机参数，用于防止缓存",
                        "name": "r",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "songs": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/definitions/music.Song"
                                                    }
                                                },
                                                "total": {
                                                    "type": "integer"
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "服务器错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/music/song-resources": {
            "post": {
                "description": "根据网易云歌曲ID获取音频URL和歌词内容，自动尝试高质量资源",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "音乐播放"
                ],
                "summary": "获取歌曲资源",
                "parameters": [
                    {
                        "description": "网易云歌曲ID",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/music_handler.GetSongResourcesRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/music.SongResourceResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "服务器错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/pages/{path}": {
            "get": {
                "description": "根据路径获取已发布的页面详情",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "公开页面"
                ],
                "summary": "获取页面（通过路径）",
                "parameters": [
                    {
                        "type": "string",
                        "description": "页面路径",
                        "name": "path",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.Page"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "页面路径不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "页面不存在",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/search": {
            "get": {
                "description": "全站搜索文章、页面等内容",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "全站搜索"
                ],
                "summary": "搜索",
                "parameters": [
                    {
                        "type": "string",
                        "description": "搜索关键词",
                        "name": "q",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "每页数量",
                        "name": "size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "搜索成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "搜索关键词不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "搜索失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/site-config": {
            "get": {
                "description": "获取公开的站点配置信息（无需认证）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "站点设置"
                ],
                "summary": "获取站点配置",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/statistics/basic": {
            "get": {
                "description": "获取今日、昨日、月、年访问统计数据",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "访问统计"
                ],
                "summary": "获取基础统计数据",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.VisitorStatistics"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/statistics/visit": {
            "post": {
                "description": "记录用户访问行为",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "访问统计"
                ],
                "summary": "记录访问",
                "parameters": [
                    {
                        "description": "访问记录请求",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/model.VisitorLogRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "记录成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "记录失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/theme/market": {
            "get": {
                "description": "获取主题商城中的所有可用主题",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题商城"
                ],
                "summary": "获取主题商城列表",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/theme.ThemeMarketListResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/public/version": {
            "get": {
                "description": "获取应用的详细版本信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "辅助工具"
                ],
                "summary": "获取版本信息",
                "responses": {
                    "200": {
                        "description": "版本信息",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "integer"
                                },
                                "data": {
                                    "type": "object"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/public/version/string": {
            "get": {
                "description": "获取应用的版本号字符串",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "辅助工具"
                ],
                "summary": "获取版本字符串",
                "responses": {
                    "200": {
                        "description": "版本字符串",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "version": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/robots.txt": {
            "get": {
                "description": "获取搜索引擎爬虫规则文件",
                "produces": [
                    "text/plain"
                ],
                "tags": [
                    "辅助工具"
                ],
                "summary": "获取robots.txt",
                "responses": {
                    "200": {
                        "description": "robots.txt内容",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "生成失败",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/rss.xml": {
            "get": {
                "description": "获取网站的RSS订阅源（XML格式）",
                "produces": [
                    "text/xml"
                ],
                "tags": [
                    "辅助工具"
                ],
                "summary": "获取RSS订阅源",
                "responses": {
                    "200": {
                        "description": "RSS XML内容",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "生成RSS feed失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/settings/get-by-keys": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据键名列表批量获取配置项（需要管理员权限）",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "站点设置"
                ],
                "summary": "批量获取配置",
                "parameters": [
                    {
                        "description": "配置键名列表",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/setting_handler.GetSettingsByKeysReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/settings/test-email": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "根据当前配置发送一封测试邮件到指定地址，用于验证邮件服务是否可用。",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设置管理"
                ],
                "summary": "发送测试邮件",
                "parameters": [
                    {
                        "description": "测试邮件请求",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.TestEmailRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功发送",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "邮件发送失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/settings/update": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "批量更新站点配置项（需要管理员权限）",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "站点设置"
                ],
                "summary": "批量更新配置",
                "parameters": [
                    {
                        "description": "配置项键值对",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "更新失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/sitemap.xml": {
            "get": {
                "description": "获取XML格式的站点地图",
                "produces": [
                    "text/xml"
                ],
                "tags": [
                    "辅助工具"
                ],
                "summary": "获取站点地图",
                "responses": {
                    "200": {
                        "description": "XML格式的站点地图",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "生成失败",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/statistics/analytics": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取指定时间范围内的访客分析数据（默认最近7天）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "统计管理"
                ],
                "summary": "获取访客分析数据",
                "parameters": [
                    {
                        "type": "string",
                        "description": "开始日期 (YYYY-MM-DD)",
                        "name": "start_date",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "结束日期 (YYYY-MM-DD)",
                        "name": "end_date",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.VisitorAnalytics"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "日期格式错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/statistics/summary": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取完整的统计概览数据，包括基础统计、热门页面、访客分析、趋势数据等",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "统计管理"
                ],
                "summary": "获取统计概览",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/statistics.StatisticsSummary"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/statistics/top-pages": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取访问量最高的页面列表（最多100个）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "统计管理"
                ],
                "summary": "获取热门页面",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "返回数量限制",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.URLStatistics"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/statistics/trend": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取指定时间段的访客趋势数据（最多365天）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "统计管理"
                ],
                "summary": "获取访客趋势数据",
                "parameters": [
                    {
                        "type": "string",
                        "default": "daily",
                        "description": "时间周期 (daily/weekly/monthly)",
                        "name": "period",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 30,
                        "description": "查询天数",
                        "name": "days",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/model.VisitorTrendData"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/statistics/visitor-logs": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取指定时间范围内的访客访问日志，支持分页（默认最近7天，每页最多200条）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "统计管理"
                ],
                "summary": "获取访客访问日志",
                "parameters": [
                    {
                        "type": "string",
                        "description": "开始日期 (YYYY-MM-DD)",
                        "name": "start_date",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "结束日期 (YYYY-MM-DD)",
                        "name": "end_date",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码，从1开始",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 20,
                        "description": "每页数量",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "list": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "city": {
                                                                "type": "string"
                                                            },
                                                            "created_at": {
                                                                "type": "string"
                                                            },
                                                            "duration": {
                                                                "type": "integer"
                                                            },
                                                            "ip_address": {
                                                                "type": "string"
                                                            },
                                                            "url_path": {
                                                                "type": "string"
                                                            },
                                                            "user_agent": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    }
                                                },
                                                "page": {
                                                    "type": "integer"
                                                },
                                                "page_size": {
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "type": "integer"
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "日期格式错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/storage-policies": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取存储策略列表，支持分页",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "存储策略"
                ],
                "summary": "获取存储策略列表",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 1,
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "每页数量",
                        "name": "pageSize",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/storage_policy_handler.PolicyListResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "分页参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "创建新的存储策略",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "存储策略"
                ],
                "summary": "创建存储策略",
                "parameters": [
                    {
                        "description": "存储策略信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/storage_policy_handler.CreatePolicyRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "创建成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "创建失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/storage-policies/onedrive/authorize": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "使用授权码完成OneDrive OAuth流程",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "存储策略"
                ],
                "summary": "完成OneDrive授权",
                "parameters": [
                    {
                        "description": "授权信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/storage_policy_handler.AuthorizeRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "授权成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "授权处理失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/storage-policies/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID获取存储策略详情",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "存储策略"
                ],
                "summary": "获取存储策略",
                "parameters": [
                    {
                        "type": "string",
                        "description": "策略公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "策略未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新存储策略信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "存储策略"
                ],
                "summary": "更新存储策略",
                "parameters": [
                    {
                        "type": "string",
                        "description": "策略公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "策略信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/storage_policy_handler.UpdatePolicyRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数无效或ID格式错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "更新失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID删除存储策略",
                "tags": [
                    "存储策略"
                ],
                "summary": "删除存储策略",
                "parameters": [
                    {
                        "type": "string",
                        "description": "策略公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "删除成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "ID不能为空",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "删除失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/storage-policies/{id}/onedrive/connect": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "生成OneDrive OAuth授权链接",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "存储策略"
                ],
                "summary": "获取OneDrive授权链接",
                "parameters": [
                    {
                        "type": "string",
                        "description": "策略公共ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "url": {
                                                    "type": "string"
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "策略不支持授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "策略未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "生成失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/t/{signedToken}": {
            "get": {
                "description": "通过签名令牌访问缩略图文件内容",
                "produces": [
                    "application/octet-stream"
                ],
                "tags": [
                    "缩略管理"
                ],
                "summary": "访问缩略图内容",
                "parameters": [
                    {
                        "type": "string",
                        "description": "签名令牌",
                        "name": "signedToken",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "缩略图内容",
                        "schema": {
                            "type": "file"
                        }
                    },
                    "403": {
                        "description": "签名无效或已过期",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "资源未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "提供内容失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/theme/current": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取用户当前使用的主题信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题管理"
                ],
                "summary": "获取当前主题",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/theme.ThemeInfo"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/theme/fix-status": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "修复用户主题的当前状态数据一致性，解决多个主题同时标记为当前使用的问题",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题管理"
                ],
                "summary": "修复主题状态",
                "responses": {
                    "200": {
                        "description": "修复成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "修复失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/theme/install": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "从指定URL下载并安装主题（主题名必须以theme-开头）",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题管理"
                ],
                "summary": "安装主题",
                "parameters": [
                    {
                        "description": "主题安装请求",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/github_com_anzhiyu-c_anheyu-app_pkg_service_theme.ThemeInstallRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "安装成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "安装失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/theme/installed": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取用户已安装的所有主题",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题管理"
                ],
                "summary": "获取已安装主题列表",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/theme.ThemeInfo"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/theme/official": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "切换到官方内嵌主题",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题管理"
                ],
                "summary": "切换到官方主题",
                "responses": {
                    "200": {
                        "description": "切换成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "切换失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/theme/static-mode": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "检查当前是否处于静态主题模式（是否存在static目录）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题管理"
                ],
                "summary": "检查静态模式",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/theme.StaticModeResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/theme/switch": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "切换到指定的已安装主题或官方主题",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题管理"
                ],
                "summary": "切换主题",
                "parameters": [
                    {
                        "description": "切换主题请求",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/theme.SwitchThemeRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "切换成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "切换失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/theme/uninstall": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "卸载指定的主题（不能卸载当前使用的主题）",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题管理"
                ],
                "summary": "卸载主题",
                "parameters": [
                    {
                        "description": "卸载主题请求",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/theme.UninstallThemeRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "卸载成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "卸载失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/theme/upload": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "上传主题压缩包文件（ZIP格式，最大50MB），系统会自动解析theme.json并安装主题",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题管理"
                ],
                "summary": "上传主题压缩包",
                "parameters": [
                    {
                        "type": "file",
                        "description": "主题压缩包文件",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "是否强制更新",
                        "name": "force_update",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "上传成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/theme.ThemeUploadResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "上传失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/theme/validate": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "验证主题压缩包的格式和内容是否符合规范",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "主题管理"
                ],
                "summary": "验证主题压缩包",
                "parameters": [
                    {
                        "type": "file",
                        "description": "主题压缩包文件",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "验证成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "验证失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/thumbnail/regenerate": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "手动触发单个文件的缩略图重新生成",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "缩略管理"
                ],
                "summary": "重新生成缩略图",
                "parameters": [
                    {
                        "description": "文件公共ID",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "任务已启动",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "访问被拒绝",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文件未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "重置失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/thumbnail/regenerate-directory": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "为指定目录下的所有文件重新生成缩略图",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "缩略管理"
                ],
                "summary": "批量重新生成缩略图",
                "parameters": [
                    {
                        "description": "目录公共ID",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "directoryId": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "批量任务已启动",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "请求参数无效或目标不是文件夹",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "目录未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取文件列表失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/thumbnail/sign/{publicID}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取文件缩略图的访问签名，如果缩略图未就绪会触发生成",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "缩略管理"
                ],
                "summary": "获取缩略图签名",
                "parameters": [
                    {
                        "type": "string",
                        "description": "文件公共ID",
                        "name": "publicID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "签名获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "expires": {
                                                    "type": "string"
                                                },
                                                "obfuscated": {
                                                    "type": "boolean"
                                                },
                                                "sign": {
                                                    "type": "string"
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "202": {
                        "description": "缩略图生成中",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string"
                                                }
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "无效的文件ID",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "403": {
                        "description": "访问被拒绝",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "文件未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "获取失败",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/user/info": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取当前登录用户的详细信息，包括用户组信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户管理"
                ],
                "summary": "获取当前用户信息",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/user_handler.GetUserInfoResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "用户未找到",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/user/profile": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "当前登录用户更新自己的基本信息（昵称、网站等）",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户管理"
                ],
                "summary": "更新用户信息",
                "parameters": [
                    {
                        "description": "用户信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user_handler.UpdateUserProfileRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/user/update-password": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "当前登录用户修改自己的密码",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户管理"
                ],
                "summary": "修改用户密码",
                "parameters": [
                    {
                        "description": "密码修改信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/user_handler.UpdateUserPasswordRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "修改成功",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "参数错误",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "旧密码错误或未授权",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "auth_handler.LoginRequest": {
            "type": "object",
            "required": [
                "email",
                "password"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                }
            }
        },
        "auth_handler.LoginUserInfoResponse": {
            "type": "object",
            "properties": {
                "avatar": {
                    "description": "头像URL",
                    "type": "string"
                },
                "created_at": {
                    "description": "创建时间",
                    "type": "string"
                },
                "email": {
                    "description": "邮箱",
                    "type": "string"
                },
                "id": {
                    "description": "用户的公共ID",
                    "type": "string"
                },
                "lastLoginAt": {
                    "description": "最后登录时间",
                    "type": "string"
                },
                "nickname": {
                    "description": "昵称",
                    "type": "string"
                },
                "status": {
                    "description": "用户状态",
                    "type": "integer"
                },
                "updated_at": {
                    "description": "更新时间",
                    "type": "string"
                },
                "userGroup": {
                    "description": "用户的用户组信息 (嵌套 DTO)",
                    "allOf": [
                        {
                            "$ref": "#/definitions/auth_handler.UserGroupResponse"
                        }
                    ]
                },
                "userGroupID": {
                    "description": "用户组ID (原始的数据库ID，根据需求决定是否暴露)",
                    "type": "integer"
                },
                "username": {
                    "description": "用户名",
                    "type": "string"
                }
            }
        },
        "auth_handler.RegisterRequest": {
            "type": "object",
            "required": [
                "email",
                "password",
                "repeat_password"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string",
                    "minLength": 6
                },
                "repeat_password": {
                    "type": "string"
                }
            }
        },
        "auth_handler.UserGroupResponse": {
            "type": "object",
            "properties": {
                "description": {
                    "description": "用户组描述",
                    "type": "string"
                },
                "id": {
                    "description": "用户组的公共ID，改为 string 类型",
                    "type": "string"
                },
                "name": {
                    "description": "用户组名称",
                    "type": "string"
                }
            }
        },
        "direct_link.CreateDirectLinksRequest": {
            "type": "object",
            "required": [
                "file_ids"
            ],
            "properties": {
                "file_ids": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "direct_link.DirectLinkResponseItem": {
            "type": "object",
            "properties": {
                "file_url": {
                    "type": "string"
                },
                "link": {
                    "type": "string"
                }
            }
        },
        "dto.CreateRequest": {
            "type": "object",
            "required": [
                "content",
                "nickname",
                "target_path"
            ],
            "properties": {
                "allow_notification": {
                    "description": "是否允许接收邮件通知。",
                    "type": "boolean"
                },
                "content": {
                    "description": "评论的 Markdown 原文内容。",
                    "type": "string",
                    "maxLength": 1000,
                    "minLength": 1
                },
                "email": {
                    "description": "评论者的邮箱，用于接收回复通知。",
                    "type": "string"
                },
                "is_anonymous": {
                    "description": "是否为匿名评论（前端明确标识）。",
                    "type": "boolean"
                },
                "nickname": {
                    "description": "评论者的昵称。",
                    "type": "string",
                    "maxLength": 50,
                    "minLength": 2
                },
                "parent_id": {
                    "description": "父评论的公共ID，用于实现回复功能。如果为顶级评论，则此项为 null。",
                    "type": "string"
                },
                "target_path": {
                    "description": "评论所属的目标路径，例如文章的 \"/posts/my-first-article\" 或关于页面的 \"/about\"",
                    "type": "string",
                    "maxLength": 255
                },
                "target_title": {
                    "description": "目标页面的标题，可选。前端可以传递此参数，以便在后台管理中更直观地展示。",
                    "type": "string",
                    "maxLength": 255
                },
                "website": {
                    "description": "评论者的个人网站。",
                    "type": "string"
                }
            }
        },
        "dto.DeleteRequest": {
            "type": "object",
            "required": [
                "ids"
            ],
            "properties": {
                "ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "dto.ListResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.Response"
                    }
                },
                "page": {
                    "type": "integer"
                },
                "pageSize": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.Response": {
            "type": "object",
            "properties": {
                "children": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.Response"
                    }
                },
                "content": {
                    "description": "Markdown原文",
                    "type": "string"
                },
                "content_html": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "email": {
                    "description": "--- 仅限管理员视图的字段 ---",
                    "type": "string"
                },
                "email_md5": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "ip_address": {
                    "type": "string"
                },
                "ip_location": {
                    "type": "string"
                },
                "is_admin_comment": {
                    "type": "boolean"
                },
                "is_anonymous": {
                    "type": "boolean"
                },
                "like_count": {
                    "type": "integer"
                },
                "nickname": {
                    "type": "string"
                },
                "parent_id": {
                    "type": "string"
                },
                "pinned_at": {
                    "type": "string"
                },
                "reply_to_nick": {
                    "type": "string"
                },
                "status": {
                    "type": "integer"
                },
                "target_path": {
                    "description": "返回评论所属的路径",
                    "type": "string"
                },
                "target_title": {
                    "description": "返回目标页面的标题",
                    "type": "string"
                },
                "total_children": {
                    "type": "integer"
                },
                "user_agent": {
                    "type": "string"
                },
                "website": {
                    "type": "string"
                }
            }
        },
        "dto.SetPinRequest": {
            "type": "object",
            "required": [
                "pinned"
            ],
            "properties": {
                "pinned": {
                    "type": "boolean"
                }
            }
        },
        "dto.TestEmailRequest": {
            "type": "object",
            "required": [
                "to_email"
            ],
            "properties": {
                "to_email": {
                    "type": "string"
                }
            }
        },
        "dto.UpdateStatusRequest": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "1: 已发布, 2: 待审核",
                    "type": "integer",
                    "enum": [
                        1,
                        2
                    ]
                }
            }
        },
        "dto.UploadImageResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                }
            }
        },
        "github_com_anzhiyu-c_anheyu-app_pkg_service_theme.ThemeInstallRequest": {
            "type": "object",
            "properties": {
                "download_url": {
                    "type": "string"
                },
                "market_id": {
                    "type": "integer"
                },
                "theme_name": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "link.HealthCheckStatus": {
            "type": "object",
            "properties": {
                "end_time": {
                    "type": "string"
                },
                "error": {
                    "type": "string"
                },
                "is_running": {
                    "type": "boolean"
                },
                "result": {
                    "$ref": "#/definitions/model.LinkHealthCheckResponse"
                },
                "start_time": {
                    "type": "string"
                }
            }
        },
        "model.AdminCreateLinkRequest": {
            "type": "object",
            "required": [
                "category_id",
                "name",
                "status",
                "url"
            ],
            "properties": {
                "category_id": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "logo": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "siteshot": {
                    "type": "string"
                },
                "skip_health_check": {
                    "type": "boolean"
                },
                "sort_order": {
                    "type": "integer"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "PENDING",
                        "APPROVED",
                        "REJECTED",
                        "INVALID"
                    ]
                },
                "tag_id": {
                    "description": "改为单个标签，可选",
                    "type": "integer"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "model.AdminUpdateLinkRequest": {
            "type": "object",
            "required": [
                "category_id",
                "name",
                "status",
                "url"
            ],
            "properties": {
                "category_id": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "logo": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "siteshot": {
                    "type": "string"
                },
                "skip_health_check": {
                    "type": "boolean"
                },
                "sort_order": {
                    "type": "integer"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "PENDING",
                        "APPROVED",
                        "REJECTED",
                        "INVALID"
                    ]
                },
                "tag_id": {
                    "description": "改为单个标签，可选",
                    "type": "integer"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "model.ApplyLinkRequest": {
            "type": "object",
            "required": [
                "name",
                "url"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "logo": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "siteshot": {
                    "description": "网站快照URL，可选字段",
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "model.ArchiveItem": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "month": {
                    "type": "integer"
                },
                "year": {
                    "type": "integer"
                }
            }
        },
        "model.ArchiveSummaryResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.ArchiveItem"
                    }
                }
            }
        },
        "model.ArticleDetailResponse": {
            "type": "object",
            "properties": {
                "abbrlink": {
                    "type": "string"
                },
                "content_html": {
                    "type": "string"
                },
                "content_md": {
                    "type": "string"
                },
                "copyright": {
                    "type": "boolean"
                },
                "copyright_author": {
                    "type": "string"
                },
                "copyright_author_href": {
                    "type": "string"
                },
                "copyright_url": {
                    "type": "string"
                },
                "cover_url": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "home_sort": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "ip_location": {
                    "type": "string"
                },
                "is_primary_color_manual": {
                    "type": "boolean"
                },
                "next_article": {
                    "$ref": "#/definitions/model.SimpleArticleResponse"
                },
                "pin_sort": {
                    "type": "integer"
                },
                "post_categories": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.PostCategoryResponse"
                    }
                },
                "post_tags": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.PostTagResponse"
                    }
                },
                "prev_article": {
                    "$ref": "#/definitions/model.SimpleArticleResponse"
                },
                "primary_color": {
                    "type": "string"
                },
                "reading_time": {
                    "type": "integer"
                },
                "related_articles": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.SimpleArticleResponse"
                    }
                },
                "status": {
                    "type": "string"
                },
                "summaries": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "title": {
                    "type": "string"
                },
                "top_img_url": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "view_count": {
                    "type": "integer"
                },
                "word_count": {
                    "type": "integer"
                }
            }
        },
        "model.ArticleListResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.ArticleResponse"
                    }
                },
                "page": {
                    "type": "integer"
                },
                "pageSize": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "model.ArticleResponse": {
            "type": "object",
            "properties": {
                "abbrlink": {
                    "type": "string"
                },
                "content_html": {
                    "type": "string"
                },
                "content_md": {
                    "type": "string"
                },
                "copyright": {
                    "type": "boolean"
                },
                "copyright_author": {
                    "type": "string"
                },
                "copyright_author_href": {
                    "type": "string"
                },
                "copyright_url": {
                    "type": "string"
                },
                "cover_url": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "home_sort": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "ip_location": {
                    "type": "string"
                },
                "is_primary_color_manual": {
                    "type": "boolean"
                },
                "pin_sort": {
                    "type": "integer"
                },
                "post_categories": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.PostCategoryResponse"
                    }
                },
                "post_tags": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.PostTagResponse"
                    }
                },
                "primary_color": {
                    "type": "string"
                },
                "reading_time": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "summaries": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "title": {
                    "type": "string"
                },
                "top_img_url": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "view_count": {
                    "type": "integer"
                },
                "word_count": {
                    "type": "integer"
                }
            }
        },
        "model.BatchUpdateLinkSortRequest": {
            "type": "object",
            "required": [
                "items"
            ],
            "properties": {
                "items": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "$ref": "#/definitions/model.LinkSortItem"
                    }
                }
            }
        },
        "model.BrowserStats": {
            "type": "object",
            "properties": {
                "browser": {
                    "type": "string"
                },
                "count": {
                    "type": "integer"
                }
            }
        },
        "model.CityStats": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string"
                },
                "count": {
                    "type": "integer"
                }
            }
        },
        "model.ColumnType": {
            "type": "integer",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5
            ],
            "x-enum-comments": {
                "ColumnTypeCreatedAt": "创建时间",
                "ColumnTypeName": "文件名",
                "ColumnTypeOwner": "所有者",
                "ColumnTypePermissions": "权限",
                "ColumnTypeSize": "大小",
                "ColumnTypeUpdatedAt": "修改时间"
            },
            "x-enum-descriptions": [
                "文件名",
                "大小",
                "修改时间",
                "创建时间",
                "所有者",
                "权限"
            ],
            "x-enum-varnames": [
                "ColumnTypeName",
                "ColumnTypeSize",
                "ColumnTypeUpdatedAt",
                "ColumnTypeCreatedAt",
                "ColumnTypeOwner",
                "ColumnTypePermissions"
            ]
        },
        "model.CopyItemsRequest": {
            "type": "object",
            "required": [
                "destinationID",
                "sourceIDs"
            ],
            "properties": {
                "destinationID": {
                    "type": "string"
                },
                "sourceIDs": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "model.CountryStats": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "country": {
                    "type": "string"
                }
            }
        },
        "model.CreateArticleRequest": {
            "type": "object",
            "required": [
                "title"
            ],
            "properties": {
                "abbrlink": {
                    "type": "string"
                },
                "content_html": {
                    "type": "string"
                },
                "content_md": {
                    "type": "string"
                },
                "copyright": {
                    "type": "boolean"
                },
                "copyright_author": {
                    "type": "string"
                },
                "copyright_author_href": {
                    "type": "string"
                },
                "copyright_url": {
                    "type": "string"
                },
                "cover_url": {
                    "type": "string"
                },
                "home_sort": {
                    "type": "integer"
                },
                "ip_location": {
                    "type": "string"
                },
                "is_primary_color_manual": {
                    "type": "boolean"
                },
                "pin_sort": {
                    "type": "integer"
                },
                "post_category_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "post_tag_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "primary_color": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "DRAFT",
                        "PUBLISHED",
                        "ARCHIVED"
                    ]
                },
                "summaries": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "title": {
                    "type": "string"
                },
                "top_img_url": {
                    "type": "string"
                }
            }
        },
        "model.CreateFileRequest": {
            "type": "object",
            "required": [
                "type",
                "uri"
            ],
            "properties": {
                "err_on_conflict": {
                    "type": "boolean"
                },
                "type": {
                    "type": "integer",
                    "enum": [
                        1,
                        2
                    ]
                },
                "uri": {
                    "type": "string"
                }
            }
        },
        "model.CreateLinkCategoryRequest": {
            "type": "object",
            "required": [
                "name",
                "style"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "style": {
                    "type": "string",
                    "enum": [
                        "card",
                        "list"
                    ]
                }
            }
        },
        "model.CreateLinkTagRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "color": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "model.CreatePostCategoryRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "is_series": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "model.CreatePostTagRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "model.CreateUploadRequest": {
            "type": "object",
            "required": [
                "policy_id",
                "size",
                "uri"
            ],
            "properties": {
                "overwrite": {
                    "type": "boolean"
                },
                "policy_id": {
                    "type": "string"
                },
                "size": {
                    "type": "integer",
                    "minimum": 0
                },
                "uri": {
                    "type": "string"
                }
            }
        },
        "model.DateRangeStats": {
            "type": "object",
            "properties": {
                "date": {
                    "type": "string"
                },
                "views": {
                    "type": "integer"
                },
                "visitors": {
                    "type": "integer"
                }
            }
        },
        "model.DeleteItemsRequest": {
            "type": "object",
            "required": [
                "ids"
            ],
            "properties": {
                "ids": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "model.DeleteUploadRequest": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "id": {
                    "type": "string"
                }
            }
        },
        "model.DeviceStats": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "device": {
                    "type": "string"
                }
            }
        },
        "model.ImportLinkFailure": {
            "type": "object",
            "properties": {
                "link": {
                    "$ref": "#/definitions/model.ImportLinkItem"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "model.ImportLinkItem": {
            "type": "object",
            "required": [
                "name",
                "url"
            ],
            "properties": {
                "category_name": {
                    "description": "分类名称，如果不存在会自动创建",
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "logo": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "siteshot": {
                    "type": "string"
                },
                "status": {
                    "description": "默认为 PENDING",
                    "type": "string",
                    "enum": [
                        "PENDING",
                        "APPROVED",
                        "REJECTED",
                        "INVALID"
                    ]
                },
                "tag_name": {
                    "description": "标签名称，可选，如果不存在会自动创建",
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "model.ImportLinkSkipped": {
            "type": "object",
            "properties": {
                "link": {
                    "$ref": "#/definitions/model.ImportLinkItem"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "model.ImportLinksRequest": {
            "type": "object",
            "required": [
                "links"
            ],
            "properties": {
                "create_categories": {
                    "description": "是否自动创建不存在的分类",
                    "type": "boolean"
                },
                "create_tags": {
                    "description": "是否自动创建不存在的标签",
                    "type": "boolean"
                },
                "default_category_id": {
                    "description": "如果分类不存在且不允许创建时使用的默认分类ID",
                    "type": "integer"
                },
                "links": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.ImportLinkItem"
                    }
                },
                "skip_duplicates": {
                    "description": "是否跳过重复的友链（基于URL判断）",
                    "type": "boolean"
                }
            }
        },
        "model.ImportLinksResponse": {
            "type": "object",
            "properties": {
                "failed": {
                    "description": "失败的数量",
                    "type": "integer"
                },
                "failed_list": {
                    "description": "失败的友链及原因",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.ImportLinkFailure"
                    }
                },
                "skipped": {
                    "description": "跳过的数量（重复）",
                    "type": "integer"
                },
                "skipped_list": {
                    "description": "跳过的友链及原因",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.ImportLinkSkipped"
                    }
                },
                "success": {
                    "description": "成功导入的数量",
                    "type": "integer"
                },
                "success_list": {
                    "description": "成功导入的友链列表",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.LinkDTO"
                    }
                },
                "total": {
                    "description": "总共尝试导入的数量",
                    "type": "integer"
                }
            }
        },
        "model.LinkCategoryDTO": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "style": {
                    "type": "string"
                }
            }
        },
        "model.LinkDTO": {
            "type": "object",
            "properties": {
                "category": {
                    "$ref": "#/definitions/model.LinkCategoryDTO"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "logo": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "siteshot": {
                    "type": "string"
                },
                "skip_health_check": {
                    "type": "boolean"
                },
                "sort_order": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "tag": {
                    "description": "改为单个标签",
                    "allOf": [
                        {
                            "$ref": "#/definitions/model.LinkTagDTO"
                        }
                    ]
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "model.LinkHealthCheckResponse": {
            "type": "object",
            "properties": {
                "healthy": {
                    "description": "健康的友链数量",
                    "type": "integer"
                },
                "total": {
                    "description": "总共检查的友链数量",
                    "type": "integer"
                },
                "unhealthy": {
                    "description": "失联的友链数量",
                    "type": "integer"
                },
                "unhealthy_ids": {
                    "description": "失联的友链ID列表",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "model.LinkListResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.LinkDTO"
                    }
                },
                "page": {
                    "type": "integer"
                },
                "pageSize": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "model.LinkSortItem": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "id": {
                    "type": "integer"
                },
                "sort_order": {
                    "type": "integer"
                }
            }
        },
        "model.LinkTagDTO": {
            "type": "object",
            "properties": {
                "color": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "model.MoveItemsRequest": {
            "type": "object",
            "required": [
                "destinationID",
                "sourceIDs"
            ],
            "properties": {
                "destinationID": {
                    "description": "目标文件夹的公共ID",
                    "type": "string"
                },
                "sourceIDs": {
                    "description": "一个或多个待移动项的公共ID",
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "model.OSStats": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "os": {
                    "type": "string"
                }
            }
        },
        "model.Page": {
            "type": "object",
            "properties": {
                "content": {
                    "description": "HTML内容",
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "description": {
                    "description": "页面描述",
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "is_published": {
                    "description": "是否发布",
                    "type": "boolean"
                },
                "markdown_content": {
                    "description": "Markdown原始内容",
                    "type": "string"
                },
                "path": {
                    "description": "页面路径，如 /privacy",
                    "type": "string"
                },
                "show_comment": {
                    "description": "是否显示评论",
                    "type": "boolean"
                },
                "sort": {
                    "description": "排序",
                    "type": "integer"
                },
                "title": {
                    "description": "页面标题",
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "model.PostCategoryResponse": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "is_series": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "model.PostTagResponse": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "model.RefererStats": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "referer": {
                    "type": "string"
                }
            }
        },
        "model.RenameItemRequest": {
            "type": "object",
            "required": [
                "id",
                "new_name"
            ],
            "properties": {
                "id": {
                    "description": "要重命名的文件或文件夹的公共ID",
                    "type": "string"
                },
                "new_name": {
                    "description": "新的名称",
                    "type": "string"
                }
            }
        },
        "model.ReviewLinkRequest": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "siteshot": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "APPROVED",
                        "REJECTED"
                    ]
                }
            }
        },
        "model.SimpleArticleResponse": {
            "type": "object",
            "properties": {
                "abbrlink": {
                    "type": "string"
                },
                "cover_url": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "model.StoragePolicyResponse": {
            "type": "object",
            "properties": {
                "access_key": {
                    "type": "string"
                },
                "base_path": {
                    "type": "string"
                },
                "bucket_name": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "flag": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "is_private": {
                    "type": "boolean"
                },
                "max_size": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "secret_key": {
                    "type": "string"
                },
                "server": {
                    "type": "string"
                },
                "settings": {
                    "type": "object",
                    "additionalProperties": true
                },
                "type": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "virtual_path": {
                    "type": "string"
                }
            }
        },
        "model.URLStatistics": {
            "type": "object",
            "properties": {
                "avg_duration": {
                    "type": "number"
                },
                "bounce_count": {
                    "type": "integer"
                },
                "bounce_rate": {
                    "type": "number"
                },
                "last_visited_at": {
                    "type": "string"
                },
                "page_title": {
                    "type": "string"
                },
                "total_views": {
                    "type": "integer"
                },
                "unique_views": {
                    "type": "integer"
                },
                "url_path": {
                    "type": "string"
                }
            }
        },
        "model.UpdateArticleRequest": {
            "type": "object",
            "properties": {
                "abbrlink": {
                    "type": "string"
                },
                "content_html": {
                    "type": "string"
                },
                "content_md": {
                    "type": "string"
                },
                "copyright": {
                    "type": "boolean"
                },
                "copyright_author": {
                    "type": "string"
                },
                "copyright_author_href": {
                    "type": "string"
                },
                "copyright_url": {
                    "type": "string"
                },
                "cover_url": {
                    "type": "string"
                },
                "home_sort": {
                    "type": "integer"
                },
                "ip_location": {
                    "type": "string"
                },
                "is_primary_color_manual": {
                    "type": "boolean"
                },
                "pin_sort": {
                    "type": "integer"
                },
                "post_category_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "post_tag_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "primary_color": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "DRAFT",
                        "PUBLISHED",
                        "ARCHIVED"
                    ]
                },
                "summaries": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "title": {
                    "type": "string"
                },
                "top_img_url": {
                    "type": "string"
                }
            }
        },
        "model.UpdateLinkCategoryRequest": {
            "type": "object",
            "required": [
                "name",
                "style"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "style": {
                    "type": "string",
                    "enum": [
                        "card",
                        "list"
                    ]
                }
            }
        },
        "model.UpdateLinkTagRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "color": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "model.UpdatePostCategoryRequest": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "is_series": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "model.UpdatePostTagRequest": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "model.UpdateViewConfigRequest": {
            "type": "object",
            "required": [
                "folder_id",
                "view"
            ],
            "properties": {
                "folder_id": {
                    "type": "string"
                },
                "view": {
                    "$ref": "#/definitions/model.View"
                }
            }
        },
        "model.View": {
            "type": "object",
            "required": [
                "order",
                "order_direction",
                "page_size",
                "view"
            ],
            "properties": {
                "columns": {
                    "description": "omitempty: 如果前端请求中没有这个字段，则忽略，不会导致校验失败。\ndive: 如果有这个字段且是数组，gin会深入到数组内部对每个元素进行校验（如果需要的话）。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.ViewColumn"
                    }
                },
                "order": {
                    "type": "string"
                },
                "order_direction": {
                    "description": "排序方向必须是 'asc' 或 'desc'",
                    "type": "string",
                    "enum": [
                        "asc",
                        "desc"
                    ]
                },
                "page_size": {
                    "description": "页面大小必须大于0",
                    "type": "integer"
                },
                "view": {
                    "description": "视图模式必须是 'list' 或 'grid'",
                    "type": "string",
                    "enum": [
                        "list",
                        "grid"
                    ]
                }
            }
        },
        "model.ViewColumn": {
            "type": "object",
            "properties": {
                "type": {
                    "$ref": "#/definitions/model.ColumnType"
                },
                "width": {
                    "type": "integer"
                }
            }
        },
        "model.VisitorAnalytics": {
            "type": "object",
            "properties": {
                "top_browsers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.BrowserStats"
                    }
                },
                "top_cities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.CityStats"
                    }
                },
                "top_countries": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.CountryStats"
                    }
                },
                "top_devices": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.DeviceStats"
                    }
                },
                "top_os": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.OSStats"
                    }
                },
                "top_referers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.RefererStats"
                    }
                }
            }
        },
        "model.VisitorLogRequest": {
            "type": "object",
            "required": [
                "url_path"
            ],
            "properties": {
                "duration": {
                    "type": "integer"
                },
                "page_title": {
                    "type": "string"
                },
                "referer": {
                    "type": "string"
                },
                "url_path": {
                    "type": "string"
                }
            }
        },
        "model.VisitorStatistics": {
            "type": "object",
            "properties": {
                "month_views": {
                    "description": "最近月访问",
                    "type": "integer"
                },
                "today_views": {
                    "description": "今日访问",
                    "type": "integer"
                },
                "today_visitors": {
                    "description": "今日人数",
                    "type": "integer"
                },
                "year_views": {
                    "description": "最近年访问",
                    "type": "integer"
                },
                "yesterday_views": {
                    "description": "昨日访问",
                    "type": "integer"
                },
                "yesterday_visitors": {
                    "description": "昨日人数",
                    "type": "integer"
                }
            }
        },
        "model.VisitorTrendData": {
            "type": "object",
            "properties": {
                "daily": {
                    "description": "每日数据",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.DateRangeStats"
                    }
                },
                "monthly": {
                    "description": "每月数据",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.DateRangeStats"
                    }
                },
                "weekly": {
                    "description": "每周数据",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.DateRangeStats"
                    }
                }
            }
        },
        "music.Song": {
            "type": "object",
            "properties": {
                "artist": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "lrc": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "neteaseId": {
                    "type": "string"
                },
                "pic": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "music.SongResourceResponse": {
            "type": "object",
            "properties": {
                "audioUrl": {
                    "type": "string"
                },
                "lyricsText": {
                    "type": "string"
                }
            }
        },
        "music_handler.GetSongResourcesRequest": {
            "type": "object",
            "required": [
                "neteaseId"
            ],
            "properties": {
                "neteaseId": {
                    "type": "string"
                }
            }
        },
        "response.Response": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {},
                "message": {
                    "type": "string"
                }
            }
        },
        "setting_handler.GetSettingsByKeysReq": {
            "type": "object",
            "required": [
                "keys"
            ],
            "properties": {
                "keys": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "statistics.StatisticsSummary": {
            "type": "object",
            "properties": {
                "analytics": {
                    "$ref": "#/definitions/model.VisitorAnalytics"
                },
                "basic_stats": {
                    "$ref": "#/definitions/model.VisitorStatistics"
                },
                "top_pages": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.URLStatistics"
                    }
                },
                "trend_data": {
                    "$ref": "#/definitions/model.VisitorTrendData"
                }
            }
        },
        "storage_policy_handler.AuthorizeRequest": {
            "type": "object",
            "required": [
                "code",
                "state"
            ],
            "properties": {
                "code": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                }
            }
        },
        "storage_policy_handler.CreatePolicyRequest": {
            "type": "object",
            "required": [
                "name",
                "type"
            ],
            "properties": {
                "access_key": {
                    "type": "string"
                },
                "base_path": {
                    "type": "string"
                },
                "bucket_name": {
                    "type": "string"
                },
                "flag": {
                    "type": "string"
                },
                "is_private": {
                    "type": "boolean"
                },
                "max_size": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "secret_key": {
                    "type": "string"
                },
                "server": {
                    "type": "string"
                },
                "settings": {
                    "type": "object",
                    "additionalProperties": true
                },
                "type": {
                    "type": "string"
                },
                "virtual_path": {
                    "type": "string"
                }
            }
        },
        "storage_policy_handler.PolicyListResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.StoragePolicyResponse"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "storage_policy_handler.UpdatePolicyRequest": {
            "type": "object",
            "required": [
                "name",
                "type"
            ],
            "properties": {
                "access_key": {
                    "type": "string"
                },
                "base_path": {
                    "type": "string"
                },
                "bucket_name": {
                    "type": "string"
                },
                "flag": {
                    "type": "string"
                },
                "is_private": {
                    "type": "boolean"
                },
                "max_size": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "secret_key": {
                    "type": "string"
                },
                "server": {
                    "type": "string"
                },
                "settings": {
                    "type": "object",
                    "additionalProperties": true
                },
                "type": {
                    "type": "string"
                },
                "virtual_path": {
                    "type": "string"
                }
            }
        },
        "theme.MarketTheme": {
            "type": "object",
            "properties": {
                "author": {
                    "type": "string"
                },
                "createdAt": {
                    "type": "string"
                },
                "demoUrl": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "downloadCount": {
                    "type": "integer"
                },
                "downloadUrl": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "instructionUrl": {
                    "type": "string"
                },
                "isActive": {
                    "type": "boolean"
                },
                "isOfficial": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "previewUrl": {
                    "type": "string"
                },
                "price": {
                    "type": "integer"
                },
                "rating": {
                    "type": "number"
                },
                "repoUrl": {
                    "type": "string"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "themeType": {
                    "type": "string"
                },
                "updatedAt": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "theme.StaticModeResponse": {
            "type": "object",
            "properties": {
                "is_active": {
                    "type": "boolean"
                }
            }
        },
        "theme.SwitchThemeRequest": {
            "type": "object",
            "required": [
                "theme_name"
            ],
            "properties": {
                "theme_name": {
                    "type": "string"
                }
            }
        },
        "theme.ThemeInfo": {
            "type": "object",
            "properties": {
                "author": {
                    "type": "string"
                },
                "createdAt": {
                    "type": "string"
                },
                "demoUrl": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "downloadCount": {
                    "type": "integer"
                },
                "downloadUrl": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "install_time": {
                    "description": "安装时间",
                    "type": "string"
                },
                "installed_version": {
                    "description": "已安装版本",
                    "type": "string"
                },
                "instructionUrl": {
                    "type": "string"
                },
                "isActive": {
                    "type": "boolean"
                },
                "isOfficial": {
                    "type": "boolean"
                },
                "is_current": {
                    "description": "本地状态字段",
                    "type": "boolean"
                },
                "is_installed": {
                    "description": "是否已安装（对于已安装主题列表始终为true）",
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "previewUrl": {
                    "type": "string"
                },
                "price": {
                    "type": "integer"
                },
                "rating": {
                    "type": "number"
                },
                "repoUrl": {
                    "type": "string"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "themeType": {
                    "type": "string"
                },
                "updatedAt": {
                    "type": "string"
                },
                "user_config": {
                    "description": "用户配置",
                    "type": "object",
                    "additionalProperties": true
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "theme.ThemeMarketListResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/theme.MarketTheme"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "theme.ThemeUploadResponse": {
            "type": "object",
            "properties": {
                "installed": {
                    "type": "boolean"
                },
                "message": {
                    "type": "string"
                },
                "theme_info": {},
                "theme_name": {
                    "type": "string"
                }
            }
        },
        "theme.UninstallThemeRequest": {
            "type": "object",
            "required": [
                "theme_name"
            ],
            "properties": {
                "theme_name": {
                    "type": "string"
                }
            }
        },
        "user_handler.AdminCreateUserRequest": {
            "type": "object",
            "required": [
                "email",
                "password",
                "userGroupID",
                "username"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "nickname": {
                    "type": "string",
                    "maxLength": 50
                },
                "password": {
                    "type": "string",
                    "minLength": 6
                },
                "userGroupID": {
                    "type": "string"
                },
                "username": {
                    "type": "string",
                    "maxLength": 50,
                    "minLength": 3
                }
            }
        },
        "user_handler.AdminListUsersResponse": {
            "type": "object",
            "properties": {
                "page": {
                    "type": "integer"
                },
                "size": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/user_handler.AdminUserDTO"
                    }
                }
            }
        },
        "user_handler.AdminResetPasswordRequest": {
            "type": "object",
            "required": [
                "newPassword"
            ],
            "properties": {
                "newPassword": {
                    "type": "string",
                    "minLength": 6
                }
            }
        },
        "user_handler.AdminUpdateUserRequest": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "nickname": {
                    "type": "string",
                    "maxLength": 50
                },
                "status": {
                    "type": "integer",
                    "maximum": 3,
                    "minimum": 1
                },
                "userGroupID": {
                    "type": "string"
                },
                "username": {
                    "type": "string",
                    "maxLength": 50,
                    "minLength": 3
                }
            }
        },
        "user_handler.AdminUpdateUserStatusRequest": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "type": "integer",
                    "maximum": 3,
                    "minimum": 1
                }
            }
        },
        "user_handler.AdminUserDTO": {
            "type": "object",
            "properties": {
                "avatar": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "lastLoginAt": {
                    "type": "string"
                },
                "nickname": {
                    "type": "string"
                },
                "status": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string"
                },
                "userGroup": {
                    "$ref": "#/definitions/user_handler.UserGroup"
                },
                "userGroupID": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                },
                "website": {
                    "type": "string"
                }
            }
        },
        "user_handler.GetUserInfoResponse": {
            "type": "object",
            "properties": {
                "avatar": {
                    "description": "头像URL",
                    "type": "string"
                },
                "created_at": {
                    "description": "创建时间",
                    "type": "string"
                },
                "email": {
                    "description": "邮箱",
                    "type": "string"
                },
                "id": {
                    "description": "用户的公共ID",
                    "type": "string"
                },
                "lastLoginAt": {
                    "description": "最后登录时间",
                    "type": "string"
                },
                "nickname": {
                    "description": "昵称",
                    "type": "string"
                },
                "status": {
                    "description": "用户状态",
                    "type": "integer"
                },
                "updated_at": {
                    "description": "更新时间",
                    "type": "string"
                },
                "userGroup": {
                    "description": "用户的用户组信息 (嵌套 DTO)",
                    "allOf": [
                        {
                            "$ref": "#/definitions/user_handler.UserGroup"
                        }
                    ]
                },
                "userGroupID": {
                    "description": "原始用户组ID (数字类型)，根据需求决定是否暴露",
                    "type": "integer"
                },
                "username": {
                    "description": "用户名",
                    "type": "string"
                },
                "website": {
                    "description": "个人网站",
                    "type": "string"
                }
            }
        },
        "user_handler.UpdateUserPasswordRequest": {
            "type": "object",
            "required": [
                "newPassword",
                "oldPassword"
            ],
            "properties": {
                "newPassword": {
                    "type": "string",
                    "minLength": 6
                },
                "oldPassword": {
                    "type": "string"
                }
            }
        },
        "user_handler.UpdateUserProfileRequest": {
            "type": "object",
            "properties": {
                "nickname": {
                    "type": "string",
                    "maxLength": 50,
                    "minLength": 2
                },
                "website": {
                    "type": "string"
                }
            }
        },
        "user_handler.UserGroup": {
            "type": "object",
            "properties": {
                "description": {
                    "description": "用户组描述",
                    "type": "string"
                },
                "id": {
                    "description": "用户组的公共ID，改为 string 类型",
                    "type": "string"
                },
                "name": {
                    "description": "用户组名称",
                    "type": "string"
                }
            }
        },
        "user_handler.UserGroupDTO": {
            "type": "object",
            "properties": {
                "description": {
                    "description": "用户组描述",
                    "type": "string"
                },
                "id": {
                    "description": "用户组公共ID",
                    "type": "string"
                },
                "name": {
                    "description": "用户组名称",
                    "type": "string"
                }
            }
        }
    },
    "securityDefinitions": {
        "BearerAuth": {
            "description": "在请求头中添加 Bearer Token，格式为: Bearer {token}",
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    },
    "externalDocs": {
        "description": "OpenAPI",
        "url": "https://swagger.io/resources/open-api/"
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "1.0",
	Host:             "localhost:8080",
	BasePath:         "/api",
	Schemes:          []string{},
	Title:            "Anheyu App API",
	Description:      "Anheyu App 应用接口文档",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
	LeftDelim:        "{{",
	RightDelim:       "}}",
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
