{
  "openapi": "3.0.3",
  "info": {
    "title": "资源管理",
    "version": "1.0.0",
    "description": "资源管理相关接口文档"
  },
  "paths": {
    "/api/resources/active": {
      "get": {
        "summary": "查询所有有效资源",
        "description": "查询所有有效的资源配置列表，用于其他业务通过选择列表选择目标资源。返回所有 status = 1 的资源，不需要分页。支持通过 systemId 查询指定系统的资源。支持通过 X-Site header 切换站点，切换后查询对应站点的数据库。",
        "parameters": [
          {
            "name": "systemId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "所属系统ID，用于过滤资源所属系统。不传则返回所有系统的有效资源"
          },
          {
            "name": "moduleId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "关联模块ID（可选）。传入时需与 systemId 搭配，用于按模块过滤资源"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "获取成功",
                    "data": [
                      {
                        "id": 1,
                        "code": "RES0001",
                        "name": "用户列表",
                        "title": "用户列表",
                        "systemId": "系统ID",
                        "systemName": "权限管理系统",
                        "type": "page",
                        "url": "/users",
                        "status": 1,
                        "parentId": null,
                        "moduleId": "AUTH_USER",
                        "orderNum": 1,
                        "createTime": "2025-01-01T10:00:00.000Z"
                      },
                      {
                        "id": 2,
                        "code": "RES0002",
                        "name": "角色管理",
                        "title": "角色管理",
                        "systemId": "系统ID",
                        "systemName": "权限管理系统",
                        "type": "page",
                        "url": "/roles",
                        "status": 1,
                        "parentId": null,
                        "moduleId": "AUTH_ROLE",
                        "orderNum": 2,
                        "createTime": "2025-01-01T11:00:00.000Z"
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/resources": {
      "get": {
        "summary": "获取资源列表",
        "description": "分页获取资源列表，支持按名称、类型、系统筛选。支持通过 X-Site header 切换站点，切换后查询对应站点的数据库。",
        "parameters": [
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "页码，默认1"
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "每页数量，默认10"
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "资源名称关键词"
          },
          {
            "name": "code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "资源编码"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "资源类型"
          },
          {
            "name": "systemId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "所属系统ID，用于过滤资源所属系统"
          },
          {
            "name": "moduleId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "关联模块ID（可选）。传入时需与 systemId 搭配，用于按模块过滤资源"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "获取成功",
                    "data": {
                      "list": [
                        {
                          "id": 1,
                          "code": "RES0001",
                          "name": "用户列表",
                          "systemId": "AUTH",
                          "systemName": "权限管理系统",
                          "type": "page",
                          "url": "/users",
                          "status": 1,
                          "parentId": null,
                          "moduleId": "AUTH_USER",
                          "orderNum": 10
                        }
                      ],
                      "total": 100,
                      "pageNum": 1,
                      "pageSize": 10
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "创建资源",
        "description": "创建新的资源",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "string｜必填，资源名称"
                  },
                  "systemId": {
                    "type": "string",
                    "description": "string｜必填，所属系统ID，用于绑定资源所属系统"
                  },
                  "type": {
                    "type": "string",
                    "description": "string｜必填，资源类型，例如page/api/button"
                  },
                  "url": {
                    "type": "string",
                    "description": "string｜必填，资源URL，用于路由或接口地址"
                  },
                  "status": {
                    "type": "number",
                    "description": "number｜可选，状态：1-启用，0-禁用"
                  },
                  "parentId": {
                    "type": "string",
                    "description": "string｜可选，父级资源ID，用于构建资源树状结构，不传或传空则为根节点"
                  },
                  "moduleId": {
                    "type": "string",
                    "description": "string｜可选，关联模块ID，可为空（推荐与systemId保持一致）"
                  },
                  "orderNum": {
                    "type": "number",
                    "description": "number｜可选，排序序号（同级内升序），默认0"
                  }
                },
                "required": [
                  "name",
                  "systemId",
                  "type",
                  "url"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "创建资源成功",
                    "data": {
                      "id": 1,
                      "code": "RES0001",
                      "name": "用户列表",
                      "systemId": "AUTH",
                      "systemName": "权限管理系统",
                      "type": "page",
                      "url": "/users",
                      "status": 1,
                      "parentId": null,
                      "moduleId": "AUTH_USER",
                      "orderNum": 10
                    }
                  },
                  "failure": {
                    "code": "4000",
                    "message": "创建资源失败",
                    "data": null
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/resources/{id}": {
      "get": {
        "summary": "获取资源详情",
        "description": "根据资源ID获取资源详细信息",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "资源ID"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "获取成功",
                    "data": {
                      "id": 1,
                      "code": "RES0001",
                      "name": "用户列表",
                      "systemId": "AUTH",
                      "systemName": "权限管理系统",
                      "type": "page",
                      "url": "/users",
                      "status": 1,
                      "parentId": null,
                      "moduleId": "AUTH_USER",
                      "orderNum": 10
                    }
                  },
                  "failure": {
                    "code": "4040",
                    "message": "资源不存在",
                    "data": null
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "更新资源",
        "description": "更新指定资源的信息",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "资源ID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "string｜必填，资源名称"
                  },
                  "systemId": {
                    "type": "string",
                    "description": "string｜可选，所属系统ID，不传则保持原值"
                  },
                  "type": {
                    "type": "string",
                    "description": "string｜必填，资源类型，例如page/api/button"
                  },
                  "url": {
                    "type": "string",
                    "description": "string｜必填，资源URL，用于路由或接口地址"
                  },
                  "status": {
                    "type": "number",
                    "description": "number｜可选，状态：1-启用，0-禁用"
                  },
                  "parentId": {
                    "type": "string",
                    "description": "string｜可选，父级资源ID，用于构建资源树状结构，不传或传空则为根节点"
                  },
                  "moduleId": {
                    "type": "string",
                    "description": "string｜可选，关联模块ID；传空字符串或null可清空关联"
                  },
                  "orderNum": {
                    "type": "number",
                    "description": "number｜可选，排序序号（同级内升序），不传则保持原值"
                  }
                },
                "required": [
                  "name",
                  "type",
                  "url"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "更新资源成功",
                    "data": {
                      "id": 1,
                      "code": "RES0001",
                      "name": "用户列表",
                      "systemId": "AUTH",
                      "systemName": "权限管理系统",
                      "type": "page",
                      "url": "/users",
                      "status": 1,
                      "parentId": null,
                      "moduleId": "AUTH_USER",
                      "orderNum": 20
                    }
                  },
                  "failure": {
                    "code": "4000",
                    "message": "更新资源失败",
                    "data": null
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "删除资源",
        "description": "删除指定的资源",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "资源ID"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "删除资源成功",
                    "data": {
                      "result": true
                    }
                  },
                  "failure": {
                    "code": "4000",
                    "message": "删除资源失败",
                    "data": null
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}