165 lines
3.8 KiB
Markdown
165 lines
3.8 KiB
Markdown
# 用户信息相关 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 文档确认字段格式和枚举值 |