{
  "module": "资源管理",
  "moduleKey": "resource",
  "apiCount": 6,
  "apis": [
    {
      "title": "查询所有有效资源",
      "method": "GET",
      "path": "/api/resources/active",
      "description": "查询所有有效的资源配置列表，用于其他业务通过选择列表选择目标资源。返回所有 status = 1 的资源，不需要分页。支持通过 systemId 查询指定系统的资源。支持通过 X-Site header 切换站点，切换后查询对应站点的数据库。",
      "requestParams": {
        "query": [
          {
            "name": "systemId",
            "type": "string",
            "required": false,
            "description": "所属系统ID，用于过滤资源所属系统。不传则返回所有系统的有效资源"
          },
          {
            "name": "moduleId",
            "type": "string",
            "required": false,
            "description": "关联模块ID（可选）。传入时需与 systemId 搭配，用于按模块过滤资源"
          }
        ]
      },
      "responseExample": {
        "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"
            }
          ]
        }
      },
      "notes": [
        "仅返回 status = 1 的有效资源",
        "按 orderNum 和 createTime 排序",
        "不需要分页，返回完整列表",
        "支持通过 systemId 查询参数过滤指定系统的资源",
        "支持通过 moduleId 查询参数过滤指定模块资源（需同时传 systemId）",
        "也支持通过路径参数 systemId 查询（如 /api/security/systems/{systemId}/resources/active）"
      ]
    },
    {
      "title": "获取资源列表",
      "method": "GET",
      "path": "/api/resources",
      "description": "分页获取资源列表，支持按名称、类型、系统筛选。支持通过 X-Site header 切换站点，切换后查询对应站点的数据库。",
      "requestParams": {
        "query": [
          {
            "name": "pageNum",
            "type": "number",
            "required": false,
            "description": "页码，默认1"
          },
          {
            "name": "pageSize",
            "type": "number",
            "required": false,
            "description": "每页数量，默认10"
          },
          {
            "name": "name",
            "type": "string",
            "required": false,
            "description": "资源名称关键词"
          },
          {
            "name": "code",
            "type": "string",
            "required": false,
            "description": "资源编码"
          },
          {
            "name": "type",
            "type": "string",
            "required": false,
            "description": "资源类型"
          },
          {
            "name": "systemId",
            "type": "string",
            "required": false,
            "description": "所属系统ID，用于过滤资源所属系统"
          },
          {
            "name": "moduleId",
            "type": "string",
            "required": false,
            "description": "关联模块ID（可选）。传入时需与 systemId 搭配，用于按模块过滤资源"
          }
        ]
      },
      "responseExample": {
        "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
          }
        }
      },
      "notes": [
        "列表结果固定按 orderNum 升序，其次按 createTime 倒序",
        "orderNum 越小，菜单同级显示越靠前"
      ]
    },
    {
      "title": "获取资源详情",
      "method": "GET",
      "path": "/api/resources/{id}",
      "description": "根据资源ID获取资源详细信息",
      "requestParams": {
        "path": [
          {
            "name": "id",
            "type": "string",
            "required": true,
            "description": "资源ID"
          }
        ]
      },
      "responseExample": {
        "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
        }
      }
    },
    {
      "title": "创建资源",
      "method": "POST",
      "path": "/api/resources",
      "description": "创建新的资源",
      "requestParams": {
        "body": {
          "name": "string｜必填，资源名称",
          "systemId": "string｜必填，所属系统ID，用于绑定资源所属系统",
          "type": "string｜必填，资源类型，例如page/api/button",
          "url": "string｜必填，资源URL，用于路由或接口地址",
          "status": "number｜可选，状态：1-启用，0-禁用",
          "parentId": "string｜可选，父级资源ID，用于构建资源树状结构，不传或传空则为根节点",
          "moduleId": "string｜可选，关联模块ID，可为空（推荐与systemId保持一致）",
          "orderNum": "number｜可选，排序序号（同级内升序），默认0"
        }
      },
      "responseExample": {
        "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
        }
      },
      "notes": [
        "code 由系统自动生成，无需传入",
        "moduleId 可为空；若传入，需为该 systemId 下有效模块",
        "orderNum 用于菜单树同级排序，值越小越靠前"
      ]
    },
    {
      "title": "更新资源",
      "method": "PUT",
      "path": "/api/resources/{id}",
      "description": "更新指定资源的信息",
      "requestParams": {
        "body": {
          "name": "string｜必填，资源名称",
          "systemId": "string｜可选，所属系统ID，不传则保持原值",
          "type": "string｜必填，资源类型，例如page/api/button",
          "url": "string｜必填，资源URL，用于路由或接口地址",
          "status": "number｜可选，状态：1-启用，0-禁用",
          "parentId": "string｜可选，父级资源ID，用于构建资源树状结构，不传或传空则为根节点",
          "moduleId": "string｜可选，关联模块ID；传空字符串或null可清空关联",
          "orderNum": "number｜可选，排序序号（同级内升序），不传则保持原值"
        },
        "path": [
          {
            "name": "id",
            "type": "string",
            "required": true,
            "description": "资源ID"
          }
        ]
      },
      "responseExample": {
        "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
        }
      },
      "notes": [
        "moduleId 为可选字段，可配置/修改/清空模块关联",
        "更新 orderNum 后，菜单树同级排序会按新序号生效"
      ]
    },
    {
      "title": "删除资源",
      "method": "DELETE",
      "path": "/api/resources/{id}",
      "description": "删除指定的资源",
      "requestParams": {
        "path": [
          {
            "name": "id",
            "type": "string",
            "required": true,
            "description": "资源ID"
          }
        ]
      },
      "responseExample": {
        "success": {
          "code": "0000",
          "message": "删除资源成功",
          "data": {
            "result": true
          }
        },
        "failure": {
          "code": "4000",
          "message": "删除资源失败",
          "data": null
        }
      }
    }
  ]
}