Skip to content

接口文档

版本: v1.0.0
更新日期: 2025-12-07
适用范围: 所有后端(Java/Node/Go/Python/PHP/ASP.NET Core)

本章节包含 vue3-element-admin 对接的后端接口文档,所有后端实现遵循统一的接口协议。

一、RESTful API 设计规范

1.1 核心原则

  1. 资源路径使用复数名词/api/v1/users 而非 /api/v1/user
  2. HTTP 方法语义化
    • GET - 查询资源
    • POST - 创建资源
    • PUT - 完整更新资源
    • PATCH - 部分更新资源
    • DELETE - 删除资源
  3. URL 层级清晰/api/v1/{resource}/{id}/{sub-resource}
  4. 统一响应格式:所有接口返回统一的 JSON 结构

1.2 URL 规范

基础路径: /api/v1
资源路径: /api/v1/{resources}     (必须使用复数)
单个资源: /api/v1/{resources}/{id}
子资源:   /api/v1/{resources}/{id}/{sub-resources}

示例

  • /api/v1/users/1 - 正确
  • /api/v1/users/1/roles - 正确(用户的角色列表)
  • /api/v1/user/1 - 错误(应使用复数)

1.3 命名规范

  • URL 路径:小写字母 + 连字符,如 /dict-items
  • 查询参数:驼峰命名,如 ?pageNum=1&pageSize=10
  • JSON 字段:驼峰命名,如 {"userId": 1, "userName": "admin"}

1.4 统一响应格式

json
{
  "code": "00000", // 响应码
  "msg": "Success", // 响应消息
  "data": {}, // 响应数据
  "timestamp": 1701936000000 // 时间戳(可选)
}

响应码规范

错误码说明HTTP 状态码
00000成功200
A0001用户端错误400
A0200用户未登录401
A0300用户无权限403
A0400资源不存在404
B0001系统执行出错500
B0100系统资源异常503
C0001第三方服务错误500

1.5 排序参数规范

参数说明
sortBy排序字段
orderASC / DESC

示例:GET /api/v1/users?sortBy=createTime&order=DESC


二、认证与授权

2.1 认证接口

接口标题HTTP 方法接口路径说明
获取验证码GET/api/v1/auth/captcha获取图形验证码
账号密码登录POST/api/v1/auth/login用户名密码登录
短信验证码登录POST/api/v1/auth/login/sms手机号+验证码登录
发送短信验证码POST/api/v1/auth/sms/code发送登录验证码
微信授权登录POST/api/v1/auth/login/wechat微信 Web 扫码登录
微信小程序登录(Code)POST/api/v1/auth/wx/miniapp/code-login微信小程序授权码登录
微信小程序登录(手机号)POST/api/v1/auth/wx/miniapp/phone-login微信小程序手机号登录
退出登录DELETE/api/v1/auth/logout注销登录
刷新令牌POST/api/v1/auth/refresh-token刷新访问令牌

2.2 认证方式

所有需要认证的接口必须在请求头中携带 Token:

Authorization: Bearer {accessToken}

三、系统管理

3.1 用户管理

接口标题HTTP 方法接口路径权限标识
用户分页列表GET/api/v1/userssys:user:list
获取当前用户信息GET/api/v1/users/me-
新增用户POST/api/v1/userssys:user:create
获取用户表单数据GET/api/v1/users/{userId}/formsys:user:update
修改用户PUT/api/v1/users/{userId}sys:user:update
删除用户DELETE/api/v1/users/{ids}sys:user:delete
修改用户状态PATCH/api/v1/users/{userId}/statussys:user:update
修改用户密码PATCH/api/v1/users/{userId}/passwordsys:user:reset-password
获取用户下拉选项GET/api/v1/users/options-

3.2 角色管理

接口标题HTTP 方法接口路径权限标识
角色分页列表GET/api/v1/rolessys:role:list
角色下拉选项GET/api/v1/roles/options-
新增角色POST/api/v1/rolessys:role:create
获取角色表单数据GET/api/v1/roles/{id}/formsys:role:update
修改角色PUT/api/v1/roles/{id}sys:role:update
删除角色DELETE/api/v1/roles/{id}sys:role:delete
获取角色菜单 ID 集合GET/api/v1/roles/{id}/menu-idssys:role:update
分配角色菜单权限PUT/api/v1/roles/{id}/menussys:role:update

3.3 菜单管理

接口标题HTTP 方法接口路径权限标识
菜单列表GET/api/v1/menussys:menu:list
菜单下拉选项GET/api/v1/menus/options-
获取当前用户路由GET/api/v1/menus/routes-
新增菜单POST/api/v1/menussys:menu:create
获取菜单表单数据GET/api/v1/menus/{id}/formsys:menu:update
修改菜单PUT/api/v1/menus/{id}sys:menu:update
删除菜单DELETE/api/v1/menus/{id}sys:menu:delete

3.4 部门管理

接口标题HTTP 方法接口路径权限标识
部门列表GET/api/v1/deptssys:dept:list
部门下拉选项GET/api/v1/depts/options-
新增部门POST/api/v1/deptssys:dept:create
获取部门表单数据GET/api/v1/depts/{id}/formsys:dept:update
修改部门PUT/api/v1/depts/{id}sys:dept:update
删除部门DELETE/api/v1/depts/{ids}sys:dept:delete

3.5 字典管理

接口标题HTTP 方法接口路径权限标识
字典分页列表GET/api/v1/dictssys:dict:list
字典下拉选项GET/api/v1/dicts/options-
新增字典POST/api/v1/dictssys:dict:create
获取字典表单数据GET/api/v1/dicts/{id}/formsys:dict:update
修改字典PUT/api/v1/dicts/{id}sys:dict:update
删除字典DELETE/api/v1/dicts/{id}sys:dict:delete
字典项分页列表GET/api/v1/dicts/{dictCode}/items-
字典项下拉选项GET/api/v1/dicts/{dictCode}/items/options-
新增字典项POST/api/v1/dicts/{dictCode}/itemssys:dict:update
获取字典项表单GET/api/v1/dicts/{dictCode}/items/{itemId}/formsys:dict:update
修改字典项PUT/api/v1/dicts/{dictCode}/items/{itemId}sys:dict:update
删除字典项DELETE/api/v1/dicts/{dictCode}/items/{itemIds}sys:dict:delete

3.6 系统配置

接口标题HTTP 方法接口路径权限标识
配置分页列表GET/api/v1/configssys:config:list
新增系统配置POST/api/v1/configssys:config:create
获取配置表单数据GET/api/v1/configs/{id}/form-
修改系统配置PUT/api/v1/configs/{id}sys:config:update
删除系统配置DELETE/api/v1/configs/{id}sys:config:delete
刷新配置缓存PUT/api/v1/configs/refreshsys:config:refresh

3.7 通知公告

接口标题HTTP 方法接口路径权限标识
通知公告分页列表GET/api/v1/noticessys:notice:list
获取我的通知GET/api/v1/notices/my-
新增通知公告POST/api/v1/noticessys:notice:create
获取通知表单数据GET/api/v1/notices/{id}/formsys:notice:update
获取通知详情GET/api/v1/notices/{id}/detail-
修改通知公告PUT/api/v1/notices/{id}sys:notice:update
发布通知公告PUT/api/v1/notices/{id}/publishsys:notice:publish
撤回通知公告PUT/api/v1/notices/{id}/revokesys:notice:revoke
删除通知公告DELETE/api/v1/notices/{ids}sys:notice:delete
全部标记已读PATCH/api/v1/notices/read/all-
批量标记已读PATCH/api/v1/notices/read-

3.8 系统日志

接口标题HTTP 方法接口路径权限标识
日志分页列表GET/api/v1/logssys:log:list
清空日志DELETE/api/v1/logssys:log:delete
导出日志GET/api/v1/logs/exportsys:log:export

四、平台服务

4.1 文件服务

接口标题HTTP 方法接口路径说明
文件上传POST/api/v1/files支持图片、文档、视频等
文件删除DELETE/api/v1/files根据文件路径删除

4.2 WebSocket

接口标题协议接口路径说明
WebSocket 连接WS/ws实时消息推送

五、分页查询规范

5.1 分页参数

请求参数

  • pageNum: 页码(从 1 开始)
  • pageSize: 每页条数

示例

bash
GET /api/v1/users?pageNum=1&pageSize=10

5.2 分页响应格式

json
{
  "code": "00000",
  "msg": "一切ok",
  "data": [],
  "page": {
    "pageNum": 1,
    "pageSize": 10,
    "total": 100
  }
}

六、在线文档

各后端提供 Swagger 在线接口文档:

后端文档地址
Java/doc.html
Node/api
Go/swagger/index.html
Python/swagger
PHP/swagger
.NET/swagger

七、模块导航

认证模块

系统管理

文件服务

基于 MIT 许可发布