对号 jo!
  1. 四、开发说明
对号 jo!
  • 一、项目说明
  • 二、接口说明
  • 三、应用模块接口
    • 3.1 系统相关API
    • 3.2 网盘文件API
    • 3.3 媒体相关API
    • 3.4 资源相关API
    • 3.5 用户相关API
    • 3.6 分享管理API
  • 四、开发说明
    • 4.1 技术开发总述
    • 4.2 通用数据库接口说明
    • 4.3 前端 API 调用示例
    • 4.3 后端API实现
  1. 四、开发说明

4.2 通用数据库接口说明

本部分为API接口中数据库操作类接口说明和示例,您可以参考实现前端对数据库的灵活操作能力,通用数据库接口操作禁止对系统类数据表进行操作,请依据实际需要在保证安全情况下编写相关代码。

2.1 表结构操作#

2.1.1 创建数据表#

URL: /db/create-table
方法: POST
参数:
table_name (字符串,表名)
table_schema (字符串,表结构定义)
请求示例:
{
  "table_name": "users",
  "table_schema": "id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, email TEXT UNIQUE, password TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP"
}
返回数据: 成功时返回 {"code": 200, "message": "创建成功", "data": null}

2.1.2 修改数据表结构#

URL: /db/alter-table
方法: POST
参数:
table_name (字符串,表名)
alter_schema (字符串,修改语句)
请求示例:
{
  "table_name": "users",
  "alter_schema": "ADD COLUMN phone TEXT"
}
返回数据: 成功时返回 {"code": 200, "message": "修改成功", "data": null}

2.1.3 删除数据表#

URL: /db/drop-table
方法: POST
参数:
table_name (字符串,表名)
请求示例:
{
  "table_name": "users"
}
返回数据: 成功时返回 {"code": 200, "message": "删除成功", "data": null}

2.2 记录操作#

2.2.1 创建单条记录#

URL: /db/create-record
方法: POST
参数:
table_name (字符串,表名)
fields (字符串,字段列表)
values (字符串,值列表)
请求示例:
{
  "table_name": "users",
  "fields": "username, email, password",
  "values": "'admin', 'admin@example.com', 'password123'"
}
返回数据: 成功时返回 {"code": 200, "message": "创建成功", "data": null}

2.2.2 删除记录#

URL: /db/delete-record
方法: POST
参数:
table_name (字符串,表名)
condition (字符串,删除条件)
请求示例:
{
  "table_name": "users",
  "condition": "id = 1"
}
返回数据: 成功时返回 {"code": 200, "message": "删除成功", "data": null}

2.2.3 更新记录#

URL: /db/update-record
方法: POST
参数:
table_name (字符串,表名)
update_content (字符串,更新内容)
condition (字符串,更新条件)
请求示例:
{
  "table_name": "users",
  "update_content": "username = 'admin123', email = 'admin123@example.com'",
  "condition": "id = 1"
}
返回数据: 成功时返回 {"code": 200, "message": "更新成功", "data": null}

2.2.4 查询单条记录#

URL: /db/get-single-record
方法: POST
参数:
table_name (字符串,表名)
fields (字符串,字段列表)
condition (字符串,查询条件)
请求示例:
{
  "table_name": "users",
  "fields": "id, username, email",
  "condition": "id = 1"
}
返回数据: 成功时返回 {"code": 200, "message": "查询成功", "data": {"id": "1", "username": "admin", "email": "admin@example.com"}}

2.2.5 分页查询记录#

URL: /db/get-page-record
方法: POST
参数:
table_name (字符串,表名)
fields (字符串,字段列表)
condition (字符串,查询条件)
page_num (整数,页码)
page_size (整数,每页大小)
order_by (字符串,排序字段)
last_rowid (可选,整数,上一页最后一条记录的 rowid)
请求示例:
{
  "table_name": "users",
  "fields": "id, username, email, created_at",
  "condition": "username LIKE '%admin%'",
  "page_num": 1,
  "page_size": 10,
  "order_by": "created_at DESC"
}
返回数据: 成功时返回 {"code": 200, "message": "查询成功", "data": {"list": [{"id": "1", "username": "admin", "email": "admin@example.com", "created_at": "2024-01-01 00:00:00"}], "total": 1, "page_num": 1, "page_size": 10, "total_pages": 1, "next_cursor": 1}}

2.3 批量操作#

2.3.1 批量创建记录#

URL: /db/batch-create-record
方法: POST
参数:
table_name (字符串,表名)
fields (字符串,字段列表)
values_list (数组,值列表数组)
请求示例:
{
  "table_name": "users",
  "fields": "username, email, password",
  "values_list": [
    "'user1', 'user1@example.com', 'password1'",
    "'user2', 'user2@example.com', 'password2'",
    "'user3', 'user3@example.com', 'password3'"
  ]
}
返回数据: 成功时返回 {"code": 200, "message": "批量插入成功", "data": null}

2.3.2 批量删除记录#

URL: /db/batch-delete-record
方法: POST
参数:
table_name (字符串,表名)
primary_key (字符串,主键字段)
ids (数组,主键值数组)
请求示例:
{
  "table_name": "users",
  "primary_key": "id",
  "ids": ["1", "2", "3"]
}
返回数据: 成功时返回 {"code": 200, "message": "批量删除成功", "data": null}

2.3.3 批量更新记录#

URL: /db/batch-update-record
方法: POST
参数:
table_name (字符串,表名)
updates (数组,更新数据数组)
primary_key (字符串,主键字段)
请求示例:
{
  "table_name": "users",
  "primary_key": "id",
  "updates": [
    {"id": "1", "username": "admin1", "email": "admin1@example.com"},
    {"id": "2", "username": "user2_updated", "email": "user2_updated@example.com"}
  ]
}
返回数据: 成功时返回 {"code": 200, "message": "批量更新成功", "data": null}

2.4 高级查询与统计#

2.4.1 高级多条件查询#

URL: /db/advanced-query
方法: POST
参数:
table_name (字符串,表名)
fields (字符串,字段列表)
conditions (数组,条件数组)
order_by (字符串,排序字段)
page_num (整数,页码)
page_size (整数,每页大小)
请求示例:
{
  "table_name": "users",
  "fields": "id, username, email, created_at",
  "conditions": [
    {"field": "username", "op": "LIKE", "value": "admin"},
    {"field": "created_at", "op": ">", "value": "2024-01-01"}
  ],
  "order_by": "created_at DESC",
  "page_num": 1,
  "page_size": 10
}
返回数据: 成功时返回 {"code": 200, "message": "查询成功", "data": {"list": [{"id": "1", "username": "admin", "email": "admin@example.com", "created_at": "2024-01-01 00:00:00"}], "total": 1, "page_num": 1, "page_size": 10, "total_pages": 1, "next_cursor": 1}}

2.4.2 导出数据#

URL: /db/export
方法: POST
参数:
table_name (字符串,表名)
fields (字符串,字段列表)
condition (字符串,查询条件)
format (字符串,导出格式,csv 或 xlsx)
file_path (字符串,导出文件路径)
请求示例:
{
  "table_name": "users",
  "fields": "id, username, email, created_at",
  "condition": "created_at > '2024-01-01'",
  "format": "csv",
  "file_path": "D:/exports/users.csv"
}
返回数据: 成功时返回 {"code": 200, "message": "导出成功", "data": null}

2.4.3 分组统计#

URL: /db/group-by
方法: POST
参数:
table_name (字符串,表名)
group_field (字符串,分组字段)
agg_field (字符串,聚合字段)
agg_func (字符串,聚合函数,COUNT, SUM, AVG, MAX, MIN)
请求示例:
{
  "table_name": "users",
  "group_field": "created_at",
  "agg_field": "id",
  "agg_func": "COUNT"
}
返回数据: 成功时返回 {"code": 200, "message": "查询成功", "data": [{"group_value": "2024-01-01", "agg_value": "5"}, {"group_value": "2024-01-02", "agg_value": "3"}]}

2.4.4 时间范围统计#

URL: /db/time-range-stats
方法: POST
参数:
table_name (字符串,表名)
time_field (字符串,时间字段)
start_time (字符串,开始时间)
end_time (字符串,结束时间)
interval (字符串,时间间隔,hour, day, week, month)
请求示例:
{
  "table_name": "users",
  "time_field": "created_at",
  "start_time": "2024-01-01",
  "end_time": "2024-01-31",
  "interval": "day"
}
返回数据: 成功时返回 {"code": 200, "message": "查询成功", "data": [{"time_segment": "2024-01-01", "stats_value": 5}, {"time_segment": "2024-01-02", "stats_value": 3}]}

2.4.5 获取表结构信息#

URL: /db/table-info
方法: POST
参数:
table_name (字符串,表名)
请求示例:
{
  "table_name": "users"
}
返回数据: 成功时返回 {"code": 200, "message": "查询成功", "data": [{"cid": 0, "name": "id", "type": "INTEGER", "notnull": 1, "dflt_value": null, "pk": 1}, {"cid": 1, "name": "username", "type": "TEXT", "notnull": 1, "dflt_value": null, "pk": 0}]}
修改于 2026-01-21 21:10:44
上一页
4.1 技术开发总述
下一页
4.3 前端 API 调用示例
Built with