# 用户管理

> 模块标识：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
  }
}
```

