# 用户模块接口文档 基础路径:`POST /mgt/user/*`,需 JWT 认证。 --- ## 1. 新增用户 **路径**:`POST /mgt/user/create` **请求体**(UserRequest): | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | account | string | 是 | 账户,3-50 位,创建时必填 | | phone | string | 是 | 手机号,创建时必填 | | password | string | 是 | 密码,6-50 位,创建时必填 | | name | string | 否 | 名称,最长 100 | | email | string | 否 | 邮箱 | | avatar | string | 否 | 头像 URL,最长 500 | | roles | string | 否 | 角色(预留) | **请求示例**: ```json { "account": "zhangsan", "phone": "13800138000", "password": "abc12345", "name": "张三", "email": "zhangsan@example.com" } ``` **返回**(IdResp): | 参数 | 类型 | 说明 | |------|------|------| | id | number | 用户 ID | | identity | string | 用户唯一标识 | **返回示例**: ```json { "code": 0, "data": { "id": 1, "identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV" } } ``` --- ## 2. 删除用户 **路径**:`POST /mgt/user/del` **请求体**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | id | number | 是 | 用户 ID | **请求示例**: ```json { "id": 1 } ``` **返回示例**: ```json { "code": 0, "data": { "id": 1, "identity": "" } } ``` --- ## 3. 用户详情 **路径**:`POST /mgt/user/detail` **请求体**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | id | number | 是 | 用户 ID | **请求示例**: ```json { "id": 1 } ``` **返回**(UserResp): | 参数 | 类型 | 说明 | |------|------|------| | id | number | 用户 ID | | identity | string | 唯一标识 | | account | string | 账户 | | name | string | 姓名 | | phone | string | 手机号 | | email | string | 邮箱 | | avatar | string | 头像 | | status | number | 状态 | | created_at | string | 创建时间 | **返回示例**: ```json { "code": 0, "data": { "id": 1, "identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "account": "zhangsan", "name": "张三", "phone": "13800138000", "email": "zhangsan@example.com", "avatar": "https://example.com/avatar.png", "status": 1, "created_at": "2025-03-16 10:00:00" } } ``` --- ## 4. 修改用户 **路径**:`POST /mgt/user/modify` **请求体**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | id | number | 是 | 用户 ID | | name | string | 否 | 名称 | | phone | string | 否 | 手机号 | | email | string | 否 | 邮箱 | | avatar | string | 否 | 头像 URL | | password | string | 否 | 新密码,6-50 位 | | status | number | 否 | 状态 | **请求示例**: ```json { "id": 1, "name": "张三丰", "phone": "13900139000" } ``` **返回示例**: ```json { "code": 0, "data": { "id": 1, "identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV" } } ``` --- ## 5. 获取用户列表(分页) **路径**:`POST /mgt/user/fetch` **请求体**(继承 FetchBase): | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | page | number | 否 | 页码,默认 1 | | size | number | 否 | 每页条数 | | keyword | string | 否 | 关键字,模糊匹配姓名/账户/手机号 | | status | number | 否 | 状态筛选 | **请求示例**: ```json { "page": 1, "size": 10, "keyword": "张", "status": 1 } ``` **返回**(FetchResp,data 为 UserResp 数组): | 参数 | 类型 | 说明 | |------|------|------| | total | number | 总条数 | | page | number | 当前页 | | size | number | 每页条数 | | data | array | 用户列表 | **返回示例**: ```json { "code": 0, "data": { "total": 2, "page": 1, "size": 10, "data": [ { "id": 1, "identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "account": "zhangsan", "name": "张三", "phone": "13800138000", "email": "zhangsan@example.com", "avatar": "", "status": 1, "created_at": "2025-03-16 10:00:00" } ] } } ``` --- ## 6. 用户列表(下拉,不分页) **路径**:`POST /mgt/user/list` **说明**:按应用编码 workspace 查询该应用下用户,用于下拉选择。 **请求体**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | workspace | string | 是 | 应用编码 | | keyword | string | 否 | 关键字,模糊匹配姓名 | | status | number | 否 | 状态 | **请求示例**: ```json { "workspace": "my_app", "keyword": "张" } ``` **返回**(FetchResp,data 为 UserResp 数组,无分页字段): ```json { "code": 0, "data": { "data": [ { "id": 1, "identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "account": "zhangsan", "name": "张三", "phone": "13800138000", "email": "zhangsan@example.com", "avatar": "", "status": 1, "created_at": "2025-03-16 10:00:00" } ] } } ``` --- ## 7. 给用户设置角色 **路径**:`POST /mgt/user/set_role` **请求体**(UserRoleRequest): | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | user_id | number | 是 | 用户 ID,大于 0 | | role_id | number[] | 是 | 角色 ID 列表,至少 1 个,每个大于 0 | **请求示例**: ```json { "user_id": 1, "role_id": [1, 2] } ``` **返回示例**: ```json { "code": 0, "data": "" } ``` --- ## 8. 给用户移除角色 **路径**:`POST /mgt/user/del_role` **请求体**:同 set_role,user_id + role_id 数组。 **请求示例**: ```json { "user_id": 1, "role_id": [2] } ``` --- ## 9. 获取用户角色列表 **路径**:`POST /mgt/user/role` **请求体**:FetchBase,传 id 表示用户 ID。 **请求示例**: ```json { "id": 1 } ``` **返回**:data 为角色列表(含 id、identity、name 等)。 --- ## 10. 给用户设置权限 **路径**:`POST /mgt/user/set_pmn` **请求体**(AddPmnRequest): | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | workspace | string | 否 | 应用编码 | | id | number | 是 | 用户 ID | | list | number[] | 是 | 权限 ID 列表,至少 1 个 | **请求示例**: ```json { "workspace": "my_app", "id": 1, "list": [1, 2, 3] } ``` --- ## 11. 给用户编辑权限(按应用覆盖) **路径**:`POST /mgt/user/modify_pmn` **请求体**:同 set_pmn,按应用维度覆盖该用户在该应用下的权限。 --- ## 12. 给用户移除权限 **路径**:`POST /mgt/user/del_pmn` **请求体**:同 set_pmn,list 为要移除的权限 ID 列表。 --- ## 13. 获取用户应用列表 **路径**:`POST /mgt/user/app` **请求体**:FetchBase,id 为用户 ID。 **请求示例**: ```json { "id": 1 } ``` --- ## 14. 获取用户权限列表(平面) **路径**:`POST /mgt/user/pmn` **请求体**:FetchBase,id 为用户 ID,可选 workspace 过滤应用。 --- ## 15. 获取用户权限树(用户->应用->权限) **路径**:`POST /mgt/user/pmn_tree` **请求体**:同上。 **返回**:data 为按应用聚合的权限树结构。