Industrial-image-management.../USER_API_INTEGRATION.md

165 lines
3.8 KiB
Markdown
Raw Permalink Normal View History

2025-06-27 19:54:42 +08:00
# 用户信息相关 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 文档确认字段格式和枚举值