人员管理(管理员账号)
管理员账号(sys_user)的维护,对应管理端「人员管理」页面,与会员(sys_member)相互独立。
用户分页列表
接口地址
text
GET /admin/user/list接口参数说明
| Query 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
keyword | string | 否 | 搜索关键字(账号/昵称/手机号) |
status | integer | 否 | 状态 1启用 2禁用 |
dept_id | integer | 否 | 部门ID |
page | integer | 否 | 页码,默认 1 |
page_size | integer | 否 | 每页数量,默认 20,最大 100 |
响应示例
json
{
"code": 0,
"msg": "success",
"data": {
"list": [
{
"id": 1,
"created_at": "2026-09-25T10:00:00+08:00",
"updated_at": "2026-09-25T10:00:00+08:00",
"username": "admin",
"nickname": "超级管理员",
"avatar": "/files/2026/09/23/8f14e45fceea167a5a36dedd4bea2543.png",
"mobile": "",
"email": "",
"dept_id": 0,
"status": 1,
"is_super": 0,
"roles": [
{
"id": 1,
"created_at": "2026-09-25T10:00:00+08:00",
"updated_at": "2026-09-25T10:00:00+08:00",
"name": "运营专员",
"code": "operator",
"parent_id": 0,
"sort": 0,
"status": 1,
"remark": ""
}
]
}
],
"total": 12
}
}响应参数说明
| 响应字段 | 类型 | 说明 |
|---|---|---|
list | array<UserItem> | |
list[].id | integer | 主键ID |
list[].created_at | string | 创建时间 |
list[].updated_at | string | 更新时间 |
list[].username | string | 登录账号 |
list[].nickname | string | 用户昵称 |
list[].avatar | string | 头像访问地址(按当前默认存储动态生成) |
list[].mobile | string | 手机号 |
list[].email | string | 邮箱 |
list[].dept_id | integer | 部门ID |
list[].status | integer | 状态 1启用 2禁用 |
list[].is_super | integer | 是否超级管理员 0否 1是 |
list[].roles | array<RoleItem> | 角色列表 |
list[].roles[].id | integer | 主键ID |
list[].roles[].created_at | string | 创建时间 |
list[].roles[].updated_at | string | 更新时间 |
list[].roles[].name | string | 角色名称 |
list[].roles[].code | string | 角色编码(唯一) |
list[].roles[].parent_id | integer | 上级角色ID,0 为顶级 |
list[].roles[].sort | integer | 排序 |
list[].roles[].status | integer | 状态 1启用 2禁用 |
list[].roles[].remark | string | 备注 |
total | integer | 数据总数 |
新增用户
接口地址
text
POST /admin/user/add接口参数说明
| Body 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer | 否 | 主键ID,新增时不传 |
username | string | 否 | 登录账号,新增时必填 |
password | string | 否 | 登录密码,新增时必填;修改时留空表示不修改 |
nickname | string | 否 | 用户昵称 |
avatar | string | 否 | 头像相对路径 |
mobile | string | 否 | 手机号 |
email | string | 否 | 邮箱 |
dept_id | integer | 否 | 部门ID |
status | integer | 否 | 状态 1启用 2禁用 |
is_super | integer | 否 | 是否超级管理员 0否 1是 |
role_ids | array<integer> | 否 | 角色ID列表 |
响应示例
json
{
"code": 0,
"msg": "success",
"data": {
"id": 1,
"created_at": "2026-09-25T10:00:00+08:00",
"updated_at": "2026-09-25T10:00:00+08:00",
"username": "admin",
"nickname": "超级管理员",
"avatar": "/files/2026/09/23/8f14e45fceea167a5a36dedd4bea2543.png",
"mobile": "",
"email": "",
"dept_id": 0,
"status": 1,
"is_super": 0,
"roles": [
{
"id": 1,
"created_at": "2026-09-25T10:00:00+08:00",
"updated_at": "2026-09-25T10:00:00+08:00",
"name": "运营专员",
"code": "operator",
"parent_id": 0,
"sort": 0,
"status": 1,
"remark": ""
}
]
}
}响应参数说明
| 响应字段 | 类型 | 说明 |
|---|---|---|
id | integer | 主键ID |
created_at | string | 创建时间 |
updated_at | string | 更新时间 |
username | string | 登录账号 |
nickname | string | 用户昵称 |
avatar | string | 头像访问地址(按当前默认存储动态生成) |
mobile | string | 手机号 |
email | string | 邮箱 |
dept_id | integer | 部门ID |
status | integer | 状态 1启用 2禁用 |
is_super | integer | 是否超级管理员 0否 1是 |
roles | array<RoleItem> | 角色列表 |
roles[].id | integer | 主键ID |
roles[].created_at | string | 创建时间 |
roles[].updated_at | string | 更新时间 |
roles[].name | string | 角色名称 |
roles[].code | string | 角色编码(唯一) |
roles[].parent_id | integer | 上级角色ID,0 为顶级 |
roles[].sort | integer | 排序 |
roles[].status | integer | 状态 1启用 2禁用 |
roles[].remark | string | 备注 |
修改用户
接口地址
text
POST /admin/user/update接口说明
必须传 id;password 为空表示不修改密码。超级管理员不可被禁用或删除。
接口参数说明
| Body 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer | 否 | 主键ID,新增时不传 |
username | string | 否 | 登录账号,新增时必填 |
password | string | 否 | 登录密码,新增时必填;修改时留空表示不修改 |
nickname | string | 否 | 用户昵称 |
avatar | string | 否 | 头像相对路径 |
mobile | string | 否 | 手机号 |
email | string | 否 | 邮箱 |
dept_id | integer | 否 | 部门ID |
status | integer | 否 | 状态 1启用 2禁用 |
is_super | integer | 否 | 是否超级管理员 0否 1是 |
role_ids | array<integer> | 否 | 角色ID列表 |
响应示例
json
{
"code": 0,
"msg": "success",
"data": {
"id": 1,
"created_at": "2026-09-25T10:00:00+08:00",
"updated_at": "2026-09-25T10:00:00+08:00",
"username": "admin",
"nickname": "超级管理员",
"avatar": "/files/2026/09/23/8f14e45fceea167a5a36dedd4bea2543.png",
"mobile": "",
"email": "",
"dept_id": 0,
"status": 1,
"is_super": 0,
"roles": [
{
"id": 1,
"created_at": "2026-09-25T10:00:00+08:00",
"updated_at": "2026-09-25T10:00:00+08:00",
"name": "运营专员",
"code": "operator",
"parent_id": 0,
"sort": 0,
"status": 1,
"remark": ""
}
]
}
}响应参数说明
| 响应字段 | 类型 | 说明 |
|---|---|---|
id | integer | 主键ID |
created_at | string | 创建时间 |
updated_at | string | 更新时间 |
username | string | 登录账号 |
nickname | string | 用户昵称 |
avatar | string | 头像访问地址(按当前默认存储动态生成) |
mobile | string | 手机号 |
email | string | 邮箱 |
dept_id | integer | 部门ID |
status | integer | 状态 1启用 2禁用 |
is_super | integer | 是否超级管理员 0否 1是 |
roles | array<RoleItem> | 角色列表 |
roles[].id | integer | 主键ID |
roles[].created_at | string | 创建时间 |
roles[].updated_at | string | 更新时间 |
roles[].name | string | 角色名称 |
roles[].code | string | 角色编码(唯一) |
roles[].parent_id | integer | 上级角色ID,0 为顶级 |
roles[].sort | integer | 排序 |
roles[].status | integer | 状态 1启用 2禁用 |
roles[].remark | string | 备注 |
删除用户
接口地址
text
POST /admin/user/delete接口说明
删除后同时清除该用户角色绑定并踢掉其全部在线会话。
接口参数说明
| Body 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer | 是 | 主键ID |
响应示例
json
{
"code": 0,
"msg": "success",
"data": {
"code": 0,
"msg": "success",
"data": null
}
}响应参数说明
成功时 data 为 null。
重置用户密码
接口地址
text
POST /admin/user/reset_password接口说明
重置后该用户全部在线会话立即失效。
接口参数说明
| Body 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer | 是 | 用户ID |
password | string | 是 | 新密码,至少 6 位 |
响应示例
json
{
"code": 0,
"msg": "success",
"data": {
"code": 0,
"msg": "success",
"data": null
}
}响应参数说明
成功时 data 为 null。
踢用户下线
接口地址
text
POST /admin/user/kick接口说明
使该用户所有在线会话立即失效,超级管理员不可被踢。
接口参数说明
| Body 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer | 是 | 主键ID |
响应示例
json
{
"code": 0,
"msg": "success",
"data": {
"code": 0,
"msg": "success",
"data": null
}
}响应参数说明
成功时 data 为 null。