# 用户信息相关 API 接口对接说明

## 概述

已完成对接新的用户信息相关 API 接口，新接口路径为 `/user`，与原有的 `/system/user` 接口并行存在。

## 新增文件

### 1. 类型定义 (`src/apis/system/type.ts`)

添加了以下新的类型定义：

- `UserNewResp` - 新用户信息响应类型
- `UserNewAddReq` - 新用户信息请求类型  
- `UserNewUpdateReq` - 新用户信息修改请求类型
- `UserBindRoleReq` - 用户绑定角色请求类型
- `UserNewQuery` - 新用户查询参数
- `UserNewPageQuery` - 新用户分页查询参数

### 2. API 接口 (`src/apis/system/user-new.ts`)

实现了以下 API 接口：

#### 新增用户信息
```typescript
addUserNew(data: UserNewAddReq): Promise<ApiRes<UserNewResp>>
```
- 方法：POST
- 路径：`/user`

#### 绑定角色
```typescript
bindUserRole(data: UserBindRoleReq): Promise<ApiRes<any>>
```
- 方法：PUT
- 路径：`/user/bind-role`

#### 根据用户信息Id获取详细信息
```typescript
getUserDetailNew(userId: string): Promise<ApiRes<UserNewResp>>
```
- 方法：GET
- 路径：`/user/detail/{userId}`

#### 查询用户信息列表
```typescript
listUserNew(query: UserNewQuery): Promise<ApiRes<UserNewResp[]>>
```
- 方法：GET
- 路径：`/user/list`

#### 分页查询用户信息列表
```typescript
pageUserNew(query: UserNewPageQuery): Promise<ApiRes<PageRes<UserNewResp[]>>>
```
- 方法：GET
- 路径：`/user/page`

#### 修改用户信息
```typescript
updateUserNew(userId: string, data: UserNewUpdateReq): Promise<ApiRes<any>>
```
- 方法：PUT
- 路径：`/user/{userId}`

#### 删除用户信息
```typescript
deleteUserNew(userId: string): Promise<ApiRes<any>>
```
- 方法：DELETE
- 路径：`/user/{userId}`

## 使用方式

### 1. 导入接口

```typescript
import { 
  addUserNew, 
  bindUserRole, 
  getUserDetailNew, 
  listUserNew, 
  pageUserNew, 
  updateUserNew, 
  deleteUserNew 
} from '@/apis/system'
```

### 2. 导入类型

```typescript
import type { 
  UserNewAddReq, 
  UserBindRoleReq, 
  UserNewQuery, 
  UserNewPageQuery, 
  UserNewUpdateReq 
} from '@/apis/system'
```

### 3. 使用示例

```typescript
// 新增用户
const userData: UserNewAddReq = {
  account: 'testuser',
  name: '测试用户',
  email: 'test@example.com',
  mobile: '13800138000',
  gender: '1',
  deptId: '1',
  userType: 'EMPLOYEE',
  userStatus: 'ENABLED',
  status: 1
}
const result = await addUserNew(userData)

// 绑定角色
await bindUserRole({
  userId: 'user123',
  roleIds: ['role1', 'role2']
})

// 查询用户列表
const userList = await listUserNew({ account: 'test' })

// 分页查询
const userPage = await pageUserNew({ 
  page: 1, 
  size: 10, 
  account: 'test' 
})
```

## 字段说明

### 用户信息字段

| 字段名 | 类型 | 说明 | 是否必填 |
|--------|------|------|----------|
| account | string | 账号 | 是 |
| avatar | string | 头像地址 | 否 |
| birthdate | string | 出生日期 | 否 |
| deptId | string | 所属部门ID | 否 |
| education | string | 学历 | 否 |
| email | string | 邮箱 | 否 |
| gender | string | 性别 | 否 |
| hiredate | string | 入职日期 | 否 |
| identityCard | string | 身份证 | 否 |
| majorField | string | 专业 | 否 |
| mobile | string | 手机号码 | 否 |
| name | string | 姓名 | 否 |
| postIds | string[] | 岗位 | 否 |
| roleIds | string[] | 角色 | 否 |
| status | number | 0正常1禁用 | 否 |
| userStatus | string | 在职状态 | 否 |
| userType | string | 员工性质 | 否 |
| workField | string | 工作方向 | 否 |

## 注意事项

1. 新接口与原有 `/system/user` 接口并行存在，不会影响现有功能
2. 所有接口都已在 `src/apis/system/index.ts` 中导出，可直接使用
3. 请根据实际业务需求选择合适的接口进行调用
4. 建议在使用前先通过 API 文档确认字段格式和枚举值 