# 权限管理系统 - 完整API文档



> 版本：1.1.0  |  模块数量：24  |  接口数量：208


基于Express.js + Electron的权限管理系统，支持NeDB和MongoDB双存储模式。支持多站点（X-Site）与数据分区（X-Scope-Key）隔离，供外部业务系统对接。


## 1. 用户管理 (user)

> 模块标识：user  |  接口数量：7

## 1. 获取用户列表
**方法**：	GET

**路径**：				/api/users

**功能说明**：
分页获取系统用户列表，支持按姓名、手机号、状态筛选。支持通过 X-Site header 切换站点，切换后查询对应站点的数据库。

### 请求参数
```json
{
  "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": "phone",
      "type": "string",
      "required": false,
      "description": "手机号（模糊搜索）"
    },
    {
      "name": "status",
      "type": "number",
      "required": false,
      "description": "状态：1-正常，0-禁用"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": 200,
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "USER001",
          "name": "张三",
          "title": "系统管理员",
          "phone": "13800138000",
          "email": "zhangsan@example.com",
          "phonePrefix": "+86",
          "status": 1,
          "createTime": "2024-01-01T00:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取用户详情
**方法**：	GET

**路径**：				/api/users/{id}

**功能说明**：
根据用户ID获取用户详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "系统用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "USER0001",
      "name": "系统管理员",
      "phone": "13800000000",
      "status": 1,
      "roles": [
        "ROLE0001"
      ],
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "系统用户不存在",
    "data": null
  }
}
```


## 3. 创建用户
**方法**：	POST

**路径**：				/api/users

**功能说明**：
创建新的系统用户。系统自动生成初始密码，格式为 smk + 创建时刻时分秒（HHmmss，24 小时制），并在响应 data.initialPassword 中返回，请妥善告知用户。

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，用户姓名",
    "phone": "string｜必填，手机号，唯一",
    "email": "string｜可选，邮箱",
    "roles": "array｜可选，绑定角色ID数组",
    "status": "number｜可选，状态：1-启用，0-禁用",
    "individualism": "boolean｜可选，是否开通独立站点"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建系统用户成功",
    "data": {
      "id": 1,
      "code": "USER0001",
      "name": "系统管理员",
      "phone": "13800000000",
      "status": 1,
      "initialPassword": "smk100930",
      "roles": [
        "ROLE0001"
      ],
      "createTime": "2025-01-01T10:09:30.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建系统用户失败",
    "data": null
  }
}
```


## 4. 更新用户
**方法**：	PUT

**路径**：				/api/users/{id}

**功能说明**：
更新指定用户的信息（不含密码，密码请使用重置密码接口）

### 请求参数
```json
{
  "body": {
    "name": "string｜可选，用户姓名",
    "phone": "string｜可选，手机号，唯一",
    "email": "string｜可选，邮箱",
    "roles": "array｜可选，绑定角色ID数组",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "系统用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新系统用户成功",
    "data": {
      "id": 1,
      "code": "USER0001",
      "name": "系统管理员",
      "phone": "13800000000",
      "status": 1,
      "roles": [
        "ROLE0001"
      ],
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新系统用户失败",
    "data": null
  }
}
```


## 5. 删除用户
**方法**：	DELETE

**路径**：				/api/users/{id}

**功能说明**：
删除指定的用户

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "系统用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除系统用户成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除系统用户失败",
    "data": null
  }
}
```


## 6. 切换用户状态
**方法**：	PUT

**路径**：				/api/users/{id}/status

**功能说明**：
切换系统用户的启用/禁用状态

### 请求参数
```json
{
  "body": {
    "status": "number｜必填，状态：1-有效，0-无效"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "系统用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "状态更新成功",
    "data": {
      "id": 1,
      "code": "USER0001",
      "name": "系统管理员",
      "phone": "13800000000",
      "status": 1,
      "updateTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "用户不存在",
    "data": null
  }
}
```


## 7. 重置用户密码
**方法**：	PUT

**路径**：				/api/users/{id}/reset-password

**功能说明**：
将指定系统用户的密码重置为初始密码。初始密码格式为 smk + 重置时刻时分秒（HHmmss，24 小时制），响应 data.initialPassword 返回明文初始密码，请妥善告知用户。

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "系统用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "密码重置成功",
    "data": {
      "initialPassword": "smk143052"
    }
  },
  "failure": {
    "code": "4040",
    "message": "用户不存在",
    "data": null
  }
}
```

## 2. 认证模块 (auth)

> 模块标识：auth  |  接口数量：4

## 1. 用户注册
**方法**：	POST

**路径**：				/auth/register

**功能说明**：
系统用户注册接口。如果 individualism=true，会为用户创建独立站点和独立数据库，并自动创建超级管理员角色。

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，用户名",
    "phone": "string｜必填，手机号",
    "password": "string｜必填，登录密码",
    "roles": "array｜可选，角色ID数组"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "注册成功",
    "data": {
      "userId": "USER0001",
      "token": "jwt-token",
      "scopeKeys": [
        {
          "key": "uuid-personal",
          "type": "personal",
          "label": "个人"
        },
        {
          "key": "uuid-org",
          "type": "organization",
          "organizationId": 1,
          "label": "示例公司"
        }
      ],
      "defaultScopeKey": "uuid-org"
    }
  },
  "failure": {
    "code": "4000",
    "message": "注册失败",
    "data": null
  }
}
```

### 注意事项
- 如果 individualism=true，系统会：1. 创建独立数据库 2. 在独立数据库中创建用户副本 3. 创建超级管理员角色并绑定用户
- 注册成功后，用户记录在所属站点数据库创建，同时在独立数据库中创建副本用于角色绑定
- 响应 data 包含 scopeKeys（可用 scope 列表）与 defaultScopeKey（默认 scope，有组织时为组织 key）


## 2. 用户登录
**方法**：	POST

**路径**：				/auth/login

**功能说明**：
系统用户登录接口。如果用户有多个可用站点，会返回站点列表供前端选择。

### 请求参数
```json
{
  "body": {
    "phone": "string｜必填，手机号",
    "password": "string｜必填，登录密码"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "登录成功",
    "data": {
      "token": "jwt-token",
      "user": {
        "id": "USER0001",
        "name": "系统管理员"
      },
      "scopeKeys": [
        {
          "key": "uuid-personal",
          "type": "personal",
          "label": "个人"
        },
        {
          "key": "uuid-org",
          "type": "organization",
          "organizationId": 1,
          "label": "示例公司"
        }
      ],
      "defaultScopeKey": "uuid-org"
    }
  },
  "failure": {
    "code": "4000",
    "message": "登录失败",
    "data": null
  }
}
```

### 注意事项
- 如果用户有独立站点，availableSites 会包含两个站点：所属站点（type: owner）和个人站点（type: personal）
- 前端可以通过 X-Site header 切换站点，切换后所有 API 请求将使用对应站点的数据库
- 默认使用所属站点（isDefault: true），如需切换到个人站点，在后续请求中传递个人站点的 siteKey
- 响应 data 包含 scopeKeys（可用 scope 列表）与 defaultScopeKey（默认 scope，有组织时为组织 key）


## 3. 客户端用户注册
**方法**：	POST

**路径**：				/auth/client/register

**功能说明**：
客户端用户注册接口。如果 individualism=true，会为用户创建独立站点和独立数据库，并自动创建超级管理员角色。

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，客户端用户姓名",
    "phone": "string｜必填，手机号",
    "password": "string｜必填，登录密码"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "注册成功",
    "data": {
      "clientUserId": "CU0001",
      "token": "jwt-token",
      "scopeKeys": [
        {
          "key": "uuid-personal",
          "type": "personal",
          "label": "个人"
        },
        {
          "key": "uuid-org",
          "type": "organization",
          "organizationId": 1,
          "label": "示例公司"
        }
      ],
      "defaultScopeKey": "uuid-org"
    }
  },
  "failure": {
    "code": "4000",
    "message": "注册失败",
    "data": null
  }
}
```

### 注意事项
- 如果 individualism=true，系统会：1. 创建独立数据库 2. 在独立数据库中创建用户副本 3. 创建超级管理员角色并绑定用户
- 注册成功后，用户记录在所属站点数据库创建，同时在独立数据库中创建副本用于角色绑定
- 响应 data 包含 scopeKeys（可用 scope 列表）与 defaultScopeKey（默认 scope，有组织时为组织 key）


## 4. 客户端用户登录
**方法**：	POST

**路径**：				/auth/client/login

**功能说明**：
客户端用户登录接口。如果用户有多个可用站点，会返回站点列表供前端选择。

### 请求参数
```json
{
  "body": {
    "phone": "string｜必填，手机号",
    "password": "string｜必填，登录密码"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "登录成功",
    "data": {
      "token": "jwt-token",
      "user": {
        "id": "CU0001",
        "name": "客户端管理员"
      },
      "scopeKeys": [
        {
          "key": "uuid-personal",
          "type": "personal",
          "label": "个人"
        },
        {
          "key": "uuid-org",
          "type": "organization",
          "organizationId": 1,
          "label": "示例公司"
        }
      ],
      "defaultScopeKey": "uuid-org"
    }
  },
  "failure": {
    "code": "4000",
    "message": "登录失败",
    "data": null
  }
}
```

### 注意事项
- 如果用户有独立站点，availableSites 会包含两个站点：所属站点（type: owner）和个人站点（type: personal）
- 前端可以通过 X-Site header 切换站点，切换后所有 API 请求将使用对应站点的数据库
- 默认使用所属站点（isDefault: true），如需切换到个人站点，在后续请求中传递个人站点的 siteKey
- 响应 data 包含 scopeKeys（可用 scope 列表）与 defaultScopeKey（默认 scope，有组织时为组织 key）

## 3. 系统管理 (system)

> 模块标识：system  |  接口数量：5

## 1. 业务开通
**方法**：	POST

**路径**：				/system/business/activate

**功能说明**：
业务开通接口

### 请求参数
```json
{
  "body": {
    "systemCode": "string｜必填，要开通的系统编码",
    "expireDays": "number｜可选，业务有效天数"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "业务开通成功",
    "data": {
      "systemCode": "AUTH",
      "activated": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "业务开通失败",
    "data": null
  }
}
```

### 注意事项
- 需管理员身份调用


## 2. 用户存储模式切换
**方法**：	POST

**路径**：				/system/storage/switch

**功能说明**：
用户存储模式切换功能

### 请求参数
```json
{
  "body": {
    "mode": "string｜必填，目标存储模式，可选 'FILE' 或 'CLOUD'"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "切换存储模式成功",
    "data": {
      "mode": "FILE"
    }
  },
  "failure": {
    "code": "4000",
    "message": "切换存储模式失败",
    "data": null
  }
}
```

### 注意事项
- 切换后会自动重启数据源，请确保备份


## 3. 客户端用户存储模式切换
**方法**：	POST

**路径**：				/system/storage/client/switch

**功能说明**：
客户端用户存储模式切换功能

### 请求参数
```json
{
  "body": {
    "mode": "string｜必填，目标存储模式，可选 'FILE' 或 'CLOUD'"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "切换客户端用户存储模式成功",
    "data": {
      "mode": "FILE"
    }
  },
  "failure": {
    "code": "4000",
    "message": "切换客户端用户存储模式失败",
    "data": null
  }
}
```


## 4. 获取存储模式
**方法**：	GET

**路径**：				/system/storage/mode

**功能说明**：
获取当前存储模式

### 请求参数
```json
{}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "userMode": "FILE",
      "clientUserMode": "FILE"
    }
  }
}
```


## 5. 系统信息
**方法**：	GET

**路径**：				/system/info

**功能说明**：
获取系统基本信息

### 请求参数
```json
{}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "version": "1.0.0",
      "buildTime": "2025-01-01T10:00:00.000Z",
      "storageMode": "FILE"
    }
  }
}
```

## 4. 客户端用户管理 (clientUser)

> 模块标识：clientUser  |  接口数量：7

## 1. 获取客户端用户列表
**方法**：	GET

**路径**：				/api/client-users

**功能说明**：
分页获取客户端用户列表

### 请求参数
```json
{
  "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": "phone",
      "type": "string",
      "required": false,
      "description": "手机号"
    },
    {
      "name": "status",
      "type": "number",
      "required": false,
      "description": "状态过滤"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "CU0001",
          "name": "客户端管理员",
          "phone": "13900000000",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取客户端用户详情
**方法**：	GET

**路径**：				/api/client-users/{id}

**功能说明**：
根据客户端用户ID获取详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "客户端用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "CU0001",
      "name": "客户端管理员",
      "phone": "13900000000",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "客户端用户不存在",
    "data": null
  }
}
```


## 3. 创建客户端用户
**方法**：	POST

**路径**：				/api/client-users

**功能说明**：
创建新的客户端用户。系统自动生成初始密码，格式为 smk + 创建时刻时分秒（HHmmss，24 小时制），并在响应 data.initialPassword 中返回，请妥善告知用户。

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，客户端用户姓名",
    "phone": "string｜必填，手机号，唯一",
    "email": "string｜可选，邮箱",
    "roles": "array｜可选，绑定角色ID数组",
    "status": "number｜可选，状态：1-启用，0-禁用",
    "individualism": "boolean｜可选，是否开通独立站点"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建客户端用户成功",
    "data": {
      "id": 1,
      "code": "CU0001",
      "name": "客户端管理员",
      "phone": "13900000000",
      "status": 1,
      "initialPassword": "smk100930",
      "createTime": "2025-01-01T10:09:30.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建客户端用户失败",
    "data": null
  }
}
```


## 4. 更新客户端用户
**方法**：	PUT

**路径**：				/api/client-users/{id}

**功能说明**：
更新指定客户端用户的信息（不含密码，密码请使用重置密码接口）

### 请求参数
```json
{
  "body": {
    "name": "string｜可选，客户端用户姓名",
    "phone": "string｜可选，手机号，唯一",
    "email": "string｜可选，邮箱",
    "roles": "array｜可选，绑定角色ID数组",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "客户端用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新客户端用户成功",
    "data": {
      "id": 1,
      "code": "CU0001",
      "name": "客户端管理员",
      "phone": "13900000000",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新客户端用户失败",
    "data": null
  }
}
```


## 5. 删除客户端用户
**方法**：	DELETE

**路径**：				/api/client-users/{id}

**功能说明**：
删除指定的客户端用户

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "客户端用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除客户端用户成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除客户端用户失败",
    "data": null
  }
}
```


## 6. 切换客户端用户状态
**方法**：	PUT

**路径**：				/api/client-users/{id}/status

**功能说明**：
切换客户端用户的启用/禁用状态

### 请求参数
```json
{
  "body": {
    "status": "number｜必填，状态：1-有效，0-无效"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "客户端用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "状态更新成功",
    "data": {
      "id": 1,
      "code": "CU0001",
      "name": "客户端管理员",
      "phone": "13900000000",
      "status": 1,
      "updateTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "客户端用户不存在",
    "data": null
  }
}
```


## 7. 重置客户端用户密码
**方法**：	PUT

**路径**：				/api/client-users/{id}/reset-password

**功能说明**：
将指定客户端用户的密码重置为初始密码。初始密码格式为 smk + 重置时刻时分秒（HHmmss，24 小时制），响应 data.initialPassword 返回明文初始密码，请妥善告知用户。

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "客户端用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "密码重置成功",
    "data": {
      "initialPassword": "smk143052"
    }
  },
  "failure": {
    "code": "4040",
    "message": "客户端用户不存在",
    "data": null
  }
}
```

## 5. 组织管理 (organization)

> 模块标识：organization  |  接口数量：7

## 1. 获取组织列表
**方法**：	GET

**路径**：				/api/organizations

**功能说明**：
获取组织列表，支持树形结构

### 请求参数
```json
{
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "组织名称关键词"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "ORG0001",
          "name": "总部",
          "parentId": null,
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取组织详情
**方法**：	GET

**路径**：				/api/organizations/{id}

**功能说明**：
根据组织ID获取组织详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "组织ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "ORG0001",
      "name": "总部",
      "parentId": null,
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "组织不存在",
    "data": null
  }
}
```


## 3. 创建组织
**方法**：	POST

**路径**：				/api/organizations

**功能说明**：
创建新的组织

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，组织名称",
    "parentId": "string｜可选，父级组织ID，根节点为空",
    "status": "number｜可选，状态：1-启用，0-禁用"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建组织成功",
    "data": {
      "id": 1,
      "code": "ORG0001",
      "name": "总部",
      "parentId": null,
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建组织失败",
    "data": null
  }
}
```


## 4. 更新组织
**方法**：	PUT

**路径**：				/api/organizations/{id}

**功能说明**：
更新指定组织的信息

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，组织名称",
    "parentId": "string｜可选，父级组织ID，根节点为空",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "组织ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新组织成功",
    "data": {
      "id": 1,
      "code": "ORG0001",
      "name": "总部",
      "parentId": null,
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新组织失败",
    "data": null
  }
}
```


## 5. 删除组织
**方法**：	DELETE

**路径**：				/api/organizations/{id}

**功能说明**：
删除指定的组织

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "组织ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除组织成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除组织失败",
    "data": null
  }
}
```


## 6. 获取组织关联用户
**方法**：	GET

**路径**：				/api/organizations/{id}/users

**功能说明**：
获取指定组织关联的用户

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "组织ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "ORG0001",
      "name": "总部",
      "parentId": null,
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "组织不存在",
    "data": null
  }
}
```


## 7. 更新组织用户关联
**方法**：	PUT

**路径**：				/api/organizations/{id}/users

**功能说明**：
更新指定组织的用户关联关系

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，组织名称",
    "parentId": "string｜可选，父级组织ID，根节点为空",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "组织ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新组织成功",
    "data": {
      "id": 1,
      "code": "ORG0001",
      "name": "总部",
      "parentId": null,
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新组织失败",
    "data": null
  }
}
```

## 6. 部门管理 (department)

> 模块标识：department  |  接口数量：7

## 1. 获取部门列表
**方法**：	GET

**路径**：				/api/departments

**功能说明**：
获取部门列表，支持按组织筛选

### 请求参数
```json
{
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "organizationId",
      "type": "string",
      "required": false,
      "description": "按组织筛选"
    },
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "部门名称关键词"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "DEP0001",
          "name": "研发部",
          "organizationId": "ORG0001",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取部门详情
**方法**：	GET

**路径**：				/api/departments/{id}

**功能说明**：
根据部门ID获取部门详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "部门ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "DEP0001",
      "name": "研发部",
      "organizationId": "ORG0001",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "部门不存在",
    "data": null
  }
}
```


## 3. 创建部门
**方法**：	POST

**路径**：				/api/departments

**功能说明**：
创建新的部门

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，部门名称",
    "organizationId": "string｜必填，所属组织ID",
    "leaderId": "string｜可选，部门负责人ID",
    "status": "number｜可选，状态：1-启用，0-禁用"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建部门成功",
    "data": {
      "id": 1,
      "code": "DEP0001",
      "name": "研发部",
      "organizationId": "ORG0001",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建部门失败",
    "data": null
  }
}
```


## 4. 更新部门
**方法**：	PUT

**路径**：				/api/departments/{id}

**功能说明**：
更新指定部门的信息

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，部门名称",
    "organizationId": "string｜必填，所属组织ID",
    "leaderId": "string｜可选，部门负责人ID",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "部门ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新部门成功",
    "data": {
      "id": 1,
      "code": "DEP0001",
      "name": "研发部",
      "organizationId": "ORG0001",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新部门失败",
    "data": null
  }
}
```


## 5. 删除部门
**方法**：	DELETE

**路径**：				/api/departments/{id}

**功能说明**：
删除指定的部门

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "部门ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除部门成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除部门失败",
    "data": null
  }
}
```


## 6. 获取部门关联用户
**方法**：	GET

**路径**：				/api/departments/{id}/users

**功能说明**：
获取指定部门关联的用户

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "部门ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "DEP0001",
      "name": "研发部",
      "organizationId": "ORG0001",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "部门不存在",
    "data": null
  }
}
```


## 7. 更新部门用户关联
**方法**：	PUT

**路径**：				/api/departments/{id}/users

**功能说明**：
更新指定部门的用户关联关系

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，部门名称",
    "organizationId": "string｜必填，所属组织ID",
    "leaderId": "string｜可选，部门负责人ID",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "部门ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新部门成功",
    "data": {
      "id": 1,
      "code": "DEP0001",
      "name": "研发部",
      "organizationId": "ORG0001",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新部门失败",
    "data": null
  }
}
```

## 7. 岗位管理 (position)

> 模块标识：position  |  接口数量：7

## 1. 获取岗位列表
**方法**：	GET

**路径**：				/api/positions

**功能说明**：
分页获取岗位列表

### 请求参数
```json
{
  "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": "status",
      "type": "number",
      "required": false,
      "description": "状态过滤"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "POS0001",
          "name": "产品经理",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取岗位详情
**方法**：	GET

**路径**：				/api/positions/{id}

**功能说明**：
根据岗位ID获取岗位详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "岗位ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "POS0001",
      "name": "产品经理",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "岗位不存在",
    "data": null
  }
}
```


## 3. 创建岗位
**方法**：	POST

**路径**：				/api/positions

**功能说明**：
创建新的岗位

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，岗位名称",
    "organizationId": "string｜可选，所属组织ID",
    "status": "number｜可选，状态：1-启用，0-禁用"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建岗位成功",
    "data": {
      "id": 1,
      "code": "POS0001",
      "name": "产品经理",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建岗位失败",
    "data": null
  }
}
```


## 4. 更新岗位
**方法**：	PUT

**路径**：				/api/positions/{id}

**功能说明**：
更新指定岗位的信息

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，岗位名称",
    "organizationId": "string｜可选，所属组织ID",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "岗位ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新岗位成功",
    "data": {
      "id": 1,
      "code": "POS0001",
      "name": "产品经理",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新岗位失败",
    "data": null
  }
}
```


## 5. 删除岗位
**方法**：	DELETE

**路径**：				/api/positions/{id}

**功能说明**：
删除指定的岗位

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "岗位ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除岗位成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除岗位失败",
    "data": null
  }
}
```


## 6. 获取岗位关联用户
**方法**：	GET

**路径**：				/api/positions/{id}/users

**功能说明**：
获取指定岗位关联的用户

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "岗位ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "POS0001",
      "name": "产品经理",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "岗位不存在",
    "data": null
  }
}
```


## 7. 更新岗位用户关联
**方法**：	PUT

**路径**：				/api/positions/{id}/users

**功能说明**：
更新指定岗位的用户关联关系

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，岗位名称",
    "organizationId": "string｜可选，所属组织ID",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "岗位ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新岗位成功",
    "data": {
      "id": 1,
      "code": "POS0001",
      "name": "产品经理",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新岗位失败",
    "data": null
  }
}
```

## 8. 职员管理 (staff)

> 模块标识：staff  |  接口数量：5

## 1. 获取职员列表
**方法**：	GET

**路径**：				/api/staff

**功能说明**：
获取职员列表，支持按部门筛选

### 请求参数
```json
{
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "organizationId",
      "type": "string",
      "required": false,
      "description": "所属组织筛选"
    },
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "姓名关键词"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "STA0001",
          "name": "张三",
          "phone": "13800000001",
          "organizationId": "ORG0001",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取职员详情
**方法**：	GET

**路径**：				/api/staff/{id}

**功能说明**：
根据职员ID获取职员详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "职员ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "STA0001",
      "name": "张三",
      "phone": "13800000001",
      "organizationId": "ORG0001",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "职员不存在",
    "data": null
  }
}
```


## 3. 创建职员
**方法**：	POST

**路径**：				/api/staff

**功能说明**：
创建新的职员

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，职员姓名",
    "phone": "string｜必填，手机号",
    "organizationId": "string｜必填，所属组织ID",
    "status": "number｜可选，状态：1-在职，0-离职"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建职员成功",
    "data": {
      "id": 1,
      "code": "STA0001",
      "name": "张三",
      "phone": "13800000001",
      "organizationId": "ORG0001",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建职员失败",
    "data": null
  }
}
```


## 4. 更新职员
**方法**：	PUT

**路径**：				/api/staff/{id}

**功能说明**：
更新指定职员的信息

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，职员姓名",
    "phone": "string｜必填，手机号",
    "organizationId": "string｜必填，所属组织ID",
    "status": "number｜可选，状态：1-在职，0-离职"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "职员ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新职员成功",
    "data": {
      "id": 1,
      "code": "STA0001",
      "name": "张三",
      "phone": "13800000001",
      "organizationId": "ORG0001",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新职员失败",
    "data": null
  }
}
```


## 5. 删除职员
**方法**：	DELETE

**路径**：				/api/staff/{id}

**功能说明**：
删除指定的职员

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "职员ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除职员成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除职员失败",
    "data": null
  }
}
```

## 9. 角色管理 (role)

> 模块标识：role  |  接口数量：7

## 1. 获取角色列表
**方法**：	GET

**路径**：				/api/roles

**功能说明**：
分页获取角色列表

### 请求参数
```json
{
  "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": "角色编码"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "ROLE0001",
          "name": "系统管理员",
          "status": 1,
          "permissions": [
            "PERM0001"
          ],
          "resources": [
            "RES0001"
          ]
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取角色详情
**方法**：	GET

**路径**：				/api/roles/{id}

**功能说明**：
根据角色ID获取角色详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "角色ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "ROLE0001",
      "name": "系统管理员",
      "status": 1,
      "permissions": [
        "PERM0001"
      ],
      "resources": [
        "RES0001"
      ]
    }
  },
  "failure": {
    "code": "4040",
    "message": "角色不存在",
    "data": null
  }
}
```


## 3. 创建角色
**方法**：	POST

**路径**：				/api/roles

**功能说明**：
创建新的角色

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，角色名称",
    "code": "string｜必填，角色编码，唯一",
    "status": "number｜可选，状态：1-启用，0-禁用"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建角色成功",
    "data": {
      "id": 1,
      "code": "ROLE0001",
      "name": "系统管理员",
      "status": 1,
      "permissions": [
        "PERM0001"
      ],
      "resources": [
        "RES0001"
      ]
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建角色失败",
    "data": null
  }
}
```


## 4. 更新角色
**方法**：	PUT

**路径**：				/api/roles/{id}

**功能说明**：
更新指定角色的信息

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，角色名称",
    "code": "string｜必填，角色编码，唯一",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "角色ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新角色成功",
    "data": {
      "id": 1,
      "code": "ROLE0001",
      "name": "系统管理员",
      "status": 1,
      "permissions": [
        "PERM0001"
      ],
      "resources": [
        "RES0001"
      ]
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新角色失败",
    "data": null
  }
}
```


## 5. 删除角色
**方法**：	DELETE

**路径**：				/api/roles/{id}

**功能说明**：
删除指定的角色

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "角色ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除角色成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除角色失败",
    "data": null
  }
}
```


## 6. 绑定角色权限
**方法**：	PUT

**路径**：				/api/roles/{id}/permissions

**功能说明**：
为指定角色绑定权限

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，角色名称",
    "code": "string｜必填，角色编码，唯一",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "角色ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新角色成功",
    "data": {
      "id": 1,
      "code": "ROLE0001",
      "name": "系统管理员",
      "status": 1,
      "permissions": [
        "PERM0001"
      ],
      "resources": [
        "RES0001"
      ]
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新角色失败",
    "data": null
  }
}
```


## 7. 绑定角色资源
**方法**：	PUT

**路径**：				/api/roles/{id}/resources

**功能说明**：
为指定角色绑定资源

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，角色名称",
    "code": "string｜必填，角色编码，唯一",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "角色ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新角色成功",
    "data": {
      "id": 1,
      "code": "ROLE0001",
      "name": "系统管理员",
      "status": 1,
      "permissions": [
        "PERM0001"
      ],
      "resources": [
        "RES0001"
      ]
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新角色失败",
    "data": null
  }
}
```

## 10. 权限管理 (permission)

> 模块标识：permission  |  接口数量：5

## 1. 获取权限列表
**方法**：	GET

**路径**：				/api/permissions

**功能说明**：
分页获取权限列表

### 请求参数
```json
{
  "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": "权限编码"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "PERM0001",
          "name": "用户管理",
          "type": "menu",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取权限详情
**方法**：	GET

**路径**：				/api/permissions/{id}

**功能说明**：
根据权限ID获取权限详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "权限ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "PERM0001",
      "name": "用户管理",
      "type": "menu",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "权限不存在",
    "data": null
  }
}
```


## 3. 创建权限
**方法**：	POST

**路径**：				/api/permissions

**功能说明**：
创建新的权限

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，权限名称",
    "code": "string｜必填，权限编码，唯一",
    "type": "string｜可选，权限类型，例如menu/button",
    "status": "number｜可选，状态：1-启用，0-禁用"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建权限成功",
    "data": {
      "id": 1,
      "code": "PERM0001",
      "name": "用户管理",
      "type": "menu",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建权限失败",
    "data": null
  }
}
```


## 4. 更新权限
**方法**：	PUT

**路径**：				/api/permissions/{id}

**功能说明**：
更新指定权限的信息

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，权限名称",
    "code": "string｜必填，权限编码，唯一",
    "type": "string｜可选，权限类型，例如menu/button",
    "status": "number｜可选，状态：1-启用，0-禁用"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "权限ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新权限成功",
    "data": {
      "id": 1,
      "code": "PERM0001",
      "name": "用户管理",
      "type": "menu",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新权限失败",
    "data": null
  }
}
```


## 5. 删除权限
**方法**：	DELETE

**路径**：				/api/permissions/{id}

**功能说明**：
删除指定的权限

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "权限ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除权限成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除权限失败",
    "data": null
  }
}
```

## 11. 资源管理 (resource)

> 模块标识：resource  |  接口数量：6

## 1. 查询所有有效资源
**方法**：	GET

**路径**：				/api/resources/active

**功能说明**：
查询所有有效的资源配置列表，用于其他业务通过选择列表选择目标资源。返回所有 status = 1 的资源，不需要分页。优先通过 x-system-code（系统编码）和 x-function（模块编码）进行过滤，同时兼容 systemId/moduleId 查询参数。支持通过 X-Site header 切换站点，切换后查询对应站点的数据库。

### 请求参数
```json
{
  "headers": [
    {
      "name": "x-system-code",
      "type": "string",
      "required": false,
      "description": "系统编码（如 AUTH_MANAGEMENT）。传入后优先用于定位系统"
    },
    {
      "name": "x-function",
      "type": "string",
      "required": false,
      "description": "模块编码或模块ID。传入后用于按模块过滤资源，建议与 x-system-code 搭配"
    }
  ],
  "query": [
    {
      "name": "systemId",
      "type": "string",
      "required": false,
      "description": "所属系统ID（兼容参数）。未传 x-system-code 时可用，不传则返回所有系统的有效资源"
    },
    {
      "name": "moduleId",
      "type": "string",
      "required": false,
      "description": "关联模块ID（兼容参数）。未传 x-function 时可用，用于按模块过滤资源"
    }
  ]
}
```

### 响应示例
```json
{
  "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"
      }
    ]
  }
}
```

### 注意事项
- 仅返回 status = 1 的有效资源
- 按 orderNum 和 createTime 排序
- 不需要分页，返回完整列表
- 优先支持通过 x-system-code（系统编码）过滤指定系统资源
- 优先支持通过 x-function（模块编码/模块ID）过滤指定模块资源（需同时指定系统）
- 兼容通过 systemId/moduleId 查询参数过滤
- 也支持通过路径参数 systemId 查询（如 /api/security/systems/{systemId}/resources/active）


## 2. 获取资源列表
**方法**：	GET

**路径**：				/api/resources

**功能说明**：
分页获取资源列表，支持按名称、类型、系统筛选。支持通过 X-Site header 切换站点，切换后查询对应站点的数据库。

### 请求参数
```json
{
  "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 搭配，用于按模块过滤资源"
    }
  ]
}
```

### 响应示例
```json
{
  "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
    }
  }
}
```

### 注意事项
- 列表结果固定按 orderNum 升序，其次按 createTime 倒序
- orderNum 越小，菜单同级显示越靠前


## 3. 获取资源详情
**方法**：	GET

**路径**：				/api/resources/{id}

**功能说明**：
根据资源ID获取资源详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "资源ID"
    }
  ]
}
```

### 响应示例
```json
{
  "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
  }
}
```


## 4. 创建资源
**方法**：	POST

**路径**：				/api/resources

**功能说明**：
创建新的资源

### 请求参数
```json
{
  "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"
  }
}
```

### 响应示例
```json
{
  "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
  }
}
```

### 注意事项
- code 由系统自动生成，无需传入
- moduleId 可为空；若传入，需为该 systemId 下有效模块
- orderNum 用于菜单树同级排序，值越小越靠前


## 5. 更新资源
**方法**：	PUT

**路径**：				/api/resources/{id}

**功能说明**：
更新指定资源的信息

### 请求参数
```json
{
  "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"
    }
  ]
}
```

### 响应示例
```json
{
  "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
  }
}
```

### 注意事项
- moduleId 为可选字段，可配置/修改/清空模块关联
- 更新 orderNum 后，菜单树同级排序会按新序号生效


## 6. 删除资源
**方法**：	DELETE

**路径**：				/api/resources/{id}

**功能说明**：
删除指定的资源

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "资源ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除资源成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除资源失败",
    "data": null
  }
}
```

## 12. 客户管理 (customer)

> 模块标识：customer  |  接口数量：7

## 1. 获取客户列表
**方法**：	GET

**路径**：				/api/customers

**功能说明**：
分页获取客户列表

### 请求参数
```json
{
  "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": "status",
      "type": "number",
      "required": false,
      "description": "状态过滤"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "CUS0001",
          "name": "示例客户",
          "contactName": "李四",
          "contactPhone": "021-88888888",
          "status": 1
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10,
      "authorizedToMeCustomers": [
        {
          "id": 2,
          "code": "CUS0002",
          "name": "被授权客户",
          "contactName": "王五",
          "contactPhone": "021-66666666",
          "status": 1,
          "grantorUser": {
            "userId": "USER0002",
            "username": "授权方用户",
            "phone": "13800000002",
            "userType": "User"
          },
          "authorizationCreateTime": "2026-04-15T09:00:00.000Z",
          "authorizationUpdateTime": "2026-04-15T09:30:00.000Z"
        }
      ],
      "authorizedByMeCustomers": [
        {
          "customerId": 3,
          "granteeUser": {
            "userId": "USER0003",
            "username": "接收方用户",
            "phone": "13800000003",
            "userType": "User"
          },
          "authorizationCreateTime": "2026-04-15T10:00:00.000Z",
          "authorizationUpdateTime": "2026-04-15T10:15:00.000Z"
        }
      ]
    }
  }
}
```


## 2. 获取客户详情
**方法**：	GET

**路径**：				/api/customers/{id}

**功能说明**：
根据客户ID获取客户详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "客户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "CUS0001",
      "name": "示例客户",
      "contactName": "李四",
      "contactPhone": "021-88888888",
      "status": 1
    }
  },
  "failure": {
    "code": "4040",
    "message": "客户不存在",
    "data": null
  }
}
```


## 3. 创建客户
**方法**：	POST

**路径**：				/api/customers

**功能说明**：
创建新的客户

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，客户名称",
    "contactName": "string｜可选，联系人姓名",
    "contactPhone": "string｜可选，联系人电话",
    "status": "number｜可选，状态：1-合作中，0-已终止"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建客户成功",
    "data": {
      "id": 1,
      "code": "CUS0001",
      "name": "示例客户",
      "contactName": "李四",
      "contactPhone": "021-88888888",
      "status": 1
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建客户失败",
    "data": null
  }
}
```


## 4. 更新客户
**方法**：	PUT

**路径**：				/api/customers/{id}

**功能说明**：
更新指定客户的信息

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，客户名称",
    "contactName": "string｜可选，联系人姓名",
    "contactPhone": "string｜可选，联系人电话",
    "status": "number｜可选，状态：1-合作中，0-已终止"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "客户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新客户成功",
    "data": {
      "id": 1,
      "code": "CUS0001",
      "name": "示例客户",
      "contactName": "李四",
      "contactPhone": "021-88888888",
      "status": 1
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新客户失败",
    "data": null
  }
}
```


## 5. 客户授权
**方法**：	POST

**路径**：				/api/customers/authorize

**功能说明**：
将指定客户授权给目标用户

### 请求参数
```json
{
  "body": {
    "customerIds": "array｜必填，客户ID列表",
    "targetUserId": "string｜必填，接收授权的用户ID",
    "targetUserType": "string｜可选，用户类型（User/ClientUser）"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "客户授权成功",
    "data": {
      "createdCount": 2,
      "skippedCount": 1
    }
  },
  "failure": {
    "code": "4000",
    "message": "客户授权失败",
    "data": null
  }
}
```


## 6. 解除客户授权
**方法**：	POST

**路径**：				/api/customers/unauthorize

**功能说明**：
解除当前用户对指定客户授予目标用户的授权

### 请求参数
```json
{
  "body": {
    "customerIds": "array｜必填，客户ID列表",
    "targetUserId": "string｜必填，接收授权的用户ID",
    "targetUserType": "string｜可选，用户类型（User/ClientUser）"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "客户授权解除成功",
    "data": {
      "revokedCount": 2
    }
  },
  "failure": {
    "code": "4000",
    "message": "解除客户授权失败",
    "data": null
  }
}
```


## 7. 删除客户
**方法**：	DELETE

**路径**：				/api/customers/{id}

**功能说明**：
删除指定的客户

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "客户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除客户成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除客户失败",
    "data": null
  }
}
```

## 13. 会员管理 (member)

> 模块标识：member  |  接口数量：7

## 1. 获取有效会员列表
**方法**：	GET

**路径**：				/api/members/valid-list

**功能说明**：
获取所有状态为有效（status=1）的会员套餐列表，用于下拉选择。无需分页，返回简化的字段信息。

### 请求参数
```json
{}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "操作成功",
    "data": [
      {
        "id": "xxx",
        "_id": "xxx",
        "code": "MEM0001",
        "name": "会员套餐1",
        "description": "套餐描述"
      },
      {
        "id": "yyy",
        "_id": "yyy",
        "code": "MEM0002",
        "name": "会员套餐2",
        "description": "套餐描述"
      }
    ],
    "timestamp": "2025-01-21T10:00:00.000Z"
  },
  "failure": {
    "code": "4000",
    "message": "获取失败",
    "data": null
  }
}
```

### 注意事项
- 该接口仅返回状态为有效（status=1）的会员套餐
- 返回结果按创建时间升序排序
- 需要 members 的 read 权限
- 适用于下拉选择等场景，无需分页


## 2. 获取会员列表
**方法**：	GET

**路径**：				/api/members

**功能说明**：
分页获取会员套餐列表

### 请求参数
```json
{
  "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": "memberTypeId",
      "type": "string",
      "required": false,
      "description": "会员类型ID（会员类型管理记录的_id）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MEM0001",
          "name": "会员套餐名称",
          "memberTypeId": "xxx",
          "price": "99.99",
          "validityDays": 30,
          "description": "套餐描述",
          "status": 1
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 3. 获取会员详情
**方法**：	GET

**路径**：				/api/members/{id}

**功能说明**：
根据会员套餐ID获取会员套餐详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员套餐ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "MEM0001",
      "name": "会员套餐名称",
      "memberTypeId": "xxx",
      "price": "99.99",
      "validityDays": 30,
      "description": "套餐描述",
      "status": 1
    }
  },
  "failure": {
    "code": "4040",
    "message": "会员套餐不存在",
    "data": null
  }
}
```


## 4. 创建会员
**方法**：	POST

**路径**：				/api/members

**功能说明**：
创建新的会员套餐

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，套餐名称",
    "memberTypeId": "string｜可选，会员类型ID（会员类型管理记录的_id），如果提供会校验会员类型是否存在",
    "price": "string｜可选，价格（两位小数，如：99.99）",
    "validityDays": "number｜可选，有效期天数（最小值为1）",
    "description": "string｜可选，套餐描述",
    "status": "number｜可选，状态：1-有效，0-无效，默认0"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建会员成功",
    "data": {
      "id": 1,
      "code": "MEM0001",
      "name": "会员套餐名称",
      "memberTypeId": "xxx",
      "price": "99.99",
      "validityDays": 30,
      "description": "套餐描述",
      "status": 0
    }
  },
  "failure": {
    "code": "4000",
    "message": "关联的会员类型不存在",
    "data": null
  }
}
```

### 注意事项
- 如果提供了memberTypeId，会校验会员类型是否存在，不存在返回错误：关联的会员类型不存在


## 5. 更新会员
**方法**：	PUT

**路径**：				/api/members/{id}

**功能说明**：
更新指定会员套餐的信息

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，套餐名称",
    "memberTypeId": "string｜可选，会员类型ID（会员类型管理记录的_id），如果提供会校验会员类型是否存在",
    "price": "string｜可选，价格（两位小数，如：99.99）",
    "validityDays": "number｜可选，有效期天数（最小值为1）",
    "description": "string｜可选，套餐描述",
    "status": "number｜可选，状态：1-有效，0-无效，默认0"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员套餐ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新会员成功",
    "data": {
      "id": 1,
      "code": "MEM0001",
      "name": "会员套餐名称",
      "memberTypeId": "xxx",
      "price": "99.99",
      "validityDays": 30,
      "description": "套餐描述",
      "status": 1
    }
  },
  "failure": {
    "code": "4000",
    "message": "关联的会员类型不存在",
    "data": null
  }
}
```

### 注意事项
- 如果提供了memberTypeId，会校验会员类型是否存在，不存在返回错误：关联的会员类型不存在
- 有效状态（status=1）的会员套餐不允许修改，会返回错误：有效状态的会员套餐不允许修改


## 6. 删除会员
**方法**：	DELETE

**路径**：				/api/members/{id}

**功能说明**：
删除指定的会员套餐

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员套餐ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除会员成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除会员失败",
    "data": null
  }
}
```

### 注意事项
- 有效状态（status=1）的会员套餐不允许删除，会返回错误：有效状态的会员套餐不允许删除


## 7. 切换会员套餐状态
**方法**：	PUT

**路径**：				/api/members/{id}/status

**功能说明**：
切换会员套餐的启用/禁用状态

### 请求参数
```json
{
  "body": {
    "status": "number｜必填，状态：1-有效，0-无效"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员套餐ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "状态更新成功",
    "data": {
      "id": 1,
      "code": "MEM0001",
      "name": "会员套餐名称",
      "memberTypeId": "xxx",
      "price": "99.99",
      "validityDays": 30,
      "description": "套餐描述",
      "status": 1,
      "updateTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "会员套餐不存在",
    "data": null
  }
}
```

### 注意事项
- 该接口用于切换会员套餐的启用/禁用状态
- 只有通过状态切换接口才能修改有效状态的会员套餐

## 14. 会员类型管理 (memberType)

> 模块标识：memberType  |  接口数量：6

## 1. 获取有效会员类型列表
**方法**：	GET

**路径**：				/api/members/types/valid-list

**功能说明**：
获取所有状态为有效（status=1）的会员类型列表，用于下拉选择。无需分页，返回简化的字段信息。

### 请求参数
```json
{}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "操作成功",
    "data": [
      {
        "id": "xxx",
        "_id": "xxx",
        "code": "VIP",
        "name": "VIP会员",
        "description": "VIP会员类型"
      },
      {
        "id": "yyy",
        "_id": "yyy",
        "code": "GOLD",
        "name": "黄金会员",
        "description": "黄金会员类型"
      }
    ],
    "timestamp": "2025-01-21T10:00:00.000Z"
  },
  "failure": {
    "code": "4000",
    "message": "获取失败",
    "data": null
  }
}
```

### 注意事项
- 该接口仅返回状态为有效（status=1）的会员类型
- 返回结果按创建时间升序排序
- 需要 memberTypes 的 read 权限
- 适用于下拉选择等场景，无需分页


## 2. 获取会员类型列表
**方法**：	GET

**路径**：				/api/members/types

**功能说明**：
分页获取会员类型列表，支持按名称、编码、状态筛选

### 请求参数
```json
{
  "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": "status",
      "type": "number",
      "required": false,
      "description": "状态过滤：1-有效，0-无效"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "VIP",
          "name": "VIP会员",
          "description": "VIP会员类型",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10,
      "totalPages": 10
    }
  }
}
```


## 3. 创建会员类型
**方法**：	POST

**路径**：				/api/members/types

**功能说明**：
创建新的会员类型

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，会员类型名称",
    "code": "string｜必填，会员类型编码",
    "status": "number｜可选，状态：1-有效，0-无效，默认1",
    "description": "string｜可选，描述信息"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建成功",
    "data": {
      "id": 1,
      "code": "VIP",
      "name": "VIP会员",
      "description": "VIP会员类型",
      "status": 1,
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "会员类型编码已存在",
    "data": null
  }
}
```


## 4. 更新会员类型
**方法**：	PUT

**路径**：				/api/members/types/{typeId}

**功能说明**：
更新指定会员类型的信息

### 请求参数
```json
{
  "body": {
    "name": "string｜可选，会员类型名称",
    "code": "string｜可选，会员类型编码",
    "status": "number｜可选，状态：1-有效，0-无效",
    "description": "string｜可选，描述信息"
  },
  "path": [
    {
      "name": "typeId",
      "type": "string",
      "required": true,
      "description": "会员类型ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新成功",
    "data": {
      "id": 1,
      "code": "VIP",
      "name": "VIP会员",
      "description": "VIP会员类型",
      "status": 1,
      "updateTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "会员类型编码已存在",
    "data": null
  }
}
```


## 5. 删除会员类型
**方法**：	DELETE

**路径**：				/api/members/types/{typeId}

**功能说明**：
删除指定的会员类型

### 请求参数
```json
{
  "path": [
    {
      "name": "typeId",
      "type": "string",
      "required": true,
      "description": "会员类型ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除成功",
    "data": null
  },
  "failure": {
    "code": "4000",
    "message": "会员类型仍与会员功能关联，请先解除关联",
    "data": null
  }
}
```


## 6. 切换会员类型状态
**方法**：	PUT

**路径**：				/api/members/types/{typeId}/status

**功能说明**：
切换会员类型的启用/禁用状态

### 请求参数
```json
{
  "body": {
    "status": "number｜必填，状态：1-有效，0-无效"
  },
  "path": [
    {
      "name": "typeId",
      "type": "string",
      "required": true,
      "description": "会员类型ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "状态更新成功",
    "data": {
      "id": 1,
      "code": "VIP",
      "name": "VIP会员",
      "status": 1,
      "updateTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "会员类型不存在",
    "data": null
  }
}
```

## 15. 无状态会员管理 (statelessMember)

> 模块标识：statelessMember  |  接口数量：7

## 1. 获取无状态会员列表
**方法**：	GET

**路径**：				/api/stateless-members

**功能说明**：
分页获取无状态会员列表

### 请求参数
```json
{
  "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": "memberTypeId",
      "type": "string",
      "required": false,
      "description": "按会员类型ID筛选（会员类型管理记录的_id）"
    },
    {
      "name": "status",
      "type": "number",
      "required": false,
      "description": "启用状态过滤：1-有效，0-无效"
    },
    {
      "name": "saleStatus",
      "type": "number",
      "required": false,
      "description": "售卖状态过滤：0-未售（可购买），1-已售（占用）。筛选未售时会包含历史无 saleStatus 字段的记录"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "SM0001",
          "name": "开放平台会员",
          "secretKey": "sk-xxx",
          "memberTypeId": "xxx",
          "status": 1,
          "saleStatus": 0,
          "soldAt": null,
          "soldOrderNo": null
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取无状态会员详情
**方法**：	GET

**路径**：				/api/stateless-members/{id}

**功能说明**：
根据无状态会员ID获取详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "无状态会员ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "SM0001",
      "name": "开放平台会员",
      "secretKey": "sk-xxx",
      "memberTypeId": "xxx",
      "status": 1,
      "saleStatus": 0,
      "soldAt": null,
      "soldOrderNo": null
    }
  },
  "failure": {
    "code": "4040",
    "message": "无状态会员不存在",
    "data": null
  }
}
```


## 3. 创建无状态会员
**方法**：	POST

**路径**：				/api/stateless-members

**功能说明**：
创建新的无状态会员

### 请求参数
```json
{
  "body": {
    "name": "string｜必填，会员名称",
    "memberTypeId": "string｜可选，会员类型ID（会员类型管理记录的_id），如果提供会校验会员类型是否存在",
    "effectiveDate": "string｜必填，生效日期",
    "validityDays": "number｜必填，有效期天数（最小7天）",
    "firstEffectiveDate": "string｜可选，首次生效日期",
    "status": "number｜可选，状态：1-有效，0-无效，默认0",
    "saleStatus": "number｜可选，售卖状态：0-未售，1-已售，默认0。创建时设为1会同时写入 soldAt"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建无状态会员成功",
    "data": {
      "id": 1,
      "code": "SM0001",
      "name": "开放平台会员",
      "secretKey": "sk-xxx",
      "memberTypeId": "xxx",
      "status": 1,
      "saleStatus": 0
    }
  },
  "failure": {
    "code": "4000",
    "message": "关联的会员类型不存在",
    "data": null
  }
}
```

### 注意事项
- secretKey会自动生成，无需手动提供
- 如果提供了memberTypeId，会校验会员类型是否存在，不存在返回错误：关联的会员类型不存在
- saleStatus 表示售卖/占用状态，与 status（启用禁用）独立；不影响 OpenAPI 激活校验


## 4. 更新无状态会员
**方法**：	PUT

**路径**：				/api/stateless-members/{id}

**功能说明**：
更新指定无状态会员的信息

### 请求参数
```json
{
  "body": {
    "name": "string｜可选，会员名称",
    "memberTypeId": "string｜可选，会员类型ID（会员类型管理记录的_id），如果提供会校验会员类型是否存在",
    "effectiveDate": "string｜可选，生效日期",
    "validityDays": "number｜可选，有效期天数（最小7天）",
    "firstEffectiveDate": "string｜可选，首次生效日期",
    "status": "number｜可选，状态：1-有效，0-无效"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "无状态会员ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新无状态会员成功",
    "data": {
      "id": 1,
      "code": "SM0001",
      "name": "开放平台会员",
      "secretKey": "sk-xxx",
      "memberTypeId": "xxx",
      "status": 1
    }
  },
  "failure": {
    "code": "4000",
    "message": "关联的会员类型不存在",
    "data": null
  }
}
```

### 注意事项
- 如果提供了memberTypeId，会校验会员类型是否存在，不存在返回错误：关联的会员类型不存在
- 有效状态（status=1）的无状态会员不允许修改，会返回错误：有效状态的无状态会员不允许修改
- 售卖状态（saleStatus）不可通过本接口修改，请使用 PUT /api/stateless-members/{id}/sale-status


## 5. 删除无状态会员
**方法**：	DELETE

**路径**：				/api/stateless-members/{id}

**功能说明**：
删除指定的无状态会员

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "无状态会员ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除无状态会员成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除无状态会员失败",
    "data": null
  }
}
```

### 注意事项
- 有效状态（status=1）的无状态会员不允许删除，会返回错误：有效状态的无状态会员不允许删除


## 6. 切换无状态会员状态
**方法**：	PUT

**路径**：				/api/stateless-members/{id}/status

**功能说明**：
切换无状态会员的启用/禁用状态

### 请求参数
```json
{
  "body": {
    "status": "number｜必填，状态：1-有效，0-无效"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "无状态会员ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "状态更新成功",
    "data": {
      "id": 1,
      "code": "SM0001",
      "name": "开放平台会员",
      "secretKey": "sk-xxx",
      "memberTypeId": "xxx",
      "effectiveDate": "2025-01-01",
      "validityDays": 365,
      "firstEffectiveDate": "2025-01-01",
      "status": 1,
      "saleStatus": 0,
      "updateTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "无状态会员不存在",
    "data": null
  }
}
```

### 注意事项
- 该接口用于切换无状态会员的启用/禁用状态（status）
- 只有通过状态切换接口才能修改有效状态的无状态会员
- 售卖状态（saleStatus）请使用售卖状态切换接口


## 7. 切换无状态会员售卖状态
**方法**：	PUT

**路径**：				/api/stateless-members/{id}/sale-status

**功能说明**：
标记无状态会员为已售出（占用）或回库为未售。用于手动分发、渠道出库等；一卡一卖，已售不可重复标记为已售。

### 请求参数
```json
{
  "body": {
    "saleStatus": "number｜必填，售卖状态：0-未售（回库），1-已售（占用）",
    "orderNo": "string｜可选，关联订单号；标记为已售时可写入 soldOrderNo"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "无状态会员ID（_id 或数字 id）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "售卖状态更新成功",
    "data": {
      "id": 1,
      "code": "SM0001",
      "name": "开放平台会员",
      "saleStatus": 1,
      "soldAt": "2025-01-15T10:00:00.000Z",
      "soldOrderNo": "ORD-20250115-0010",
      "status": 1,
      "updateTime": "2025-01-15T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "该无状态会员已售出，不可重复售卖",
    "data": null
  },
  "failureNotFound": {
    "code": "4040",
    "message": "无状态会员不存在",
    "data": null
  }
}
```

### 注意事项
- saleStatus=1 时写入 soldAt；可选 orderNo 写入 soldOrderNo
- saleStatus=0 时清除 soldAt、soldOrderNo（回库）
- 已为已售（saleStatus=1）时再次设为 1 会返回：该无状态会员已售出，不可重复售卖
- 售卖状态不影响 OpenAPI 激活/校验；已售卡密在有效期内仍可无限次激活
- 管理端订单（/api/orders）在状态变为 PAID 或 COMPLETED 且带有 statelessMemberId 时，也会自动标记为已售

## 16. 会员用户管理 (memberUser)

> 模块标识：memberUser  |  接口数量：5

## 1. 获取会员用户列表
**方法**：	GET

**路径**：				/api/member-users

**功能说明**：
分页获取会员用户列表。会员用户用于将系统用户或客户端用户与会员（members）关联，供有状态会员 OpenAPI 校验使用。

### 请求参数
```json
{
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "status",
      "type": "number",
      "required": false,
      "description": "按状态筛选：1-有效，0-无效"
    },
    {
      "name": "memberId",
      "type": "string",
      "required": false,
      "description": "按会员ID筛选（会员管理记录的 _id 或 id）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MU0001",
          "userId": "abc123",
          "userType": "clientUser",
          "memberId": "member001",
          "status": 1
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- userId 为绑定的系统用户或客户端用户的主键（_id 或 id），统一存储在该字段
- userType 标识绑定用户类型：user（系统用户）或 clientUser（客户端用户）；OpenAPI 激活创建的记录可能未写入 userType，但有状态会员校验仍可通过 userId 匹配登录用户


## 2. 获取会员用户详情
**方法**：	GET

**路径**：				/api/member-users/{id}

**功能说明**：
根据会员用户ID获取详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员用户ID（_id 或 id）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "MU0001",
      "userId": "abc123",
      "userType": "user",
      "memberId": "member001",
      "status": 1
    }
  },
  "failure": {
    "code": "4040",
    "message": "会员用户不存在",
    "data": null
  }
}
```


## 3. 创建会员用户
**方法**：	POST

**路径**：				/api/member-users

**功能说明**：
创建新的会员用户，手动绑定系统用户或客户端用户到会员记录

### 请求参数
```json
{
  "body": {
    "userId": "string｜可选，绑定的用户主键（users 或 clientUsers 的 _id/id）",
    "userType": "string｜可选，绑定用户类型：user（系统用户）、clientUser（客户端用户）。不传时按系统用户优先、客户端用户次之自动匹配",
    "memberId": "string｜可选，会员ID（会员管理记录的 _id/id），提供时会校验会员是否存在且有效",
    "status": "number｜可选，状态：1-有效，0-无效，默认1",
    "orderNum": "number｜可选，排序号，默认0"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建会员用户成功",
    "data": {
      "id": 1,
      "code": "MU0001",
      "userId": "abc123",
      "userType": "clientUser",
      "memberId": "member001",
      "status": 1
    }
  },
  "failure": {
    "code": "4000",
    "message": "关联的会员不存在",
    "data": null
  }
}
```

### 注意事项
- 若提供 userId，会在当前站点数据范围内校验用户是否存在：userType=user 时仅查 users 表；userType=clientUser 时仅查 clientUsers 表；未传 userType 时先查 users 再查 clientUsers
- 校验通过后服务端会写入 userType 字段，便于管理端区分绑定类型
- 若提供 memberId，会校验会员是否存在且有效（status=1），不存在或已停用分别返回：关联的会员不存在 / 关联的会员已停用
- 用户不存在或无权限访问时返回：用户不存在或无权限访问该用户；指定 clientUser 但未找到时返回：客户端用户不存在或无权限访问该客户端用户


## 4. 更新会员用户
**方法**：	PUT

**路径**：				/api/member-users/{id}

**功能说明**：
更新指定会员用户的信息，支持更换绑定的系统用户或客户端用户

### 请求参数
```json
{
  "body": {
    "userId": "string｜可选，绑定的用户主键（users 或 clientUsers 的 _id/id）",
    "userType": "string｜可选，绑定用户类型：user、clientUser。更换 userId 或未传 userType 时按创建接口相同规则校验；仅更新 userType 时会用现有 userId 重新校验",
    "memberId": "string｜可选，会员ID（会员管理记录的 _id/id），提供时会校验会员是否存在且有效",
    "status": "number｜可选，状态：1-有效，0-无效",
    "orderNum": "number｜可选，排序号"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员用户ID（_id 或 id）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新会员用户成功",
    "data": {
      "id": 1,
      "code": "MU0001",
      "userId": "abc123",
      "userType": "clientUser",
      "memberId": "member001",
      "status": 1
    }
  },
  "failure": {
    "code": "4000",
    "message": "关联的会员不存在",
    "data": null
  }
}
```

### 注意事项
- userId / userType 校验规则与创建接口一致
- 若提供 memberId，会校验会员是否存在且有效（status=1）
- organizationId、ownerId、ownerType 等归属字段不可通过本接口修改


## 5. 删除会员用户
**方法**：	DELETE

**路径**：				/api/member-users/{id}

**功能说明**：
删除指定的会员用户

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员用户ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除会员用户成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除会员用户失败",
    "data": null
  }
}
```

## 17. 会员功能管理 (memberFunction)

> 模块标识：memberFunction  |  接口数量：6

## 1. 获取会员功能列表
**方法**：	GET

**路径**：				/api/members/functions

**功能说明**：
分页获取会员功能配置列表，支持按会员类型、系统、状态筛选

### 请求参数
```json
{
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "memberTypeId",
      "type": "string",
      "required": false,
      "description": "按会员类型ID筛选"
    },
    {
      "name": "systemId",
      "type": "string",
      "required": false,
      "description": "按系统ID筛选"
    },
    {
      "name": "status",
      "type": "number",
      "required": false,
      "description": "状态：1-启用，0-禁用"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MF0001",
          "memberTypeId": "xxx",
          "memberType": "VIP会员",
          "systemId": "yyy",
          "systemName": "权限管理系统",
          "status": 1,
          "description": "会员功能配置示例"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取会员功能详情
**方法**：	GET

**路径**：				/api/members/functions/{id}

**功能说明**：
根据ID获取会员功能配置详情

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员功能ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "MF0001",
      "memberTypeId": "xxx",
      "memberType": "VIP会员",
      "systemId": "yyy",
      "systemName": "权限管理系统",
      "status": 1
    }
  },
  "failure": {
    "code": "4040",
    "message": "会员功能不存在",
    "data": null
  }
}
```


## 3. 创建会员功能
**方法**：	POST

**路径**：				/api/members/functions

**功能说明**：
为会员类型配置系统级功能入口（同会员类型+系统唯一）

### 请求参数
```json
{
  "body": {
    "memberTypeId": "string｜必填，会员类型ID",
    "systemId": "string｜必填，系统ID",
    "status": "number｜可选，状态：1-启用，0-禁用，默认1",
    "description": "string｜可选，描述"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建成功",
    "data": {
      "id": 1,
      "code": "MF0001",
      "memberTypeId": "xxx",
      "memberType": "VIP会员",
      "systemId": "yyy",
      "systemName": "权限管理系统",
      "status": 1
    }
  },
  "failure": {
    "code": "4090",
    "message": "该会员类型在当前系统下已配置功能",
    "data": null
  }
}
```


## 4. 更新会员功能
**方法**：	PUT

**路径**：				/api/members/functions/{id}

**功能说明**：
更新会员功能配置（可更新会员类型、系统、状态、描述）

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员功能ID"
    }
  ],
  "body": {
    "memberTypeId": "string｜可选，会员类型ID",
    "systemId": "string｜可选，系统ID",
    "status": "number｜可选，状态：1-启用，0-禁用",
    "description": "string｜可选，描述"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新成功",
    "data": {
      "id": 1,
      "code": "MF0001",
      "memberTypeId": "xxx",
      "systemId": "yyy",
      "status": 1
    }
  }
}
```


## 5. 删除会员功能
**方法**：	DELETE

**路径**：				/api/members/functions/{id}

**功能说明**：
删除会员功能配置，同时会清理其关联的功能模块关系

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员功能ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除成功",
    "data": {
      "result": true
    }
  }
}
```


## 6. 切换会员功能状态
**方法**：	PUT

**路径**：				/api/members/functions/{id}/status

**功能说明**：
切换会员功能配置启用/禁用状态

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员功能ID"
    }
  ],
  "body": {
    "status": "number｜必填，状态：1-启用，0-禁用"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "状态更新成功",
    "data": {
      "id": 1,
      "code": "MF0001",
      "status": 1
    }
  }
}
```

## 18. 会员功能模块关联 (memberFunctionModule)

> 模块标识：memberFunctionModule  |  接口数量：5

## 1. 获取会员功能模块关联列表
**方法**：	GET

**路径**：				/api/members/functions/{id}/modules

**功能说明**：
分页获取指定会员功能下已关联的功能模块列表（memberFunctionModules）。用于配置某会员类型在某系统下可使用的模块，供 OpenAPI 有状态/无状态会员功能校验使用。

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员功能ID（memberFunctions 的 _id 或 id）"
    }
  ],
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "moduleName",
      "type": "string",
      "required": false,
      "description": "模块名称模糊搜索"
    },
    {
      "name": "status",
      "type": "number",
      "required": false,
      "description": "状态：1-启用，0-禁用"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MFM0001",
          "functionId": "mf001",
          "moduleId": "sm001",
          "moduleCode": "ORDER_MODULE",
          "moduleName": "订单管理",
          "status": 1
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 路径参数 id 对应 memberFunctions 记录主键
- moduleId 为系统模块 securityModules 的主键（或 code），与 resources 表无关；资源在资源管理中通过 moduleId 字段关联到系统模块
- OpenAPI 校验使用 memberFunctionModules 的 moduleId（securityModules）与 moduleCode（自定义模块）


## 2. 创建会员功能模块关联
**方法**：	POST

**路径**：				/api/members/functions/{id}/modules

**功能说明**：
为指定会员功能新增模块关联

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员功能ID"
    }
  ],
  "body": {
    "moduleId": "string｜可选，关联 securityModules 表记录 _id/id/code；提供时服务端自动填充 moduleCode/moduleName，并校验模块 systemId 与会员功能 systemId 一致",
    "moduleCode": "string｜未提供 moduleId 时必填（与 moduleName 成对），自定义模块编码",
    "moduleName": "string｜未提供 moduleId 时必填（与 moduleCode 成对），自定义模块名称",
    "status": "number｜可选，状态：1-启用，0-禁用，默认1",
    "description": "string｜可选，描述"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建成功",
    "data": {
      "id": 1,
      "code": "MFM0001",
      "functionId": "mf001",
      "moduleId": "sm001",
      "moduleCode": "ORDER_MODULE",
      "moduleName": "订单管理",
      "status": 1
    }
  },
  "failure": {
    "code": "4090",
    "message": "该模块已与会员功能关联",
    "data": null
  }
}
```

### 注意事项
- 二选一：传 moduleId 关联系统模块（securityModules），或传 moduleCode+moduleName 自定义模块
- 不与 resources 表发生关联；需限制某模块下资源时，在资源管理里为资源设置 moduleId 指向同一系统模块
- 同一 functionId 下相同 moduleId 或 moduleCode 不可重复关联


## 3. 更新会员功能模块关联
**方法**：	PUT

**路径**：				/api/members/functions/{id}/modules/{functionModuleId}

**功能说明**：
更新指定会员功能下的模块关联信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员功能ID"
    },
    {
      "name": "functionModuleId",
      "type": "string",
      "required": true,
      "description": "会员功能模块关联ID（memberFunctionModules 的 _id 或 id）"
    }
  ],
  "body": {
    "moduleId": "string｜可选，更换关联的系统模块 ID 或 code",
    "moduleCode": "string｜可选，自定义模块编码（与 moduleName 配合使用）",
    "moduleName": "string｜可选，自定义模块名称（与 moduleCode 配合使用）",
    "status": "number｜可选，状态：1-启用，0-禁用",
    "description": "string｜可选，描述"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新成功",
    "data": {
      "id": 1,
      "code": "MFM0001",
      "moduleCode": "CUSTOM_FEATURE",
      "moduleName": "自定义功能",
      "status": 1
    }
  },
  "failure": {
    "code": "4040",
    "message": "会员功能模块关联不存在",
    "data": null
  }
}
```


## 4. 删除会员功能模块关联
**方法**：	DELETE

**路径**：				/api/members/functions/{id}/modules/{functionModuleId}

**功能说明**：
删除指定会员功能下的模块关联

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员功能ID"
    },
    {
      "name": "functionModuleId",
      "type": "string",
      "required": true,
      "description": "会员功能模块关联ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4040",
    "message": "会员功能模块关联不存在",
    "data": null
  }
}
```


## 5. 切换会员功能模块关联状态
**方法**：	PUT

**路径**：				/api/members/functions/{id}/modules/{functionModuleId}/status

**功能说明**：
启用或禁用指定会员功能下的模块关联

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "会员功能ID"
    },
    {
      "name": "functionModuleId",
      "type": "string",
      "required": true,
      "description": "会员功能模块关联ID"
    }
  ],
  "body": {
    "status": "number｜必填，状态：1-启用，0-禁用"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "状态更新成功",
    "data": {
      "id": 1,
      "code": "MFM0001",
      "status": 0
    }
  }
}
```

## 19. 会员功能限制配置 (memberFunctionLimit)

> 模块标识：memberFunctionLimit  |  接口数量：5

## 1. 获取会员功能限制列表
**方法**：	GET

**路径**：				/api/members/function-limits

**功能说明**：
分页获取会员功能限制配置，支持按会员类型、系统、模块、状态筛选

### 请求参数
```json
{
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "memberTypeId",
      "type": "string",
      "required": false,
      "description": "会员类型ID"
    },
    {
      "name": "systemId",
      "type": "string",
      "required": false,
      "description": "系统ID"
    },
    {
      "name": "moduleId",
      "type": "string",
      "required": false,
      "description": "模块ID"
    },
    {
      "name": "status",
      "type": "number",
      "required": false,
      "description": "状态：1-启用，0-禁用"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MFL0001",
          "memberTypeId": "xxx",
          "memberTypeName": "VIP会员",
          "systemId": "yyy",
          "systemName": "权限管理系统",
          "moduleId": "zzz",
          "moduleName": "订单管理",
          "limitValue": 100,
          "status": 1
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 创建会员功能限制
**方法**：	POST

**路径**：				/api/members/function-limits

**功能说明**：
创建会员类型在系统模块上的额度限制（memberTypeId+systemId+moduleId唯一）

### 请求参数
```json
{
  "body": {
    "memberTypeId": "string｜必填，会员类型ID",
    "systemId": "string｜必填，系统ID",
    "moduleId": "string｜必填，模块ID",
    "limitValue": "number｜必填，限制值（>=0）",
    "status": "number｜可选，状态：1-启用，0-禁用，默认1",
    "description": "string｜可选，描述"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建成功",
    "data": {
      "id": 1,
      "code": "MFL0001",
      "memberTypeId": "xxx",
      "systemId": "yyy",
      "moduleId": "zzz",
      "limitValue": 100,
      "status": 1
    }
  }
}
```


## 3. 更新会员功能限制
**方法**：	PUT

**路径**：				/api/members/function-limits/{limitId}

**功能说明**：
更新指定限制配置

### 请求参数
```json
{
  "path": [
    {
      "name": "limitId",
      "type": "string",
      "required": true,
      "description": "限制配置ID"
    }
  ],
  "body": {
    "memberTypeId": "string｜可选，会员类型ID",
    "systemId": "string｜可选，系统ID",
    "moduleId": "string｜可选，模块ID",
    "limitValue": "number｜可选，限制值（>=0）",
    "status": "number｜可选，状态：1-启用，0-禁用",
    "description": "string｜可选，描述"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新成功",
    "data": {
      "id": 1,
      "code": "MFL0001",
      "limitValue": 200,
      "status": 1
    }
  }
}
```


## 4. 删除会员功能限制
**方法**：	DELETE

**路径**：				/api/members/function-limits/{limitId}

**功能说明**：
删除指定限制配置

### 请求参数
```json
{
  "path": [
    {
      "name": "limitId",
      "type": "string",
      "required": true,
      "description": "限制配置ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除成功",
    "data": {
      "result": true
    }
  }
}
```


## 5. 切换会员功能限制状态
**方法**：	PUT

**路径**：				/api/members/function-limits/{limitId}/status

**功能说明**：
切换限制配置启用/禁用状态

### 请求参数
```json
{
  "path": [
    {
      "name": "limitId",
      "type": "string",
      "required": true,
      "description": "限制配置ID"
    }
  ],
  "body": {
    "status": "number｜必填，状态：1-启用，0-禁用"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "状态更新成功",
    "data": {
      "id": 1,
      "code": "MFL0001",
      "status": 1
    }
  }
}
```

## 20. 白名单管理 (whitelist)

> 模块标识：whitelist  |  接口数量：5

## 1. 获取白名单列表
**方法**：	GET

**路径**：				/api/whitelists

**功能说明**：
分页获取白名单列表

### 请求参数
```json
{
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "userId",
      "type": "string",
      "required": false,
      "description": "按用户筛选"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "userId": "USER0001",
          "reason": "业务合作",
          "createTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取白名单详情
**方法**：	GET

**路径**：				/api/whitelists/{id}

**功能说明**：
根据白名单ID获取详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "白名单ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "userId": "USER0001",
      "reason": "业务合作",
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "白名单不存在",
    "data": null
  }
}
```


## 3. 创建白名单
**方法**：	POST

**路径**：				/api/whitelists

**功能说明**：
创建新的白名单

### 请求参数
```json
{
  "body": {
    "userId": "string｜必填，用户ID",
    "reason": "string｜可选，加入白名单原因"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建白名单成功",
    "data": {
      "id": 1,
      "userId": "USER0001",
      "reason": "业务合作",
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建白名单失败",
    "data": null
  }
}
```


## 4. 更新白名单
**方法**：	PUT

**路径**：				/api/whitelists/{id}

**功能说明**：
更新指定白名单的信息

### 请求参数
```json
{
  "body": {
    "userId": "string｜必填，用户ID",
    "reason": "string｜可选，加入白名单原因"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "白名单ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新白名单成功",
    "data": {
      "id": 1,
      "userId": "USER0001",
      "reason": "业务合作",
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新白名单失败",
    "data": null
  }
}
```


## 5. 删除白名单
**方法**：	DELETE

**路径**：				/api/whitelists/{id}

**功能说明**：
删除指定的白名单

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "白名单ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除白名单成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除白名单失败",
    "data": null
  }
}
```

## 21. 黑名单管理 (blacklist)

> 模块标识：blacklist  |  接口数量：5

## 1. 获取黑名单列表
**方法**：	GET

**路径**：				/api/blacklists

**功能说明**：
分页获取黑名单列表

### 请求参数
```json
{
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "userId",
      "type": "string",
      "required": false,
      "description": "按用户筛选"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "userId": "USER0002",
          "reason": "恶意操作",
          "createTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取黑名单详情
**方法**：	GET

**路径**：				/api/blacklists/{id}

**功能说明**：
根据黑名单ID获取详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "黑名单ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "userId": "USER0002",
      "reason": "恶意操作",
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "黑名单不存在",
    "data": null
  }
}
```


## 3. 创建黑名单
**方法**：	POST

**路径**：				/api/blacklists

**功能说明**：
创建新的黑名单

### 请求参数
```json
{
  "body": {
    "userId": "string｜必填，用户ID",
    "reason": "string｜可选，加入黑名单原因"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建黑名单成功",
    "data": {
      "id": 1,
      "userId": "USER0002",
      "reason": "恶意操作",
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建黑名单失败",
    "data": null
  }
}
```


## 4. 更新黑名单
**方法**：	PUT

**路径**：				/api/blacklists/{id}

**功能说明**：
更新指定黑名单的信息

### 请求参数
```json
{
  "body": {
    "userId": "string｜必填，用户ID",
    "reason": "string｜可选，加入黑名单原因"
  },
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "黑名单ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新黑名单成功",
    "data": {
      "id": 1,
      "userId": "USER0002",
      "reason": "恶意操作",
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "更新黑名单失败",
    "data": null
  }
}
```


## 5. 删除黑名单
**方法**：	DELETE

**路径**：				/api/blacklists/{id}

**功能说明**：
删除指定的黑名单

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "黑名单ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除黑名单成功",
    "data": {
      "result": true
    }
  },
  "failure": {
    "code": "4000",
    "message": "删除黑名单失败",
    "data": null
  }
}
```

## 22. 用户反馈管理 (userFeedback)

> 模块标识：userFeedback  |  接口数量：3

## 1. 获取用户反馈列表
**方法**：	GET

**路径**：				/api/user-feedbacks

**功能说明**：
分页获取用户反馈列表，支持按系统编码筛选

### 请求参数
```json
{
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "systemCode",
      "type": "string",
      "required": false,
      "description": "按系统编码筛选"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "UF0001",
          "systemCode": "AUTH_MANAGEMENT",
          "payload": {
            "content": "功能建议",
            "type": "feature"
          },
          "siteKey": "86AFEA7A-xxxx",
          "createTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 100,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```


## 2. 获取用户反馈详情
**方法**：	GET

**路径**：				/api/user-feedbacks/{id}

**功能说明**：
根据反馈ID获取详细信息

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "用户反馈ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "UF0001",
      "systemCode": "AUTH_MANAGEMENT",
      "payload": {
        "content": "功能建议",
        "type": "feature"
      },
      "siteKey": "86AFEA7A-xxxx",
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4040",
    "message": "用户反馈不存在",
    "data": null
  }
}
```


## 3. 提交用户反馈（管理端）
**方法**：	POST

**路径**：				/api/user-feedbacks

**功能说明**：
管理端提交用户反馈，请求 JSON 原样存入 payload 字段，systemCode 来自 X-System-Code 请求头

### 请求参数
```json
{
  "body": {
    "content": "string｜可选，反馈内容（示例字段，实际 JSON 任意结构）",
    "type": "string｜可选，反馈类型"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建用户反馈成功",
    "data": {
      "id": 1,
      "code": "UF0001",
      "systemCode": "AUTH_MANAGEMENT",
      "payload": {
        "content": "功能建议",
        "type": "feature"
      },
      "siteKey": "86AFEA7A-xxxx",
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "4000",
    "message": "创建用户反馈失败",
    "data": null
  }
}
```

## 23. 审核管理 (auditRecord)

> 模块标识：auditRecord  |  接口数量：6

## 1. 获取审核记录列表
**方法**：	GET

**路径**：				/api/audit-records

**功能说明**：
分页获取审核记录列表，支持按审核类型、状态、系统来源、关联ID筛选

### 请求参数
```json
{
  "query": [
    {
      "name": "pageNum",
      "type": "number",
      "required": false,
      "description": "页码，默认1"
    },
    {
      "name": "pageSize",
      "type": "number",
      "required": false,
      "description": "每页数量，默认10"
    },
    {
      "name": "auditType",
      "type": "string",
      "required": false,
      "description": "审核类型：REGISTER_USER（注册-用户）、REGISTER_CLIENT（注册-客户端）"
    },
    {
      "name": "status",
      "type": "number",
      "required": false,
      "description": "审核状态：0-待审核，1-通过，2-拒绝"
    },
    {
      "name": "systemSource",
      "type": "string",
      "required": false,
      "description": "系统来源编码"
    },
    {
      "name": "relatedId",
      "type": "string",
      "required": false,
      "description": "关联业务记录ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "AR0001",
          "auditType": "REGISTER_USER",
          "relatedId": "user-id",
          "relatedCollection": "users",
          "individualism": true,
          "status": 0,
          "applyTime": "2025-01-01T10:00:00.000Z",
          "auditTime": null,
          "auditRemark": null,
          "auditor": null,
          "siteKey": "86AFEA7A-xxxx",
          "systemSource": "AUTH_MANAGEMENT"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10,
      "totalPages": 1
    }
  }
}
```


## 2. 获取审核记录详情
**方法**：	GET

**路径**：				/api/audit-records/{id}

**功能说明**：
根据ID获取审核记录详情

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "审核记录ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": {
      "id": 1,
      "code": "AR0001",
      "auditType": "REGISTER_CLIENT",
      "relatedId": "client-user-id",
      "status": 0,
      "applyTime": "2025-01-01T10:00:00.000Z",
      "siteKey": "86AFEA7A-xxxx",
      "systemSource": "AUTH_MANAGEMENT"
    }
  },
  "failure": {
    "code": "4040",
    "message": "审核记录不存在",
    "data": null
  }
}
```


## 3. 创建审核记录
**方法**：	POST

**路径**：				/api/audit-records

**功能说明**：
管理端手动创建审核记录（OpenAPI 注册会自动创建）

### 请求参数
```json
{
  "body": {
    "auditType": "string｜必填，REGISTER_USER 或 REGISTER_CLIENT",
    "relatedId": "string｜必填，关联业务记录 _id",
    "relatedCollection": "string｜可选，users 或 clientUsers",
    "individualism": "boolean｜可选，注册类审核是否需开通独立站点",
    "organizationId": "string｜可选，企业注册时的组织ID",
    "systemSource": "string｜可选，系统来源编码",
    "applyRemark": "string｜可选，申请备注"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "创建审核记录成功",
    "data": {
      "id": 1,
      "code": "AR0001",
      "auditType": "REGISTER_USER",
      "status": 0,
      "applyTime": "2025-01-01T10:00:00.000Z"
    }
  }
}
```


## 4. 更新审核记录
**方法**：	PUT

**路径**：				/api/audit-records/{id}

**功能说明**：
更新待审核记录的备注等信息（仅 status=0 可更新）

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "审核记录ID"
    }
  ],
  "body": {
    "auditRemark": "string｜可选，审核备注",
    "applyRemark": "string｜可选，申请备注"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "更新审核记录成功",
    "data": {
      "id": 1,
      "code": "AR0001",
      "applyRemark": "补充说明"
    }
  }
}
```


## 5. 删除审核记录
**方法**：	DELETE

**路径**：				/api/audit-records/{id}

**功能说明**：
删除指定的审核记录

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "审核记录ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "删除审核记录成功",
    "data": {
      "result": true
    }
  }
}
```


## 6. 审核（通过/拒绝）
**方法**：	POST

**路径**：				/api/audit-records/{id}/review

**功能说明**：
对待审核记录执行通过或拒绝。通过时按 auditType 调用对应业务执行器：注册类审核会启用账号，若 individualism=true 且 ENABLE_SITE_PROVISIONING 开启则开通独立站点

### 请求参数
```json
{
  "path": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "审核记录ID"
    }
  ],
  "body": {
    "status": "number｜必填，1-通过，2-拒绝",
    "auditRemark": "string｜可选，审核备注"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "审核通过",
    "data": {
      "record": {
        "id": 1,
        "code": "AR0001",
        "status": 1,
        "auditTime": "2025-01-01T11:00:00.000Z",
        "auditor": "13800000000"
      },
      "executionResult": {
        "accountType": "company",
        "site": {
          "siteKey": "A1B2C3D4-xxxx"
        }
      }
    }
  },
  "failure": {
    "code": "4090",
    "message": "该审核记录已处理，无法重复审核",
    "data": null
  }
}
```

### 注意事项
- 审核类型 REGISTER_USER / REGISTER_CLIENT 分别对应注册-用户、注册-客户端业务执行器
- 扩展新审核类型时，在 auditApprovalExecutorRegistry 注册新的执行策略即可

## 24. 安全系统管理 (securitySystem)

> 模块标识：securitySystem  |  接口数量：2

## 1. 查询所有有效系统
**方法**：	GET

**路径**：				/api/security/systems/active

**功能说明**：
查询所有有效的系统配置列表，用于其他业务通过选择列表选择目标系统。返回所有 status = 1 的系统，不需要分页

### 请求参数
```json
{}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": [
      {
        "id": 1,
        "code": "AUTH",
        "name": "权限管理系统",
        "status": 1,
        "description": "权限管理系统描述",
        "createTime": "2025-01-01T10:00:00.000Z",
        "updateTime": "2025-01-01T10:00:00.000Z"
      },
      {
        "id": 2,
        "code": "ORDER",
        "name": "订单管理系统",
        "status": 1,
        "description": "订单管理系统描述",
        "createTime": "2025-01-01T11:00:00.000Z",
        "updateTime": "2025-01-01T11:00:00.000Z"
      }
    ]
  }
}
```

### 注意事项
- 仅返回 status = 1 的有效系统
- 按创建时间倒序排列
- 不需要分页，返回完整列表


## 2. 查询某个系统下的有效模块
**方法**：	GET

**路径**：				/api/security/systems/{systemId}/modules/active

**功能说明**：
查询指定系统下所有有效的模块列表，用于其他业务通过选择列表选择目标模块。返回所有 status = 1 的模块，不需要分页

### 请求参数
```json
{
  "path": [
    {
      "name": "systemId",
      "type": "string",
      "required": true,
      "description": "系统ID"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "获取成功",
    "data": [
      {
        "id": 1,
        "code": "AUTH_USER",
        "name": "用户管理模块",
        "systemId": "系统ID",
        "systemName": "权限管理系统",
        "status": 1,
        "description": "用户管理模块描述",
        "createTime": "2025-01-01T10:00:00.000Z",
        "updateTime": "2025-01-01T10:00:00.000Z"
      },
      {
        "id": 2,
        "code": "AUTH_ROLE",
        "name": "角色管理模块",
        "systemId": "系统ID",
        "systemName": "权限管理系统",
        "status": 1,
        "description": "角色管理模块描述",
        "createTime": "2025-01-01T11:00:00.000Z",
        "updateTime": "2025-01-01T11:00:00.000Z"
      }
    ]
  },
  "failure": {
    "code": "4040",
    "message": "系统不存在",
    "data": null
  }
}
```

### 注意事项
- 仅返回指定系统下 status = 1 的有效模块
- 按创建时间倒序排列
- 不需要分页，返回完整列表
- 如果系统不存在，返回404错误

## 25. OpenAPI 接口 (openapi)

> 模块标识：openapi  |  接口数量：76

## 1. 有状态会员有效性校验（场景A）
**方法**：	POST

**路径**：				/openapi/memberships/valid-check

**功能说明**：
场景A：校验已登录用户的会员是否有效（未过期），不校验系统支持。适用于第三方已持有用户登录令牌，只需确认该用户是否有效会员的场景。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN（通过 /memberships/login 获取）"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（用于路由到正确数据库）"
    }
  ]
}
```

### 响应示例

#### 校验通过

```json
{
  "code": "0000",
  "message": "会员有效",
  "data": {
    "valid": true,
    "remainingDays": 20,
    "memberType": {
      "id": "xxx",
      "name": "黄金会员",
      "code": "H001"
    },
    "memberUser": {
      "id": "mu001",
      "code": "MU000001",
      "effectiveDate": "2026-03-01",
      "validityDays": 30
    },
    "user": {
      "id": "u001",
      "code": "CU000001",
      "phone": "138****8888",
      "name": "张三"
    }
  }
}
```

#### 未找到有效会员记录

```json
{
  "code": "1503",
  "message": "未找到有效的会员记录",
  "data": null
}
```

#### 令牌无效

```json
{
  "code": "1002",
  "message": "访问令牌无效或已过期",
  "data": null
}
```

### 注意事项
- 系统自动取该用户最新一条未过期的 memberUser 记录
- 场景B（验系统支持）请使用 /memberships/check
- 场景C（验功能模块）请使用 /memberships/functionCheck
- 场景D（验功能限额）请使用 /memberships/limitCheck


## 2. 有状态会员系统支持校验（场景B）
**方法**：	POST

**路径**：				/openapi/memberships/check

**功能说明**：
场景B：校验已登录用户的会员有效性，并校验该用户的会员类型是否已配置支持指定系统。适用于系统级访问控制，如黄金会员才能访问系统B。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码，同时作为校验目标（会员类型是否支持该系统）"
    }
  ]
}
```

### 响应示例

#### 校验通过

```json
{
  "code": "0000",
  "message": "校验通过",
  "data": {
    "valid": true,
    "remainingDays": 20,
    "memberType": {
      "id": "xxx",
      "name": "钻石会员",
      "code": "D001"
    },
    "memberUser": {
      "id": "mu001",
      "code": "MU000001",
      "effectiveDate": "2026-03-01",
      "validityDays": 30
    },
    "user": {
      "id": "u001",
      "code": "CU000001",
      "phone": "138****8888",
      "name": "张三"
    },
    "system": {
      "code": "system-b",
      "name": "系统B"
    }
  }
}
```

#### 会员类型不支持该系统

```json
{
  "code": "1007",
  "message": "会员类型未授权当前系统",
  "data": null
}
```

#### 未找到有效会员记录

```json
{
  "code": "1503",
  "message": "未找到有效的会员记录",
  "data": null
}
```

### 注意事项
- 需在管理后台「会员功能管理」中为该会员类型配置支持该系统，否则会返回1007
- 系统校验基于 memberFunctions 表（memberTypeId + systemId + status=1）


## 3. 有状态会员功能模块校验（场景C）
**方法**：	POST

**路径**：				/openapi/memberships/functionCheck

**功能说明**：
场景C：在场景B基础上，进一步校验该用户的会员类型在指定系统下是否开通了特定功能模块。适用于菜单/功能级别的精细控制。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Function",
      "type": "string",
      "required": true,
      "description": "功能模块代码（moduleCode），如 VIDEO_DOWNLOAD"
    }
  ]
}
```

### 响应示例

#### 校验通过

```json
{
  "code": "0000",
  "message": "校验通过",
  "data": {
    "valid": true,
    "remainingDays": 20,
    "memberType": {
      "id": "xxx",
      "name": "钻石会员",
      "code": "D001"
    },
    "memberUser": {
      "id": "mu001",
      "code": "MU000001",
      "effectiveDate": "2026-03-01",
      "validityDays": 30
    },
    "user": {
      "id": "u001",
      "code": "CU000001",
      "phone": "138****8888",
      "name": "张三"
    },
    "system": {
      "code": "system-b",
      "name": "系统B"
    },
    "function": {
      "code": "VIDEO_DOWNLOAD",
      "name": "视频下载"
    }
  }
}
```

#### 会员不支持该功能

```json
{
  "code": "1508",
  "message": "当前会员不支持当前功能",
  "data": null
}
```

#### 会员类型不支持该系统

```json
{
  "code": "1007",
  "message": "会员类型未授权当前系统",
  "data": null
}
```

### 注意事项
- 需在管理后台「会员功能模块」中为该会员类型的系统功能配置对应模块
- X-Function 传入 securityModules.code 或自定义 moduleCode（memberFunctionModules 中配置的模块编码）


## 4. 有状态会员限额校验（场景D）
**方法**：	POST

**路径**：				/openapi/memberships/limitCheck

**功能说明**：
场景D：在场景C基础上，校验指定系统模块（X-Function → securityModules）的使用量是否已达 memberFunctionLimits 配置上限。不查询用户 RBAC 资源。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Function",
      "type": "string",
      "required": true,
      "description": "功能模块代码"
    }
  ],
  "body": {
    "currentCount": "number｜必填，当前已使用次数/数量（由第三方系统维护）"
  }
}
```

### 响应示例

#### 校验通过（有限额）

```json
{
  "code": "0000",
  "message": "校验通过",
  "data": {
    "valid": true,
    "remainingDays": 20,
    "memberType": {
      "id": "xxx",
      "name": "钻石会员",
      "code": "D001"
    },
    "memberUser": {
      "id": "mu001",
      "code": "MU000001",
      "effectiveDate": "2026-03-01",
      "validityDays": 30
    },
    "user": {
      "id": "u001",
      "code": "CU000001",
      "phone": "138****8888",
      "name": "张三"
    },
    "system": {
      "code": "system-b",
      "name": "系统B"
    },
    "function": {
      "code": "DATA_SAVE",
      "name": "数据保存"
    },
    "limit": {
      "value": 10,
      "current": 8,
      "remaining": 2
    }
  }
}
```

#### 校验通过（无限额）

```json
{
  "code": "0000",
  "message": "校验通过",
  "data": {
    "valid": true,
    "limit": null
  }
}
```

#### 已达使用上限

```json
{
  "code": "1010",
  "message": "当前功能使用已达上限（10）",
  "data": {
    "limitValue": 10,
    "currentCount": 10
  }
}
```

### 注意事项
- 仅校验系统模块（securityModules）及 memberFunctionLimits，不查询用户 RBAC 资源
- limit 为 null 表示未配置限额，不限次数
- currentCount 由第三方系统传入，本系统不持久化使用记录
- 限额配置在管理后台「会员功能限制」中设置（memberFunctionLimits 表）


## 5. 无状态会员资源校验（场景A）
**方法**：	POST

**路径**：				/openapi/stateless-members/resources/valid-check

**功能说明**：
返回与 /openapi/permissions/check 一致的资源结构，并叠加无状态会员有效性约束（仅校验会员有效）。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "账号登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "user": {
        "id": "u001",
        "code": "CU000001",
        "username": "张三",
        "type": "clientUser"
      },
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```

### 注意事项
- 响应结构与 /openapi/permissions/check 一致
- 当会员约束不满足时，返回空资源（resources=[]）


## 6. 无状态会员资源校验（场景B）
**方法**：	POST

**路径**：				/openapi/stateless-members/resources/check

**功能说明**：
返回与 /openapi/permissions/check 一致的资源结构，并叠加无状态会员有效性+系统支持约束。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "账号登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "system": {
        "code": "AUTH_MANAGEMENT",
        "name": "权限管理系统"
      },
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```

### 注意事项
- 系统级校验与 /openapi/stateless-members/check 参数要求一致
- 会员不支持系统时，资源返回为空


## 7. 无状态会员资源校验（场景C）
**方法**：	POST

**路径**：				/openapi/stateless-members/resources/functionCheck

**功能说明**：
返回与 /openapi/permissions/check 一致的资源结构，并叠加无状态会员有效性+系统约束。系统会自动解析该会员在当前系统下已授权的模块，并返回对应模块资源。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "账号登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```


## 8. 无状态会员资源校验（场景D）
**方法**：	POST

**路径**：				/openapi/stateless-members/resources/limitCheck

**功能说明**：
返回与 /openapi/permissions/check 一致的资源结构，并叠加无状态会员有效性+系统+限额约束。系统会自动按会员在当前系统下已授权模块过滤资源，并对这些模块应用限额筛选。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "账号登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ],
  "body": {
    "currentCount": "number｜必填，当前已使用次数/数量"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```


## 9. 有状态会员资源校验（场景A）
**方法**：	POST

**路径**：				/openapi/memberships/resources/valid-check

**功能说明**：
返回与 /openapi/permissions/check 一致的资源结构，并叠加有状态会员有效性约束。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```


## 10. 有状态会员资源校验（场景B）
**方法**：	POST

**路径**：				/openapi/memberships/resources/check

**功能说明**：
返回与 /openapi/permissions/check 一致的资源结构，并叠加有状态会员有效性+系统支持约束。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```


## 11. 有状态会员资源校验（场景C）
**方法**：	POST

**路径**：				/openapi/memberships/resources/functionCheck

**功能说明**：
返回与 /openapi/permissions/check 一致的资源结构，并叠加有状态会员有效性+系统约束。系统会自动解析该会员在当前系统下已授权的模块，并返回对应模块资源。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```


## 12. 有状态会员资源校验（场景D）
**方法**：	POST

**路径**：				/openapi/memberships/resources/limitCheck

**功能说明**：
返回与 /openapi/permissions/check 一致的资源结构。流程：① 取用户 RBAC 资源并按系统过滤；② 按会员已授权系统模块（memberFunctionModules.moduleId → 与 resource.moduleId 匹配）筛选；③ 对仍关联到已超限模块（memberFunctionLimits）的资源剔除。不通过 moduleId 查 resources 主键。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ],
  "body": {
    "currentCount": "number｜必填，当前已使用次数/数量"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```

### 注意事项
- resource.moduleId 应指向 securityModules（在资源管理中设置），与 memberFunctionModules.moduleId 同一套模块体系
- currentCount 与 memberFunctionLimits 按 moduleId 比对；超限时剔除该模块下的资源
- 会员条件不满足时返回空资源，而不是抛错


## 13. 无状态会员+用户资源合并（场景A）
**方法**：	POST

**路径**：				/openapi/stateless-members/resources/combined-valid-check

**功能说明**：
返回用户 RBAC 绑定资源与无状态会员授权资源的并集，响应结构与 /openapi/permissions/check 一致。先校验无状态会员有效性，再合并用户角色资源；会员约束不满足时仍返回用户自身资源。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "账号登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "user": {
        "id": "u001",
        "code": "CU000001",
        "username": "张三",
        "type": "clientUser"
      },
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```

### 注意事项
- 与 /openapi/stateless-members/resources/valid-check 的区别：本接口始终包含用户 RBAC 资源，并叠加会员模块资源
- 会员约束失败时不抛错，仍返回用户 RBAC 资源
- 相同资源按 _id/id 去重


## 14. 无状态会员+用户资源合并（场景B）
**方法**：	POST

**路径**：				/openapi/stateless-members/resources/combined-check

**功能说明**：
返回用户 RBAC 资源（按系统过滤）与无状态会员在当前系统下授权模块资源的并集。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "账号登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```

### 注意事项
- 用户 RBAC 资源与会员资源均按 X-System-Code 过滤
- 会员不支持当前系统时仍返回用户 RBAC 资源


## 15. 无状态会员+用户资源合并（场景C）
**方法**：	POST

**路径**：				/openapi/stateless-members/resources/combined-functionCheck

**功能说明**：
与 combined-check 相同：返回用户 RBAC 资源与无状态会员在当前系统下已授权模块资源的并集。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "账号登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```


## 16. 无状态会员+用户资源合并（场景D）
**方法**：	POST

**路径**：				/openapi/stateless-members/resources/combined-limitCheck

**功能说明**：
返回用户 RBAC 资源与无状态会员资源的并集；会员资源部分按 memberFunctionLimits 做限额筛选，用户 RBAC 资源不受限额影响。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "账号登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ],
  "body": {
    "currentCount": "number｜必填，当前已使用次数/数量"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```

### 注意事项
- 限额仅作用于会员模块资源，用户 RBAC 资源始终保留
- 会员约束失败时仍返回用户 RBAC 资源


## 17. 有状态会员+用户资源合并（场景A）
**方法**：	POST

**路径**：				/openapi/memberships/resources/combined-valid-check

**功能说明**：
返回用户 RBAC 绑定资源与有状态会员授权模块资源的并集。先校验会员有效性，再合并用户角色资源；会员无效时仍返回用户自身资源。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```

### 注意事项
- 与 /openapi/memberships/resources/valid-check 的区别：本接口始终包含用户 RBAC 资源
- 相同资源按 _id/id 去重


## 18. 有状态会员+用户资源合并（场景B）
**方法**：	POST

**路径**：				/openapi/memberships/resources/combined-check

**功能说明**：
返回用户 RBAC 资源（按系统过滤）与有状态会员在当前系统下授权模块资源的并集。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```


## 19. 有状态会员+用户资源合并（场景C）
**方法**：	POST

**路径**：				/openapi/memberships/resources/combined-functionCheck

**功能说明**：
与 combined-check 相同：返回用户 RBAC 资源与有状态会员在当前系统下已授权模块资源的并集。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```


## 20. 有状态会员+用户资源合并（场景D）
**方法**：	POST

**路径**：				/openapi/memberships/resources/combined-limitCheck

**功能说明**：
返回用户 RBAC 资源与有状态会员资源的并集；会员资源部分按 memberFunctionLimits 做限额筛选，用户 RBAC 资源不受限额影响。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "用户登录令牌，格式 Bearer TOKEN"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ],
  "body": {
    "currentCount": "number｜必填，当前已使用次数/数量"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "resources": [],
      "resourcesByType": {},
      "resourceUrls": []
    }
  }
}
```

### 注意事项
- 限额仅作用于会员模块资源，用户 RBAC 资源始终保留
- 会员无效或不支持当前系统时仍返回用户 RBAC 资源


## 21. 会员开通
**方法**：	POST

**路径**：				/openapi/memberships/activate

**功能说明**：
基于已支付订单为客户端用户开通会员资格，并自动同步会员用户记录和订单状态。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "客户端登录令牌，格式为 Bearer TOKEN"
    }
  ],
  "body": {
    "memberType": "string｜必填，会员类型编码或名称，如 VIP",
    "orderNo": "string｜必填，已支付订单号"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "会员开通成功",
    "data": {
      "clientUser": {
        "id": "GplqNHbkcmcFa0sj",
        "code": "CU000009",
        "phone": "18347432461",
        "name": "Smkello"
      },
      "memberUser": {
        "id": "toiUHzFoO1xtmSkI",
        "memberType": "VIP"
      },
      "order": {
        "orderNo": "ORD-20250115-0010",
        "status": "COMPLETED"
      }
    }
  },
  "failure": {
    "code": "1107",
    "message": "订单尚未支付或已失效",
    "data": null
  }
}
```

### 注意事项
- 该接口会校验黑名单、订单手机号、订单状态与会员类型一致性。
- 响应 Header X-OpenAPI-Result 存放加密结果用于客户端追踪。


## 22. 会员注册
**方法**：	POST

**路径**：				/openapi/memberships/register

**功能说明**：
根据注册令牌创建企业或散客账号。注册令牌中同时填写 companyName 与 companyCreditCode 时创建系统用户（users）及组织；否则创建客户端用户（clientUsers）。当 X-Individualism 为 true（开独立站点）或为企业注册（系统用户）时需管理端审核（返回 1212）；仅散客且不开独立站点时自动放行（返回 0000）。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "注册令牌，服务端提前生成，格式为 Bearer TOKEN"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "所属站点标识，用户将注册到该站点"
    },
    {
      "name": "X-Individualism",
      "type": "boolean｜string",
      "required": false,
      "description": "是否需开通独立站点（记录在审核单 individualism 字段，审核通过后生效），默认 true。传 false、0、no、off 表示审核通过后也不创建用户自有独立站点。"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "会员注册成功",
    "data": {
      "accountType": "client",
      "clientUser": {
        "code": "CU000001",
        "name": "散客用户",
        "phone": "13800138001",
        "status": 1,
        "individualism": false
      },
      "site": {
        "key": "A1B2C3D4-xxxx",
        "name": "个人站点"
      }
    }
  },
  "pendingAudit": {
    "code": "1212",
    "message": "注册申请已提交，待审核",
    "data": {
      "accountType": "company",
      "user": {
        "code": "USER000001",
        "name": "企业管理员",
        "phone": "13800138000",
        "status": 0,
        "individualism": false
      },
      "organization": {
        "code": "ORG000001",
        "name": "靖苒数字"
      },
      "auditRecord": {
        "id": 1,
        "code": "AR0001",
        "status": 0,
        "auditType": "REGISTER_USER",
        "individualism": true
      }
    }
  },
  "failure": {
    "code": "1203",
    "message": "公司信用代码已注册",
    "data": null
  }
}
```

### 注意事项
- 账号类型：注册令牌 payload 中 companyName 与 companyCreditCode 均非空 → 系统用户（users）+ 组织；否则 → 客户端用户（clientUsers）。
- 审核条件（满足任一即走审核，返回 1212、status=0）：① X-Individualism=true（开独立站点）；② 企业注册（系统用户）。
- 自动放行（返回 0000、status=1）：散客注册且 X-Individualism=false，仅绑定 X-Site，不开独立站点。
- 审核通过后：按 auditRecord.individualism 决定是否开通独立站点；审核类型 REGISTER_USER / REGISTER_CLIENT 对应系统用户与客户端用户。
- 密码要求同时包含字母和数字，长度不少于 6 位。


## 23. 会员登录
**方法**：	POST

**路径**：				/openapi/memberships/login

**功能说明**：
同时支持企业账号与散客账号的登录校验，并返回加密的登录令牌。成功时 data 还包含 scopeKeys（可用 scope 列表）与 defaultScopeKey（默认数据分区 UUID，有组织时为组织 scope）。如果用户有多个可用站点，会返回站点信息。散客账号登录时必须包含同意协议字段。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "登录令牌，包含手机号、密码和同意协议信息（散客账号必填），格式为 Bearer TOKEN。令牌 payload 应包含：phone（手机号）、password（密码）、agreeTerms（同意协议，散客账号必填且必须为 true）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码。用于指定当前登录的业务系统（例如 AUTH_MANAGEMENT、CONTENT_MANAGEMENT）。当系统不支持时将返回“登录用户不支持当前系统，可联系管理员处理”。"
    }
  ]
}
```

### 响应示例

#### 有个人站点

```json
{
  "code": "0000",
  "message": "登录成功",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIs...",
    "user": {
      "id": "BAKj1wKp7etrmSAT",
      "code": "USER000001",
      "username": "企业管理员",
      "phone": "13800138000",
      "email": "admin@example.com",
      "individualism": true,
      "status": 1,
      "createTime": "2025-01-21T10:00:00.000Z",
      "accountType": "user",
      "type": "普通用户"
    },
    "companyName": "靖苒数字",
    "site": {
      "id": "MNFIOHH6QOA3kg0z",
      "key": "A1B2C3D4-E5F6-7890-ABCD-EF1234567890-ABCDEF12",
      "name": "个人站点",
      "createTime": "2025-01-21T10:00:00.000Z"
    },
    "scopeKeys": [
      {
        "key": "550e8400-e29b-41d4-a716-446655440001",
        "type": "personal",
        "label": "个人"
      },
      {
        "key": "550e8400-e29b-41d4-a716-446655440002",
        "type": "organization",
        "organizationId": 1,
        "label": "示例公司"
      }
    ],
    "defaultScopeKey": "550e8400-e29b-41d4-a716-446655440002"
  }
}
```

#### 无个人站点

```json
{
  "code": "0000",
  "message": "登录成功",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIs...",
    "user": {
      "id": "BAKj1wKp7etrmSAT",
      "code": "USER000001",
      "username": "企业管理员",
      "phone": "13800138000",
      "email": "admin@example.com",
      "individualism": false,
      "status": 1,
      "createTime": "2025-01-21T10:00:00.000Z",
      "accountType": "user",
      "type": "普通用户"
    },
    "companyName": "靖苒数字",
    "site": null,
    "scopeKeys": [
      {
        "key": "550e8400-e29b-41d4-a716-446655440001",
        "type": "personal",
        "label": "个人"
      }
    ],
    "defaultScopeKey": "550e8400-e29b-41d4-a716-446655440001"
  }
}
```

### 注意事项
- 优先尝试企业账号登录，失败后自动回退到散客账号校验。
- 散客账号登录时，登录令牌的 payload 中必须包含 agreeTerms 字段且值为 true，否则返回错误码 1303（请同意隐私等协议）。
- 企业账号登录时，agreeTerms 字段可选，不影响登录流程。
- 成功时 data.token 与响应 Header X-OpenAPI-Result 均为加密令牌。
- 响应中的 site 字段说明：
-   - site 字段只返回个人站点信息（如果用户有个人站点），不会返回所属站点信息
-   - 有个人站点时：site 字段包含个人站点的完整信息（id、key、name、createTime）
-   - 无个人站点时：site 字段为 null（无论用户是否有所属站点）
-   - 判断逻辑：只需判断 site 是否为 null 即可知道用户是否有个人站点
-   - 注意：用户可能既有所属站点（通过 user.siteKey 访问），也有个人站点（通过 site 字段访问）
- 后续请求可通过 X-Site header 切换站点，切换后使用对应站点的数据库。
- 登录成功响应 body 包含 scopeKeys 与 defaultScopeKey，供外部业务系统绑定数据分区


## 24. 登录令牌校验
**方法**：	POST

**路径**：				/openapi/memberships/login/verify

**功能说明**：
对登录接口返回的访问令牌进行有效性校验，确认令牌是否过期、账号状态及黑名单状态。校验成功时 data 同时返回 scopeKeys 与 defaultScopeKey，与登录接口一致，便于外部系统在仅持有令牌时获取数据分区信息。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "登录接口返回的访问令牌，格式为 Bearer TOKEN"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码。用于指定当前登录的业务系统（例如 AUTH_MANAGEMENT、CONTENT_MANAGEMENT）。当系统不支持时将返回“登录用户不支持当前系统，可联系管理员处理”。"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "登录令牌校验成功",
    "data": {
      "phone": "13800138000",
      "id": "USER000001",
      "_id": "MNFIOHH6QOA3kg0z",
      "scopeKeys": [
        {
          "key": "550e8400-e29b-41d4-a716-446655440001",
          "type": "personal",
          "label": "个人"
        },
        {
          "key": "550e8400-e29b-41d4-a716-446655440002",
          "type": "organization",
          "organizationId": 1,
          "label": "示例公司"
        }
      ],
      "defaultScopeKey": "550e8400-e29b-41d4-a716-446655440002"
    }
  },
  "failure": {
    "code": "1300",
    "message": "登录令牌无效或已过期",
    "data": null
  }
}
```

### 注意事项
- 当令牌失效、对应账号被禁用或存在黑名单记录时也会返回 200，但 code 与 message 表示具体失败原因。
- 成功时 data.scopeKeys 与 data.defaultScopeKey 与 memberships/login 登录成功响应一致，均为明文 UUID。
- 支持通过 X-Site header 切换站点，切换后使用对应站点的数据库进行权限校验。


## 25. 修改密码
**方法**：	POST

**路径**：				/openapi/memberships/change-password

**功能说明**：
通过混合 JWT 令牌提交手机号、旧密码、新密码及新密码确认，完成系统用户或客户端用户的密码修改。优先匹配系统用户（users），未找到时再匹配客户端用户（clientUsers）。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "修改密码令牌，格式为 Bearer TOKEN。令牌 payload 应包含：phone（手机号）、oldPassword（旧密码）、newPassword（新密码）、confirmPassword（新密码确认，须与 newPassword 一致）"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识，决定查询与更新所用的数据库上下文"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码。用于指定当前业务系统（例如 AUTH_MANAGEMENT、CONTENT_MANAGEMENT）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "密码修改成功",
    "data": {
      "phone": "13800138000",
      "accountType": "user"
    }
  },
  "failureOldPassword": {
    "code": "1305",
    "message": "旧密码错误",
    "data": null
  },
  "failureConfirm": {
    "code": "1205",
    "message": "新密码与确认密码不一致",
    "data": null
  },
  "failurePasswordFormat": {
    "code": "1201",
    "message": "密码需包含字母和数字，且不少于6位",
    "data": null
  },
  "failure": {
    "code": "1002",
    "message": "修改密码信息不完整",
    "data": null
  }
}
```

### 注意事项
- Authorization 使用与注册/登录相同的混合 JWT 封装方式（parseMixedJWT / generateMixedJWT）。
- 新密码须同时包含字母和数字，长度不少于 6 位。
- 旧密码校验失败返回 1305；新密码与确认密码不一致返回 1205。
- 成功时响应 Header X-OpenAPI-Result 为操作结果混合 JWT。
- 账号被禁用、过期或在黑名单中时与登录接口一致返回相应错误码。


## 26. 按用户 ID 查询展示名
**方法**：	POST

**路径**：				/openapi/accounts/display-names

**功能说明**：
先校验 Authorization 中的登录访问令牌，再在当前 X-Site 对应的数据库中，按传入的用户主键列表查询系统用户（users）或客户端用户（clientUsers）的展示名。默认库多站点场景仅返回 siteKey 与当前 X-Site 一致且 status=1 的记录；独立站点库仅按 id 与 status 匹配。列表中未找到的 id 不会出现在结果中；全部未命中时 data.list 为空数组。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "会员登录接口返回的访问令牌，格式为 Bearer TOKEN（与 memberships/login 一致，需含 phone 等字段的混合 JWT）"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识，决定查询所用的数据库上下文（与全局 OpenAPI 中间件一致）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码，与其他 OpenAPI 接口一致，用于校验系统是否开放"
    }
  ],
  "body": {
    "userIds": "array｜选填，用户主键列表（_id 字符串或数字 id），最多 200 个；可省略或传 []，鉴权成功后返回空列表"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "_id": "MNFIOHH6QOA3kg0z",
          "username": "张三"
        },
        {
          "_id": 12,
          "username": "李四"
        }
      ]
    }
  },
  "failure": {
    "code": "1001",
    "message": "缺少访问令牌",
    "data": null
  }
}
```

### 注意事项
- 鉴权失败（缺少令牌、令牌无效、账号不存在或禁用、黑名单等）时仍返回 HTTP 200，通过 code/message 区分。
- 每个 id 先在 users 中查找，再在 clientUsers 中查找；同一 id 不会同时返回两条。
- username 取自 name，若无则 title，再无则空字符串。
- 请求体中重复的 id 会去重，仅保留首次出现顺序对应的一条命中结果。


## 27. 资源权限校验
**方法**：	POST

**路径**：				/openapi/permissions/resource-check

**功能说明**：
基于登录令牌校验指定系统下用户是否拥有访问某接口所需的资源与权限。支持通过 X-Site header 切换站点。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "登录接口返回的访问令牌，格式为 Bearer TOKEN"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": false,
      "description": "站点标识。用于切换站点和对应的数据库上下文。如果用户有多个可用站点，可通过此 header 切换。"
    }
  ],
  "body": {
    "systemCode": "string｜必填，目标系统编码",
    "apiName": "string｜必填，接口标识（可使用资源 code、name、title 或 URL）",
    "requiredPermissions": "string[]｜选填，需要同时具备的权限编码数组"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "资源权限校验成功",
    "data": {
      "accessGranted": true,
      "user": {
        "id": "BAKj1wKp7etrmSAT",
        "phone": "13800138000",
        "type": "user"
      },
      "system": {
        "code": "AUTH",
        "name": "权限管理系统"
      },
      "resource": {
        "code": "API_CUSTOMER_DELETE",
        "url": "/api/customers/:id",
        "type": "api"
      },
      "checkedPermissions": [
        "CUSTOMER_DELETE"
      ]
    }
  },
  "failure": {
    "code": "1502",
    "message": "缺少必要权限: CUSTOMER_DELETE",
    "data": null
  }
}
```

### 注意事项
- 若找不到与 apiName 匹配的资源，将返回 code=1501。
- requiredPermissions 未传时仅校验资源授权，传入时要求全部命中。
- 出于安全考虑，失败时同样返回 HTTP 200，但 code/message 用于区分失败原因。


## 28. 账户权限校验
**方法**：	POST

**路径**：				/openapi/permissions/check

**功能说明**：
根据访问令牌校验账户在指定系统下拥有的资源与权限。资源列表以树状结构返回，方便前端渲染菜单等场景。支持通过 X-Site header 切换站点。

### 请求参数
```json
{
  "headers": [
    {
      "name": "Authorization",
      "type": "string",
      "required": true,
      "description": "访问令牌，支持系统用户与客户端用户，格式为 Bearer TOKEN"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": false,
      "description": "站点标识。用于切换站点和对应的数据库上下文。如果用户有多个可用站点，可通过此 header 切换。"
    }
  ],
  "body": {
    "systemCode": "string｜必填，要校验的系统编码"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "权限校验成功",
    "data": {
      "user": {
        "id": "MNFIOHH6QOA3kg0z",
        "code": "USER000001",
        "username": "企业管理员",
        "type": "user"
      },
      "companyName": "靖苒数字",
      "system": {
        "code": "AUTH",
        "name": "权限管理系统"
      },
      "resources": [
        {
          "id": "RES001",
          "code": "RES001",
          "name": "内容管理",
          "title": "内容管理",
          "type": "page",
          "url": "/content",
          "parentId": null,
          "orderNum": 1,
          "children": [
            {
              "id": "RES002",
              "code": "RES002",
              "name": "文章管理",
              "title": "文章管理",
              "type": "page",
              "url": "/content/articles",
              "parentId": "RES001",
              "orderNum": 1,
              "children": []
            },
            {
              "id": "RES003",
              "code": "RES003",
              "name": "分类管理",
              "title": "分类管理",
              "type": "page",
              "url": "/content/categories",
              "parentId": "RES001",
              "orderNum": 2,
              "children": []
            }
          ]
        }
      ],
      "resourcesByType": {
        "page": [
          {
            "id": "RES001",
            "code": "RES001",
            "name": "内容管理",
            "title": "内容管理",
            "type": "page",
            "url": "/content",
            "parentId": null,
            "orderNum": 1,
            "children": [
              {
                "id": "RES002",
                "code": "RES002",
                "name": "文章管理",
                "title": "文章管理",
                "type": "page",
                "url": "/content/articles",
                "parentId": "RES001",
                "orderNum": 1,
                "children": []
              },
              {
                "id": "RES003",
                "code": "RES003",
                "name": "分类管理",
                "title": "分类管理",
                "type": "page",
                "url": "/content/categories",
                "parentId": "RES001",
                "orderNum": 2,
                "children": []
              }
            ]
          }
        ],
        "button": [
          {
            "id": "RES004",
            "code": "RES004",
            "name": "新增按钮",
            "title": "新增按钮",
            "type": "button",
            "url": "/api/content/create",
            "parentId": null,
            "orderNum": 1,
            "children": []
          }
        ]
      },
      "site": {
        "id": "site-id",
        "key": "A1B2C3D4-E5F6-7890-ABCD-EF1234567890-ABCDEF12",
        "name": "个人站点",
        "createTime": "2025-01-21T10:00:00.000Z"
      }
    }
  },
  "failure": {
    "code": "1402",
    "message": "系统未开放或已停用",
    "data": null
  }
}
```

### 注意事项
- 企业账号会同时合并个人权限与所属组织权限；散客账号仅返回个人权限。
- 权限列表来自角色继承链，请根据资源类型及 resourceUrls 进行前端路由控制。
- resources 字段返回树状结构，每个资源节点包含 children 数组，用于前端渲染菜单树。树状结构按 orderNum 排序。
- resourcesByType 字段按资源类型分组返回，每个类型下的资源也是树状结构，方便前端按类型渲染。
- 支持通过 X-Site header 切换站点，切换后使用对应站点的数据库进行权限查询，返回该站点下的角色和权限。


## 29. 提交用户反馈
**方法**：	POST

**路径**：				/openapi/user-feedbacks

**功能说明**：
客户端提交用户反馈，请求 JSON 原样存入 payload 字段。对接方建议采用下方请求体结构，systemCode 来自 X-System-Code 请求头 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "body": {
    "type": "usage_feedback",
    "questions": [
      {
        "questionId": "experience",
        "question": "您对虎符系统的整体使用体验如何？",
        "options": [
          {
            "value": "excellent",
            "label": "非常满意"
          },
          {
            "value": "good",
            "label": "满意"
          },
          {
            "value": "average",
            "label": "一般"
          },
          {
            "value": "poor",
            "label": "不满意"
          }
        ],
        "answer": {
          "value": "excellent",
          "label": "非常满意"
        }
      },
      {
        "questionId": "recommendation",
        "question": "您是否愿意向同事推荐本系统？",
        "options": [
          {
            "value": "very_willing",
            "label": "非常愿意"
          },
          {
            "value": "willing",
            "label": "愿意"
          },
          {
            "value": "unsure",
            "label": "不确定"
          },
          {
            "value": "unwilling",
            "label": "不愿意"
          }
        ],
        "answer": {
          "value": "very_willing",
          "label": "非常愿意"
        }
      },
      {
        "questionId": "content",
        "question": "详细反馈",
        "answer": {
          "value": "无特殊说明",
          "label": "无特殊说明"
        }
      }
    ]
  },
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "来源系统编码，会写入 systemCode 字段"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "提交成功",
    "data": {
      "id": 1,
      "code": "UF0001",
      "systemCode": "AUTH_MANAGEMENT",
      "payload": {
        "type": "usage_feedback",
        "questions": [
          {
            "questionId": "experience",
            "question": "您对虎符系统的整体使用体验如何？",
            "options": [
              {
                "value": "excellent",
                "label": "非常满意"
              },
              {
                "value": "good",
                "label": "满意"
              },
              {
                "value": "average",
                "label": "一般"
              },
              {
                "value": "poor",
                "label": "不满意"
              }
            ],
            "answer": {
              "value": "excellent",
              "label": "非常满意"
            }
          },
          {
            "questionId": "recommendation",
            "question": "您是否愿意向同事推荐本系统？",
            "options": [
              {
                "value": "very_willing",
                "label": "非常愿意"
              },
              {
                "value": "willing",
                "label": "愿意"
              },
              {
                "value": "unsure",
                "label": "不确定"
              },
              {
                "value": "unwilling",
                "label": "不愿意"
              }
            ],
            "answer": {
              "value": "very_willing",
              "label": "非常愿意"
            }
          },
          {
            "questionId": "content",
            "question": "详细反馈",
            "answer": {
              "value": "无特殊说明",
              "label": "无特殊说明"
            }
          }
        ]
      },
      "createTime": "2025-01-01T10:00:00.000Z"
    }
  },
  "failure": {
    "code": "1403",
    "message": "不支持当前系统, 可联系管理员处理",
    "data": null
  }
}
```

### 注意事项
- 请求体 JSON 原样存入 payload 字段，结构不限；对接方建议采用上方请求体示例格式
- type 建议使用 usage_feedback 标识使用体验类反馈
- questions 为题目数组：含 questionId、question、options（选择题可选）、answer（含 value 与 label）
- systemCode 来自 X-System-Code 请求头，无需在 body 中重复传递
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 30. 购买/占用无状态会员
**方法**：	POST

**路径**：				/openapi/stateless-members/purchase

**功能说明**：
将指定无状态会员标记为已售出（saleStatus=1），实现一卡一卖，防止同一卡密被二次购买。不校验、不记录激活状态；已售出卡密在有效期内仍可通过 activate/check 等接口无限次激活。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    }
  ],
  "body": {
    "id": "string｜可选，无状态会员 _id 或数字 id",
    "code": "string｜可选，无状态会员编码",
    "orderNo": "string｜可选，关联订单号，写入 soldOrderNo"
  }
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "购买成功",
    "data": {
      "id": "xxx",
      "code": "SM0001",
      "name": "无状态会员",
      "saleStatus": 1,
      "soldAt": "2025-01-15T10:00:00.000Z",
      "soldOrderNo": "ORD-20250115-0010"
    }
  },
  "failureNotFound": {
    "code": "1510",
    "message": "无状态会员不存在",
    "data": null
  },
  "failureDisabled": {
    "code": "1511",
    "message": "无状态会员未启用，不可购买",
    "data": null
  },
  "failureSold": {
    "code": "1512",
    "message": "该无状态会员已售出，不可重复购买",
    "data": null
  }
}
```

### 注意事项
- id 与 code 至少提供一个
- 仅当 status=1 且 saleStatus=0（或未设置）时可购买
- 购买成功后 saleStatus=1，同一卡不可再次调用本接口
- 售卖状态不影响 /openapi/stateless-members/activate、/check 等激活校验接口
- 管理端也可通过 PUT /api/stateless-members/{id}/sale-status 或订单 statelessMemberId + PAID/COMPLETED 标记已售


## 31. 激活无状态会员
**方法**：	POST

**路径**：				/openapi/stateless-members/activate

**功能说明**：
激活无状态会员，通过X-Member-Key header中的混合JWT解密得到密钥，校验会员有效性后生成新的密钥令牌返回。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌，通过混合JWT加密"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码，用于判断会员类型是否支持当前系统"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "激活成功",
    "data": {
      "keyToken": "新的密钥令牌（混合JWT加密）",
      "member": {
        "id": "xxx",
        "code": "SM0001",
        "name": "无状态会员",
        "memberTypeId": "yyy",
        "effectiveDate": "2025-01-01",
        "validityDays": 365
      }
    }
  },
  "failure": {
    "code": "1504",
    "message": "您绑定的会员码无效",
    "data": null
  },
  "failureExpired": {
    "code": "1501",
    "message": "激活已超时，请重新绑定激活",
    "data": null
  }
}
```

### 注意事项
- 如果X-Member-Key的JWT解析已过期，返回错误：激活已超时，请重新绑定激活
- 校验无状态密钥是否存在且有效，且没有过期
- 校验关联会员类型记录是否存在且有效
- 通过X-System-Code判断会员类型是否支持当前系统
- 校验通过后，用混合JWT加密生成新的密钥返回
- 不满足条件返回：您绑定的会员码无效
- 不校验售卖状态（saleStatus），已售出卡密在有效期内仍可激活


## 32. 检查无状态会员有效性
**方法**：	POST

**路径**：				/openapi/stateless-members/check

**功能说明**：
检查无状态会员是否还有效，通过X-Member-Key header中的混合JWT解密得到密钥，校验会员状态、过期时间、系统支持等，返回剩余天数。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌，通过混合JWT加密"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码，用于判断会员类型是否支持当前系统"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "valid": true,
      "remainingDays": 30,
      "member": {
        "id": "xxx",
        "code": "SM0001",
        "name": "无状态会员",
        "memberTypeId": "yyy",
        "effectiveDate": "2025-01-01",
        "validityDays": 365
      }
    }
  },
  "failure": {
    "code": "1506",
    "message": "您绑定的会员无效",
    "data": null
  },
  "failureExpired": {
    "code": "1505",
    "message": "传入的会员需要重新绑定",
    "data": null
  },
  "failureMemberExpired": {
    "code": "1507",
    "message": "会员已过期",
    "data": null
  }
}
```

### 注意事项
- 如果X-Member-Key的JWT解析已过期，返回错误：传入的会员需要重新绑定
- 判断无状态密钥是否存在且有效
- 关联会员类型记录是否存在且有效，不存在或无效返回：您绑定的会员无效
- 判断是否过期，已过期返回：会员已过期
- 通过X-System-Code判断会员类型是否支持当前系统，不支持返回：当前会员码不支持当前系统
- 返回会员还有多少天到期（基于会员有效期、当天日期、会员生效日期计算剩余时间按天计）
- 不满足条件返回：您绑定的会员码无效


## 33. 检查无状态会员功能有效性
**方法**：	POST

**路径**：				/openapi/stateless-members/functionCheck

**功能说明**：
在检查无状态会员有效性的基础上，额外通过X-Function header检查会员功能模块中是否有该功能。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌，通过混合JWT加密"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码，用于判断会员类型是否支持当前系统"
    },
    {
      "name": "X-Function",
      "type": "string",
      "required": true,
      "description": "功能代码，用于检查会员功能模块中是否有该功能"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "校验通过",
    "data": {
      "valid": true,
      "remainingDays": 30,
      "member": {
        "id": "xxx",
        "code": "SM0001",
        "name": "无状态会员",
        "memberTypeId": "yyy",
        "effectiveDate": "2025-01-01",
        "validityDays": 365
      },
      "function": {
        "code": "FUNC001",
        "name": "功能名称",
        "type": "Resource"
      }
    }
  },
  "failure": {
    "code": "1508",
    "message": "当前会员不支持当前功能",
    "data": null
  }
}
```

### 注意事项
- 在/stateless-members/check功能基础上，通过Header的X-Function额外检查会员功能模块
- 如果会员功能模块中有该功能则通过，没有则返回：当前会员不支持当前功能
- 支持通过moduleCode或moduleId查找功能模块
- 功能模块类型可以是Resource（绑定资源）或Custom（自定义模块名称）


## 34. 无状态会员有效性校验（场景A）
**方法**：	POST

**路径**：				/openapi/stateless-members/valid-check

**功能说明**：
场景A：仅校验无状态会员是否有效（未过期），不校验会员类型与系统的支持关系。适用于第三方只需确认会员是否开通且未到期的简单场景。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌（混合JWT加密，payload.data = secretKey）"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（用于路由到正确数据库，本接口不校验系统-会员类型兼容性）"
    }
  ]
}
```

### 响应示例

#### 校验通过

```json
{
  "code": "0000",
  "message": "会员有效",
  "data": {
    "valid": true,
    "remainingDays": 25,
    "memberType": {
      "id": "xxx",
      "name": "黄金会员",
      "code": "H001"
    },
    "member": {
      "id": "yyy",
      "code": "SM000001",
      "name": "新人可享",
      "effectiveDate": "2026-03-01",
      "validityDays": 30
    }
  }
}
```

#### 会员已过期

```json
{
  "code": "1005",
  "message": "会员已过期",
  "data": null
}
```

#### 密钥需重新绑定

```json
{
  "code": "1505",
  "message": "传入的会员需要重新绑定",
  "data": null
}
```

#### 会员码无效

```json
{
  "code": "1504",
  "message": "您绑定的会员码无效",
  "data": null
}
```

### 注意事项
- X-Member-Key 为激活接口返回的 keyToken（混合JWT），到期后需重新调用 /activate 接口
- 本接口不校验系统支持关系，适合场景A（只验有效性）
- 场景B（验系统支持）请使用 /stateless-members/check
- 场景C（验功能模块）请使用 /stateless-members/functionCheck
- 场景D（验功能限额）请使用 /stateless-members/limitCheck


## 35. 无状态会员限额校验（场景D）
**方法**：	POST

**路径**：				/openapi/stateless-members/limitCheck

**功能说明**：
场景D：在场景C（功能模块校验）的基础上，进一步校验当前功能模块的使用量是否已达到配置的上限（limitValue）。适用于有次数或存储上限控制的业务场景。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Member-Key",
      "type": "string",
      "required": true,
      "description": "会员密钥令牌（混合JWT加密）"
    },
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码"
    },
    {
      "name": "X-Function",
      "type": "string",
      "required": true,
      "description": "功能模块代码（moduleCode），如 VIDEO_DOWNLOAD"
    }
  ],
  "body": {
    "currentCount": "number｜必填，当前已使用次数/数量（由第三方系统维护），如 8"
  }
}
```

### 响应示例

#### 校验通过（有限额）

```json
{
  "code": "0000",
  "message": "校验通过",
  "data": {
    "valid": true,
    "remainingDays": 25,
    "memberType": {
      "id": "xxx",
      "name": "黄金会员",
      "code": "H001"
    },
    "member": {
      "id": "yyy",
      "code": "SM000001",
      "name": "新人可享",
      "effectiveDate": "2026-03-01",
      "validityDays": 30
    },
    "system": {
      "code": "system-b",
      "name": "系统B"
    },
    "function": {
      "code": "VIDEO_DOWNLOAD",
      "name": "视频下载"
    },
    "limit": {
      "value": 10,
      "current": 8,
      "remaining": 2
    }
  }
}
```

#### 校验通过（无限额）

```json
{
  "code": "0000",
  "message": "校验通过",
  "data": {
    "valid": true,
    "remainingDays": 25,
    "limit": null
  }
}
```

#### 已达使用上限

```json
{
  "code": "1010",
  "message": "当前功能使用已达上限（10）",
  "data": {
    "limitValue": 10,
    "currentCount": 10
  }
}
```

#### 会员不支持该功能

```json
{
  "code": "1508",
  "message": "当前会员不支持当前功能",
  "data": null
}
```

#### 会员类型未授权系统

```json
{
  "code": "1007",
  "message": "会员类型未授权当前系统",
  "data": null
}
```

### 注意事项
- limit 字段为 null 表示该功能未配置限额，即不限次数
- limit.remaining = limit.value - currentCount，小于等于0时拒绝
- currentCount 由第三方系统自行维护并传入，本系统不做存储
- 限额配置在管理后台 会员功能限制（memberFunctionLimits）中设置


## 36. 用户管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/users/list

**功能说明**：
分页查询用户管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "USER0001",
          "name": "张三",
          "title": "系统管理员",
          "phone": "13800138000",
          "email": "zhangsan@example.com",
          "phonePrefix": "+86",
          "status": 1,
          "roles": [
            "ROLE0001"
          ],
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 37. 用户管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/users/list/simple

**功能说明**：
无分页返回用户管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "USER0001",
          "name": "张三",
          "title": "系统管理员",
          "phone": "13800138000",
          "email": "zhangsan@example.com",
          "phonePrefix": "+86",
          "status": 1,
          "roles": [
            "ROLE0001"
          ],
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 38. 客户端用户管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/client-users/list

**功能说明**：
分页查询客户端用户管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "CU0001",
          "name": "客户端用户",
          "phone": "13900139000",
          "email": "client@example.com",
          "phonePrefix": "+86",
          "status": 1,
          "agreeTerms": true,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 39. 客户端用户管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/client-users/list/simple

**功能说明**：
无分页返回客户端用户管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "CU0001",
          "name": "客户端用户",
          "phone": "13900139000",
          "email": "client@example.com",
          "phonePrefix": "+86",
          "status": 1,
          "agreeTerms": true,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 40. 组织管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/organizations/list

**功能说明**：
分页查询组织管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "ORG0001",
          "name": "测试公司",
          "title": "测试公司有限公司",
          "description": "测试公司描述",
          "status": 1,
          "parentId": null,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 41. 组织管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/organizations/list/simple

**功能说明**：
无分页返回组织管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "ORG0001",
          "name": "测试公司",
          "title": "测试公司有限公司",
          "description": "测试公司描述",
          "status": 1,
          "parentId": null,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 42. 部门管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/departments/list

**功能说明**：
分页查询部门管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "DEPT0001",
          "name": "技术部",
          "title": "技术开发部",
          "description": "技术开发部门",
          "status": 1,
          "organizationId": "ORG0001",
          "parentId": null,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 43. 部门管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/departments/list/simple

**功能说明**：
无分页返回部门管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "DEPT0001",
          "name": "技术部",
          "title": "技术开发部",
          "description": "技术开发部门",
          "status": 1,
          "organizationId": "ORG0001",
          "parentId": null,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 44. 岗位管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/positions/list

**功能说明**：
分页查询岗位管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "POS0001",
          "name": "高级工程师",
          "title": "高级开发工程师",
          "description": "高级开发工程师岗位",
          "status": 1,
          "orderNum": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 45. 岗位管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/positions/list/simple

**功能说明**：
无分页返回岗位管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "POS0001",
          "name": "高级工程师",
          "title": "高级开发工程师",
          "description": "高级开发工程师岗位",
          "status": 1,
          "orderNum": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 46. 职员管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/staff/list

**功能说明**：
分页查询职员管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "STAFF0001",
          "name": "李四",
          "title": "技术部员工",
          "phone": "13700137000",
          "email": "lisi@example.com",
          "status": 1,
          "departmentId": "DEPT0001",
          "positionId": "POS0001",
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 47. 职员管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/staff/list/simple

**功能说明**：
无分页返回职员管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "STAFF0001",
          "name": "李四",
          "title": "技术部员工",
          "phone": "13700137000",
          "email": "lisi@example.com",
          "status": 1,
          "departmentId": "DEPT0001",
          "positionId": "POS0001",
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 48. 角色管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/roles/list

**功能说明**：
分页查询角色管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "ROLE0001",
          "name": "管理员",
          "title": "系统管理员",
          "type": "system",
          "description": "系统管理员角色",
          "status": 1,
          "orderNum": 1,
          "permissions": [
            "PERM0001"
          ],
          "resources": [
            "RES0001"
          ],
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 49. 角色管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/roles/list/simple

**功能说明**：
无分页返回角色管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "ROLE0001",
          "name": "管理员",
          "title": "系统管理员",
          "type": "system",
          "description": "系统管理员角色",
          "status": 1,
          "orderNum": 1,
          "permissions": [
            "PERM0001"
          ],
          "resources": [
            "RES0001"
          ],
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 50. 资源管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/resources/list

**功能说明**：
分页查询资源管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "RES0001",
          "name": "用户管理",
          "title": "用户管理模块",
          "type": "page",
          "description": "用户管理页面资源",
          "status": 1,
          "url": "/users",
          "icon": "user",
          "orderNum": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 51. 资源管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/resources/list/simple

**功能说明**：
无分页返回资源管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "RES0001",
          "name": "用户管理",
          "title": "用户管理模块",
          "type": "page",
          "description": "用户管理页面资源",
          "status": 1,
          "url": "/users",
          "icon": "user",
          "orderNum": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 52. 权限管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/permissions/list

**功能说明**：
分页查询权限管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "PERM0001",
          "name": "用户查看",
          "title": "用户查看权限",
          "type": "global",
          "description": "用户查看权限",
          "status": 1,
          "orderNum": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 53. 权限管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/permissions/list/simple

**功能说明**：
无分页返回权限管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "PERM0001",
          "name": "用户查看",
          "title": "用户查看权限",
          "type": "global",
          "description": "用户查看权限",
          "status": 1,
          "orderNum": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 54. 客户管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/customers/list

**功能说明**：
分页查询客户管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "CUST0001",
          "name": "客户A",
          "title": "客户A公司",
          "phone": "13600136000",
          "email": "customer@example.com",
          "address": "北京市朝阳区",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 55. 客户管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/customers/list/simple

**功能说明**：
无分页返回客户管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "CUST0001",
          "name": "客户A",
          "title": "客户A公司",
          "phone": "13600136000",
          "email": "customer@example.com",
          "address": "北京市朝阳区",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 56. 订单管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/orders/list

**功能说明**：
分页查询订单管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "ORDER0001",
          "orderNo": "ORD20250101001",
          "orderType": "MEMBER",
          "orderName": "会员订单",
          "orderDetail": "会员开通订单",
          "orderPhone": "13800138000",
          "amount": 99,
          "status": "PAID",
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 57. 订单管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/orders/list/simple

**功能说明**：
无分页返回订单管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "ORDER0001",
          "orderNo": "ORD20250101001",
          "orderType": "MEMBER",
          "orderName": "会员订单",
          "orderDetail": "会员开通订单",
          "orderPhone": "13800138000",
          "amount": 99,
          "status": "PAID",
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 58. 会员管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/members/list

**功能说明**：
分页查询会员管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MEMBER0001",
          "name": "会员A",
          "description": "会员描述",
          "status": 1,
          "memberTypeId": "MT0001",
          "price": "99.00",
          "validityDays": 365,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 59. 会员管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/members/list/simple

**功能说明**：
无分页返回会员管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MEMBER0001",
          "name": "会员A",
          "description": "会员描述",
          "status": 1,
          "memberTypeId": "MT0001",
          "price": "99.00",
          "validityDays": 365,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 60. 无状态会员管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/stateless-members/list

**功能说明**：
分页查询无状态会员管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "saleStatus",
      "type": "number",
      "required": false,
      "description": "售卖状态：0-未售（可购买），1-已售。筛选未售时包含无 saleStatus 历史数据"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "SM0001",
          "name": "无状态会员",
          "description": "无状态会员描述",
          "status": 1,
          "saleStatus": 0,
          "memberTypeId": "MT0001",
          "validityDays": 365,
          "effectiveDate": "2025-01-01",
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选，含 saleStatus 筛选可售库存（saleStatus=0）
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 61. 无状态会员管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/stateless-members/list/simple

**功能说明**：
无分页返回无状态会员管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "saleStatus",
      "type": "number",
      "required": false,
      "description": "售卖状态：0-未售，1-已售"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "SM0001",
          "name": "无状态会员",
          "description": "无状态会员描述",
          "status": 1,
          "saleStatus": 0,
          "memberTypeId": "MT0001",
          "validityDays": 365,
          "effectiveDate": "2025-01-01",
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选，含 saleStatus
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 62. 会员用户管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/member-users/list

**功能说明**：
分页查询会员用户管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MU0001",
          "memberId": "MEMBER0001",
          "userId": "USER0001",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 63. 会员用户管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/member-users/list/simple

**功能说明**：
无分页返回会员用户管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MU0001",
          "memberId": "MEMBER0001",
          "userId": "USER0001",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 64. 会员功能管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/member-functions/list

**功能说明**：
分页查询会员功能管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "memberTypeId": "MT0001",
          "memberTypeName": "VIP会员",
          "systemId": "SYS0001",
          "systemName": "权限系统",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 65. 会员功能管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/member-functions/list/simple

**功能说明**：
无分页返回会员功能管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "memberTypeId": "MT0001",
          "memberTypeName": "VIP会员",
          "systemId": "SYS0001",
          "systemName": "权限系统",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 66. 会员类型管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/member-types/list

**功能说明**：
分页查询会员类型管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MT0001",
          "name": "VIP会员",
          "title": "VIP会员类型",
          "description": "VIP会员类型描述",
          "status": 1,
          "price": "99.00",
          "validityDays": 365,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 67. 会员类型管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/member-types/list/simple

**功能说明**：
无分页返回会员类型管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "MT0001",
          "name": "VIP会员",
          "title": "VIP会员类型",
          "description": "VIP会员类型描述",
          "status": 1,
          "price": "99.00",
          "validityDays": 365,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 68. 会员功能限制管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/member-function-limits/list

**功能说明**：
分页查询会员功能限制管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "memberTypeId": "MT0001",
          "memberTypeName": "VIP会员",
          "systemId": "SYS0001",
          "systemName": "权限系统",
          "moduleId": "MOD0001",
          "moduleName": "用户管理",
          "limitValue": 100,
          "status": 1,
          "description": "会员功能限制描述",
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 69. 会员功能限制管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/member-function-limits/list/simple

**功能说明**：
无分页返回会员功能限制管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "memberTypeId": "MT0001",
          "memberTypeName": "VIP会员",
          "systemId": "SYS0001",
          "systemName": "权限系统",
          "moduleId": "MOD0001",
          "moduleName": "用户管理",
          "limitValue": 100,
          "status": 1,
          "description": "会员功能限制描述",
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 70. 白名单管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/whitelists/list

**功能说明**：
分页查询白名单管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "WL0001",
          "name": "白名单A",
          "userId": "USER0001",
          "ip": "192.168.1.1",
          "description": "白名单描述",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 71. 白名单管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/whitelists/list/simple

**功能说明**：
无分页返回白名单管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "WL0001",
          "name": "白名单A",
          "userId": "USER0001",
          "ip": "192.168.1.1",
          "description": "白名单描述",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 72. 黑名单管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/blacklists/list

**功能说明**：
分页查询黑名单管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "BL0001",
          "name": "黑名单A",
          "userId": "USER0001",
          "ip": "192.168.1.100",
          "description": "黑名单描述",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 73. 黑名单管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/blacklists/list/simple

**功能说明**：
无分页返回黑名单管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。 业务数据接口需提供 X-Scope-Key。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    },
    {
      "name": "X-Scope-Key",
      "type": "string",
      "required": true,
      "example": "550e8400-e29b-41d4-a716-446655440000",
      "description": "数据 scope 分区标识（UUID）。OpenAPI 业务数据读写接口必填。登录/注册响应中的 defaultScopeKey 为默认写入/查询分区；有组织时默认使用组织 scope，无组织时使用个人 scope。禁止在 query 中传 scopeKey/organizationId 自选范围。"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "BL0001",
          "name": "黑名单A",
          "userId": "USER0001",
          "ip": "192.168.1.100",
          "description": "黑名单描述",
          "status": 1,
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统
- 必须提供有效的 X-Scope-Key header，仅返回该 scope 分区内的数据
- 禁止通过 query 传递 scopeKey 或 organizationId 自选数据范围


## 74. 系统管理 - 分页列表查询
**方法**：	GET

**路径**：				/openapi/support-systems/list

**功能说明**：
分页查询系统管理状态有效的列表数据，支持多种可选查询条件用于筛选。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "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": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "SYS0001",
          "name": "权限管理系统",
          "description": "权限管理系统描述",
          "status": 1,
          "defaultAdminRoleId": "ROLE0001",
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ],
      "total": 1,
      "pageNum": 1,
      "pageSize": 10
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 支持多种可选查询条件进行筛选
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 75. 系统管理 - 简单列表查询
**方法**：	GET

**路径**：				/openapi/support-systems/list/simple

**功能说明**：
无分页返回系统管理前100条状态有效数据的列表，支持多种可选查询条件用于筛选以及排序。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    },
    {
      "name": "sortBy",
      "type": "string",
      "required": false,
      "description": "排序字段，默认createTime"
    },
    {
      "name": "sortOrder",
      "type": "string",
      "required": false,
      "description": "排序方向：asc-升序，desc-降序，默认desc"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "id": 1,
          "code": "SYS0001",
          "name": "权限管理系统",
          "description": "权限管理系统描述",
          "status": 1,
          "defaultAdminRoleId": "ROLE0001",
          "createTime": "2025-01-01T10:00:00.000Z",
          "updateTime": "2025-01-01T10:00:00.000Z"
        }
      ]
    }
  }
}
```

### 注意事项
- 只返回状态为有效的记录（status=1）
- 最多返回100条数据
- 支持多种可选查询条件进行筛选
- 支持排序功能
- 必须提供有效的X-Site header，查询对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 76. 站点数据 - 列表查询
**方法**：	GET

**路径**：				/openapi/sites/list

**功能说明**：
返回用户名和对应站点key的列表，用于查看。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "站点名称（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "查询成功",
    "data": {
      "list": [
        {
          "userName": "张三",
          "siteKey": "47F38C4F-3437-4108-96EE-0621B30EF2B9-7B75868C742688BD3",
          "siteName": "个人站点"
        }
      ]
    }
  }
}
```

### 注意事项
- 返回用户名和对应站点key
- 必须提供有效的X-Site header
- 必须提供有效的X-System-Code header

## 26. 统计模块 (statistics)

> 模块标识：statistics  |  接口数量：21

## 1. 用户管理 - 统计
**方法**：	GET

**路径**：				/openapi/users/statistics

**功能说明**：
返回用户管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 2. 客户端用户管理 - 统计
**方法**：	GET

**路径**：				/openapi/client-users/statistics

**功能说明**：
返回客户端用户管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 3. 组织管理 - 统计
**方法**：	GET

**路径**：				/openapi/organizations/statistics

**功能说明**：
返回组织管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 4. 部门管理 - 统计
**方法**：	GET

**路径**：				/openapi/departments/statistics

**功能说明**：
返回部门管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 5. 岗位管理 - 统计
**方法**：	GET

**路径**：				/openapi/positions/statistics

**功能说明**：
返回岗位管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 6. 职员管理 - 统计
**方法**：	GET

**路径**：				/openapi/staff/statistics

**功能说明**：
返回职员管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 7. 角色管理 - 统计
**方法**：	GET

**路径**：				/openapi/roles/statistics

**功能说明**：
返回角色管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 8. 资源管理 - 统计
**方法**：	GET

**路径**：				/openapi/resources/statistics

**功能说明**：
返回资源管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 9. 权限管理 - 统计
**方法**：	GET

**路径**：				/openapi/permissions/statistics

**功能说明**：
返回权限管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 10. 客户管理 - 统计
**方法**：	GET

**路径**：				/openapi/customers/statistics

**功能说明**：
返回客户管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 11. 订单管理 - 统计
**方法**：	GET

**路径**：				/openapi/orders/statistics

**功能说明**：
返回订单管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 12. 会员管理 - 统计
**方法**：	GET

**路径**：				/openapi/members/statistics

**功能说明**：
返回会员管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 13. 无状态会员管理 - 统计
**方法**：	GET

**路径**：				/openapi/stateless-members/statistics

**功能说明**：
返回无状态会员管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 14. 会员用户管理 - 统计
**方法**：	GET

**路径**：				/openapi/member-users/statistics

**功能说明**：
返回会员用户管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 15. 会员功能管理 - 统计
**方法**：	GET

**路径**：				/openapi/member-functions/statistics

**功能说明**：
返回会员功能管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 16. 会员类型管理 - 统计
**方法**：	GET

**路径**：				/openapi/member-types/statistics

**功能说明**：
返回会员类型管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 17. 会员功能限制管理 - 统计
**方法**：	GET

**路径**：				/openapi/member-function-limits/statistics

**功能说明**：
返回会员功能限制管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 18. 白名单管理 - 统计
**方法**：	GET

**路径**：				/openapi/whitelists/statistics

**功能说明**：
返回白名单管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 19. 黑名单管理 - 统计
**方法**：	GET

**路径**：				/openapi/blacklists/statistics

**功能说明**：
返回黑名单管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 20. 系统管理 - 统计
**方法**：	GET

**路径**：				/openapi/support-systems/statistics

**功能说明**：
返回系统管理的有效数据记录数和所有记录数两个字段。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ],
  "query": [
    {
      "name": "name",
      "type": "string",
      "required": false,
      "description": "名称（模糊搜索）"
    },
    {
      "name": "code",
      "type": "string",
      "required": false,
      "description": "编码（模糊搜索）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 100,
      "totalCount": 150
    }
  }
}
```

### 注意事项
- 返回有效数据记录数（status=1）和所有记录数
- 支持可选查询条件进行筛选
- 必须提供有效的X-Site header，统计对应站点的数据
- 必须提供有效的X-System-Code header，支持客户端系统


## 21. 站点数据 - 统计
**方法**：	GET

**路径**：				/openapi/sites/statistics

**功能说明**：
返回站点记录数。必须提供有效的X-Site和X-System-Code header。

### 请求参数
```json
{
  "headers": [
    {
      "name": "X-Site",
      "type": "string",
      "required": true,
      "description": "站点标识（必填）"
    },
    {
      "name": "X-System-Code",
      "type": "string",
      "required": true,
      "description": "系统编码（必填）"
    }
  ]
}
```

### 响应示例
```json
{
  "success": {
    "code": "0000",
    "message": "统计成功",
    "data": {
      "validCount": 10,
      "totalCount": 10
    }
  }
}
```

### 注意事项
- 返回站点记录数
- 必须提供有效的X-Site header
- 必须提供有效的X-System-Code header