后端: - ExecuteQuery 添加 limit/offset 参数,MySQL 自动注入 LIMIT/OFFSET - 首页自动 COUNT 查总数(total),翻页页不再重复 count - 新增 POST /query/export 流式 CSV 导出端点,游标分批写不占内存 - 默认 limit=100, max=1000,防止大数据量 OOM 前端: - 查询结果加分页控件(首页/上一页/下一页/末页 + 每页条数选择) - CSV 导出改走流式端点(全量数据),不限于当前页 - 去掉复制按钮(Copy/Check/coped state),Redis 单值也不显示复制 - 工具栏显示 总行数/行每页/列数
16 lines
522 B
TypeScript
16 lines
522 B
TypeScript
import request from './request';
|
|
|
|
export const queryApi = {
|
|
execute: (data: { instance_id: number; database?: string; sql: string; limit?: number; offset?: number }) =>
|
|
request.post<any, any>('/query', data),
|
|
|
|
formatSQL: (sql: string) =>
|
|
request.post<any, any>('/sql-assistant/format', { sql }),
|
|
|
|
analyzeSQL: (sql: string, db_type: string) =>
|
|
request.post<any, any>('/sql-assistant/analyze', { sql, db_type }),
|
|
|
|
getDBTypeDetail: (dbType: string) =>
|
|
request.get<any, any>('/db-types/' + dbType),
|
|
};
|