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

165 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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