超腾开源平台系统模块

2026-01-07 超腾开源 41 次阅读 0 次点赞
本文档详细介绍了系统模块的核心功能与接口规范。系统模块提供用户、角色、菜单、权限、组织机构、应用、系统参数、业务字典和日志管理等基础功能。主要内容包括:用户登录与验证码机制,用户、角色、菜单、权限、组织机构、应用、系统参数和业务字典的增删改查及分页列表接口,以及系统日志、API日志和错误日志的管理。文档明确了各接口的地址、认证要求、请求参数和响应格式,并提供了Python和JavaScript的调用示例。所有重要操作均受权限控制,关键数据如密码被加密处理,且操作留有日志记录。

系统模块提供用户、角色、菜单、权限、组织机构、应用、系统参数、业务字典、日志管理等系统核心功能。

目录


登录

用户登录获取访问令牌

带验证码的令牌登录,获取访问令牌。

接口地址: POST /api/system/login/access-token

需要认证: 否

请求体:

{
  "username": "string",
  "password": "string",
  "captcha_key": "string",
  "captcha_value": "string"
}

请求字段说明:

字段 类型 必填 说明
username string 用户名
password string 密码
captcha_key string 验证码 key
captcha_value string 验证码值

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "登录成功",
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "token_type": "bearer"
  }
}

使用 Token:

Authorization: Bearer {access_token}

刷新访问令牌

刷新访问令牌,需要携带有效的旧令牌。

接口地址: POST /api/system/login/refresh-token

需要认证: 是

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "刷新成功",
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "token_type": "bearer"
  }
}

验证码

生成验证码

生成图形验证码。

接口地址: POST /api/system/captcha/generate

需要认证: 否

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "验证码生成成功",
  "data": {
    "id": "string",
    "captcha_key": "string",
    "captcha_value": "string",
    "image_base64": "data:image/png;base64,..."
  }
}

验证验证码

验证验证码是否正确。

接口地址: POST /api/system/captcha/verify

需要认证: 否

请求体:

{
  "captcha_key": "string",
  "captcha_value": "string"
}

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "验证成功",
  "data": true
}

用户管理

获取当前用户信息

获取当前登录用户的详细信息。

接口地址: GET /api/system/users/me

需要认证: 是

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": "1",
    "username": "admin",
    "nickname": "管理员",
    "email": "admin@example.com",
    "is_active": true,
    "is_superuser": true,
    "role_id": "1",
    "role_name": "超级管理员"
  }
}

获取用户列表

获取用户列表,支持多条件筛选。

接口地址: GET /api/system/users/list

需要认证: 是

请求参数:

参数 类型 必填 说明
username string 用户名
nickname string 昵称
sex string 性别
email string 邮箱
phone string 手机号
is_active boolean 是否激活
role_id int 角色 ID
is_superuser boolean 是否超级用户
order string 排序

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "操作成功",
  "data": [
    {
      "id": "1",
      "username": "admin",
      "nickname": "管理员",
      "email": "admin@example.com"
    }
  ]
}

获取用户分页

获取用户分页数据。

接口地址: GET /api/system/users/page

需要认证: 是

请求参数:

参数 类型 必填 说明 默认值
page int 页码 1
page_size int 每页条数 10
username string 用户名 -
nickname string 昵称 -
其他筛选参数同列表接口 -
order string 排序 -

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "操作成功",
  "data": {
    "total": 100,
    "size": 10,
    "pages": 10,
    "current": 1,
    "records": [
      {
        "id": "1",
        "username": "admin",
        "nickname": "管理员"
      }
    ],
    "orders": []
  }
}

创建用户

创建新用户。

接口地址: POST /api/system/users/create

需要认证: 是

请求体:

{
  "username": "newuser",
  "nickname": "新用户",
  "password": "password123",
  "email": "newuser@example.com",
  "phone": "13800138000",
  "role_id": "2",
  "is_active": true
}

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "创建成功",
  "data": {
    "id": "101",
    "username": "newuser",
    "nickname": "新用户"
  }
}

更新用户

更新用户信息。

接口地址: POST /api/system/users/update

需要认证: 是

请求体: 同创建用户,需包含 id 字段。

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "更新成功",
  "data": {
    "id": "1",
    "username": "admin",
    "nickname": "管理员"
  }
}

更新当前用户信息

更新当前登录用户的信息。

接口地址: POST /api/system/users/update_me

需要认证: 是

请求体: 仅可更新昵称、邮箱、手机号等基本信息。

修改密码

当前用户修改自己的密码。

接口地址: POST /api/system/users/change_password

需要认证: 是

请求体:

{
  "old_password": "oldpass123",
  "new_password": "newpass123",
  "confirm_password": "newpass123",
  "captcha_code": "1234",
  "captcha_key": "key"
}

重置用户密码

管理员重置指定用户的密码。

接口地址: POST /api/system/users/reset_password

需要认证: 是(需要管理员权限)

请求体:

{
  "user_id": "101",
  "new_password": "newpass123"
}

删除用户

删除用户(逻辑删除)。

接口地址: POST /api/system/users/delete

需要认证: 是(需要管理员权限)

请求参数:

参数 类型 必填 说明
id string 用户 ID

批量创建机器人用户

批量创建机器人用户,用于测试或数据填充。

接口地址: POST /api/system/users/create_bots

需要认证: 是(需要管理员权限)

请求体:

{
  "count": 10
}

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "创建完成",
  "data": {
    "total": 10,
    "success_count": 10,
    "failed_count": 0,
    "created_users": [...],
    "errors": []
  }
}

角色管理

获取角色列表

接口地址: GET /api/system/roles/list

需要认证: 是

请求参数:

参数 类型 必填 说明
name string 角色名
description string 描述
is_active boolean 是否激活
order string 排序

获取角色分页

接口地址: GET /api/system/roles/page

需要认证: 是

请求参数:

参数 类型 必填 说明 默认值
page int 页码 1
page_size int 每页条数 10
其他筛选参数同列表接口 -

创建角色

接口地址: POST /api/system/roles/create

需要认证: 是(需要超级管理员权限)

请求体:

{
  "name": "编辑",
  "description": "内容编辑角色",
  "permissions": "blog:create,blog:update",
  "is_active": true
}

更新角色

接口地址: POST /api/system/roles/update

需要认证: 是(需要超级管理员权限)

请求体: 同创建角色,需包含 id 字段。

删除角色

接口地址: POST /api/system/roles/delete

需要认证: 是(需要超级管理员权限)


菜单管理

获取菜单树

获取菜单的树形结构,用于前端渲染菜单。

接口地址: GET /api/system/menus/tree

需要认证: 是

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "操作成功",
  "data": [
    {
      "id": "1",
      "name": "系统管理",
      "path": "/system",
      "type": "M",
      "children": [
        {
          "id": "11",
          "name": "用户管理",
          "path": "/system/users",
          "type": "C",
          "children": []
        }
      ]
    }
  ]
}

获取用户菜单

获取当前用户有权限访问的菜单。

接口地址: GET /api/system/menus/user-menus

需要认证: 是

响应示例: 同菜单树结构。

获取菜单列表

接口地址: GET /api/system/menus/list

需要认证: 是

请求参数:

参数 类型 必填 说明
name string 菜单名
path string 路径
type string 类型
is_visible boolean 是否可见
status boolean 状态
order string 排序

获取菜单分页

接口地址: GET /api/system/menus/page

需要认证: 是

创建菜单

接口地址: POST /api/system/menus/create

需要认证: 是

请求体:

{
  "name": "测试菜单",
  "path": "/test",
  "component": "test/index",
  "type": "C",
  "perms": "test:read",
  "icon": "test",
  "sort": 100,
  "is_visible": true,
  "status": true
}

更新菜单

接口地址: POST /api/system/menus/update

需要认证: 是

删除菜单

接口地址: POST /api/system/menus/delete

需要认证: 是


权限管理

分配角色菜单权限

为角色分配菜单权限。

接口地址: POST /api/system/permissions/role-menus

需要认证: 是(需要超级管理员权限)

请求体:

{
  "role_id": "1",
  "menu_ids": ["1", "11", "111"]
}

分配角色组织权限

为角色分配组织权限。

接口地址: POST /api/system/permissions/role-organizations

需要认证: 是(需要超级管理员权限)

分配用户角色

为用户分配角色。

接口地址: POST /api/system/permissions/user-roles

需要认证: 是(需要超级管理员权限)

分配用户组织

为用户分配组织。

接口地址: POST /api/system/permissions/user-organizations

需要认证: 是(需要超级管理员权限)

获取角色菜单权限

获取角色的菜单权限列表。

接口地址: GET /api/system/permissions/role-menus/{role_id}

需要认证: 是

获取用户权限

获取用户的所有权限(菜单、角色、组织)。

接口地址: GET /api/system/permissions/user-permissions/{user_id}

需要认证: 是


组织机构管理

获取组织树

获取组织机构的树形结构。

接口地址: GET /api/system/organizations/tree

需要认证: 是

获取组织列表

接口地址: GET /api/system/organizations/list

需要认证: 是

获取组织分页

接口地址: GET /api/system/organizations/page

需要认证: 是

创建组织

接口地址: POST /api/system/organizations/create

需要认证: 是

请求体:

{
  "name": "技术部",
  "parent_id": "1",
  "code": "TECH",
  "sort": 100,
  "leader": "张三",
  "phone": "13800138000",
  "email": "tech@example.com",
  "status": true,
  "description": "技术研发部门"
}

更新组织

接口地址: POST /api/system/organizations/update

需要认证: 是

删除组织

接口地址: POST /api/system/organizations/delete

需要认证: 是


应用管理

获取应用列表

接口地址: GET /api/system/apps/list

需要认证: 是

获取应用分页

接口地址: GET /api/system/apps/page

需要认证: 是

创建应用

接口地址: POST /api/system/apps/create

需要认证: 是(需要超级管理员权限)

请求体:

{
  "name": "超腾论文",
  "app_id": "hylab-paper",
  "app_secret": "secret123",
  "description": "学术论文管理平台",
  "version": "1.0.0",
  "logo_url": "https://example.com/logo.png",
  "status": "active"
}

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "创建成功",
  "data": {
    "id": "1",
    "name": "超腾论文",
    "app_id": "hylab-paper",
    "app_secret": "****", // 敏感信息会被隐藏
    "version": "1.0.0"
  }
}

更新应用

接口地址: POST /api/system/apps/update

需要认证: 是(需要超级管理员权限)

删除应用

接口地址: POST /api/system/apps/delete

需要认证: 是(需要超级管理员权限)


系统参数管理

获取系统参数值

根据参数编码获取单个系统参数值。

接口地址: GET /api/system/sys-params/value

需要认证: 是

请求参数:

参数 类型 必填 说明
code string 参数编码

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "操作成功",
  "data": "value123"
}

批量获取系统参数值

批量获取多个系统参数的值。

接口地址: GET /api/system/sys-params/values

需要认证: 是

请求参数:

参数 类型 必填 说明
codes string 参数编码列表,逗号分隔

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "操作成功",
  "data": {
    "site_title": "超腾开源平台",
    "site_keywords": "开源,平台,开发",
    "site_description": "一个完整的开源平台解决方案"
  }
}

获取系统参数列表

接口地址: GET /api/system/sys-params/list

需要认证: 是

获取系统参数分页

接口地址: GET /api/system/sys-params/page

需要认证: 是

创建系统参数

接口地址: POST /api/system/sys-params/create

需要认证: 是(需要管理员权限)

请求体:

{
  "code": "site.title",
  "name": "网站标题",
  "value": "超腾开源平台",
  "description": "网站的标题",
  "is_system": false,
  "is_enabled": true
}

更新系统参数

接口地址: POST /api/system/sys-params/update

需要认证: 是(需要管理员权限)

删除系统参数

接口地址: POST /api/system/sys-params/delete

需要认证: 是(需要超级管理员权限)


业务字典管理

获取字典类型列表

接口地址: GET /api/system/dicts/types/list

需要认证: 是

获取字典类型及其字典项

获取字典类型及其下的所有字典项。

接口地址: GET /api/system/dicts/types/items

需要认证: 是

请求参数:

参数 类型 必填 说明
type_code string 字典类型编码,不传则返回所有

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "操作成功",
  "data": [
    {
      "id": "1",
      "code": "user_sex",
      "name": "用户性别",
      "items": [
        {
          "id": "11",
          "code": "male",
          "name": "男",
          "value": "1"
        },
        {
          "id": "12",
          "code": "female",
          "name": "女",
          "value": "2"
        }
      ]
    }
  ]
}

创建字典类型

接口地址: POST /api/system/dicts/types/create

需要认证: 是(需要管理员权限)

请求体:

{
  "code": "blog_status",
  "name": "博客状态",
  "description": "博客的状态类型",
  "is_system": true,
  "is_enabled": true
}

创建字典项

接口地址: POST /api/system/dicts/items/create

需要认证: 是(需要管理员权限)

请求体:

{
  "type_id": "1",
  "code": "draft",
  "name": "草稿",
  "value": "0",
  "sort": 1,
  "is_default": true,
  "is_enabled": true
}

更新字典类型

接口地址: POST /api/system/dicts/types/update

需要认证: 是(需要管理员权限)

更新字典项

接口地址: POST /api/system/dicts/items/update

需要认证: 是(需要管理员权限)

删除字典类型

接口地址: POST /api/system/dicts/types/delete

需要认证: 是(需要超级管理员权限)

删除字典项

接口地址: POST /api/system/dicts/items/delete

需要认证: 是(需要管理员权限)


日志管理

获取系统日志列表

接口地址: GET /api/system/logs/system/list

需要认证: 是(需要管理员权限)

请求参数:

参数 类型 必填 说明
module string 模块
operation_type string 操作类型
level string 日志等级
user_id string 用户 ID
start_time string 开始时间
end_time string 结束时间
order string 排序

获取系统日志分页

接口地址: GET /api/system/logs/system/page

需要认证: 是(需要管理员权限)

清空系统日志

接口地址: POST /api/system/logs/system/clear

需要认证: 是(需要超级管理员权限)

获取 API 日志列表

接口地址: GET /api/system/logs/api/list

需要认证: 是(需要管理员权限)

获取 API 日志分页

接口地址: GET /api/system/logs/api/page

需要认证: 是(需要管理员权限)

清空 API 日志

接口地址: POST /api/system/logs/api/clear

需要认证: 是(需要超级管理员权限)

获取错误日志列表

接口地址: GET /api/system/logs/error/list

需要认证: 是(需要管理员权限)

获取错误日志分页

接口地址: GET /api/system/logs/error/page

需要认证: 是(需要管理员权限)

创建错误日志

接口地址: POST /api/system/logs/error/create

需要认证: 是

请求体:

{
  "module": "blog",
  "request_method": "POST",
  "request_path": "/api/content/blogs/create",
  "error_type": "ValidationError",
  "error_message": "Validation failed",
  "stack_trace": "Traceback..."
}

更新错误日志

接口地址: POST /api/system/logs/error/update

需要认证: 是(需要管理员权限)

删除错误日志

接口地址: POST /api/system/logs/error/delete

需要认证: 是(需要管理员权限)

清空错误日志

接口地址: POST /api/system/logs/error/clear

需要认证: 是(需要超级管理员权限)


使用示例

Python 示例

import requests

# 登录获取 token
response = requests.post(
    'http://localhost:8000/api/system/login/access-token',
    json={
        'username': 'admin',
        'password': 'password',
        'captcha_key': 'key',
        'captcha_value': '1234'
    }
)

if response.status_code == 200:
    data = response.json()
    if data['success']:
        token = data['data']['access_token']

        # 使用 token 访问用户列表
        users_response = requests.get(
            'http://localhost:8000/api/system/users/list',
            headers={'Authorization': f'Bearer {token}'}
        )

        if users_response.status_code == 200:
            users_data = users_response.json()
            print(users_data)

JavaScript 示例

// 登录获取 token
async function login(username, password, captchaKey, captchaValue) {
  const response = await fetch(
    "http://localhost:8000/api/system/login/access-token",
    {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        username,
        password,
        captcha_key: captchaKey,
        captcha_value: captchaValue,
      }),
    }
  );

  const data = await response.json();
  if (data.success) {
    return data.data.access_token;
  }
  throw new Error(data.msg);
}

// 使用 token 访问 API
async function getUsers(token) {
  const response = await fetch("http://localhost:8000/api/system/users/list", {
    headers: { Authorization: `Bearer ${token}` },
  });

  const data = await response.json();
  if (data.success) {
    return data.data;
  }
  throw new Error(data.msg);
}

注意事项

  1. 密码安全: 所有密码字段都会被加密存储,不会在 API 响应中返回明文密码。
  2. 权限控制: 某些操作需要特定的权限或超级管理员权限才能执行。
  3. 分页查询: 大量数据建议使用分页查询,避免一次性返回过多数据。
  4. 排序: 支持多字段排序,格式为 字段_排序方式,如 create_time_desc,name_asc
  5. 日志记录: 所有重要操作都会记录在系统日志中,便于审计和追踪。

相关文档

本文由人工编写,AI优化,转载请注明原文地址: 超腾开源平台系统模块

评论 (0)

发表评论

昵称:加载中...

暂无评论,快来发表第一条评论吧!