v2.6.0 历史分页+筛选+搜索+表头升降排序;一键清空历史(DELETE /api/tests);右下角置顶/置底悬浮按钮
This commit is contained in:
@@ -148,11 +148,30 @@ def start_test():
|
||||
|
||||
@app.route("/api/tests", methods=["GET"])
|
||||
def list_tests():
|
||||
"""历史记录列表:支持关键词搜索 q、状态 status(逗号多选)、提供商 provider、
|
||||
字段排序 sort/order、分页 page/page_size"""
|
||||
try:
|
||||
limit = int(request.args.get("limit", 100))
|
||||
page = max(1, int(request.args.get("page", 1)))
|
||||
page_size = min(100, max(1, int(request.args.get("page_size", 20))))
|
||||
except ValueError:
|
||||
limit = 100
|
||||
return jsonify(db.list_tests(max(1, min(limit, 1000))))
|
||||
page, page_size = 1, 20
|
||||
q = (request.args.get("q") or "").strip()
|
||||
status = (request.args.get("status") or "").strip()
|
||||
provider = (request.args.get("provider") or "").strip()
|
||||
sort = (request.args.get("sort") or "id").strip()
|
||||
order = (request.args.get("order") or "desc").strip().lower()
|
||||
if order not in ("asc", "desc"):
|
||||
order = "desc"
|
||||
data = db.query_tests(q=q, status=status, provider=provider,
|
||||
sort=sort, order=order, page=page, page_size=page_size)
|
||||
return jsonify({"ok": True, **data})
|
||||
|
||||
|
||||
@app.route("/api/tests", methods=["DELETE"])
|
||||
def clear_tests():
|
||||
"""一键清空全部测试历史(含采样指标与日志)"""
|
||||
db.clear_tests()
|
||||
return jsonify({"ok": True})
|
||||
|
||||
|
||||
@app.route("/api/tests/<int:tid>", methods=["GET"])
|
||||
|
||||
Reference in New Issue
Block a user