Skip to content

登录与会话 ​

管理端登录与会话维护,登录后才能访问其余业务接口。

管理端登录 ​

接口地址 ​

text
POST /admin/login

接口说明 ​

校验账号密码后签发 JWT,并在 Redis 写入 login:<login_id> 实现主动过期。 账号被禁用时返回业务错误。

接口参数说明 ​

Body 参数类型必填说明
usernamestring是登录账号
passwordstring是登录密码

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
  }
}

响应参数说明 ​

响应字段类型说明
tokenstringJWT 访问令牌,携带方式:Authorization: Bearer <token>

退出登录 ​

接口地址 ​

text
POST /admin/logout

接口说明 ​

删除当前登录会话的 Redis Key,JWT 立即失效。

接口参数说明 ​

无请求参数。

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "code": 0,
    "msg": "success",
    "data": null
  }
}

响应参数说明 ​

成功时 data 为 null。

当前登录用户信息 ​

接口地址 ​

text
GET /admin/me

接口参数说明 ​

无请求参数。

响应示例 ​

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": ""
      }
    ]
  }
}

响应参数说明 ​

响应字段类型说明
idinteger主键ID
created_atstring创建时间
updated_atstring更新时间
usernamestring登录账号
nicknamestring用户昵称
avatarstring头像访问地址(按当前默认存储动态生成)
mobilestring手机号
emailstring邮箱
dept_idinteger部门ID
statusinteger状态 1启用 2禁用
is_superinteger是否超级管理员 0否 1是
rolesarray<RoleItem>角色列表
roles[].idinteger主键ID
roles[].created_atstring创建时间
roles[].updated_atstring更新时间
roles[].namestring角色名称
roles[].codestring角色编码(唯一)
roles[].parent_idinteger上级角色ID,0 为顶级
roles[].sortinteger排序
roles[].statusinteger状态 1启用 2禁用
roles[].remarkstring备注

修改当前管理员个人资料 ​

接口地址 ​

text
POST /admin/profile/update

接口说明 ​

仅可修改昵称、头像、手机号、邮箱,不能修改权限、部门与账号状态。

接口参数说明 ​

Body 参数类型必填说明
nicknamestring否用户昵称,最长 32 字符
avatarstring否头像相对路径(由上传接口返回)
mobilestring否手机号,最长 16 字符
emailstring否邮箱,最长 64 字符

响应示例 ​

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": ""
      }
    ]
  }
}

响应参数说明 ​

响应字段类型说明
idinteger主键ID
created_atstring创建时间
updated_atstring更新时间
usernamestring登录账号
nicknamestring用户昵称
avatarstring头像访问地址(按当前默认存储动态生成)
mobilestring手机号
emailstring邮箱
dept_idinteger部门ID
statusinteger状态 1启用 2禁用
is_superinteger是否超级管理员 0否 1是
rolesarray<RoleItem>角色列表
roles[].idinteger主键ID
roles[].created_atstring创建时间
roles[].updated_atstring更新时间
roles[].namestring角色名称
roles[].codestring角色编码(唯一)
roles[].parent_idinteger上级角色ID,0 为顶级
roles[].sortinteger排序
roles[].statusinteger状态 1启用 2禁用
roles[].remarkstring备注

单独修改当前管理员头像 ​

接口地址 ​

text
POST /admin/profile/avatar

接口说明 ​

只更新头像字段,不影响其他未保存的个人资料。

接口参数说明 ​

Body 参数类型必填说明
avatarstring是头像相对路径(由上传接口返回)

响应示例 ​

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": ""
      }
    ]
  }
}

响应参数说明 ​

响应字段类型说明
idinteger主键ID
created_atstring创建时间
updated_atstring更新时间
usernamestring登录账号
nicknamestring用户昵称
avatarstring头像访问地址(按当前默认存储动态生成)
mobilestring手机号
emailstring邮箱
dept_idinteger部门ID
statusinteger状态 1启用 2禁用
is_superinteger是否超级管理员 0否 1是
rolesarray<RoleItem>角色列表
roles[].idinteger主键ID
roles[].created_atstring创建时间
roles[].updated_atstring更新时间
roles[].namestring角色名称
roles[].codestring角色编码(唯一)
roles[].parent_idinteger上级角色ID,0 为顶级
roles[].sortinteger排序
roles[].statusinteger状态 1启用 2禁用
roles[].remarkstring备注

当前用户的菜单树(前端路由) ​

接口地址 ​

text
GET /admin/routers

接口说明 ​

返回目录 + 菜单页面(不含按钮)的树形结构,用于渲染侧边导航。 超级管理员返回全部显示中的菜单。

接口参数说明 ​

无请求参数。

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": [
    {
      "data": {
        "id": 1,
        "created_at": "2026-09-25T10:00:00+08:00",
        "updated_at": "2026-09-25T10:00:00+08:00",
        "name": "用户管理",
        "type": 1,
        "parent_id": 0,
        "path": "/system/user",
        "api_path": "POST:/admin/user/add",
        "icon": "User",
        "sort": 0,
        "status": 1,
        "remark": ""
      },
      "children": [
        {
          "data": {
            "id": 1,
            "created_at": "2026-09-25T10:00:00+08:00",
            "updated_at": "2026-09-25T10:00:00+08:00",
            "name": "用户管理",
            "type": 1,
            "parent_id": 0,
            "path": "/system/user",
            "api_path": "POST:/admin/user/add",
            "icon": "User",
            "sort": 0,
            "status": 1,
            "remark": ""
          },
          "children": [
            {
              "data": {
              },
              "children": [
                {
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

响应参数说明 ​

成功时 data 为 null。

当前用户的接口权限列表 ​

接口地址 ​

text
GET /admin/permissions

接口说明 ​

返回当前用户拥有的接口权限集合(格式 METHOD:/path),用于前端按钮显隐。 超级管理员返回 ["*"]。

接口参数说明 ​

无请求参数。

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": [
    ""
  ]
}

响应参数说明 ​

成功时 data 为 null。

修改当前管理员密码 ​

接口地址 ​

text
POST /admin/change_password

接口说明 ​

修改成功后会踢掉该账号所有在线会话,需要重新登录。

接口参数说明 ​

Body 参数类型必填说明
old_passwordstring是原密码
new_passwordstring是新密码,至少 6 位

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "code": 0,
    "msg": "success",
    "data": null
  }
}

响应参数说明 ​

成功时 data 为 null。