78 lines
2.9 KiB
HTML
Raw Normal View History

2025-11-28 17:39:54 +08:00
{% extends "base.html" %}
{% block title %}调用日志{% endblock %}
{% block content %}
<h3 class="mb-3">API 调用日志</h3>
<form class="row g-2 mb-3" method="get">
<div class="col-md-3">
{{ form.api_id.label(class="form-label") }}
{{ form.api_id(class="form-select") }}
</div>
<div class="col-md-2">
{{ form.success.label(class="form-label") }}
{{ form.success(class="form-select") }}
</div>
<div class="col-md-2">
{{ form.start_date.label(class="form-label") }}
{{ form.start_date(class="form-control", placeholder="YYYY-MM-DD") }}
</div>
<div class="col-md-2">
{{ form.end_date.label(class="form-label") }}
{{ form.end_date(class="form-control", placeholder="YYYY-MM-DD") }}
</div>
<div class="col-md-2 align-self-end">
<button class="btn btn-outline-secondary" type="submit">筛选</button>
</div>
</form>
<table class="table table-striped table-hover">
<thead>
<tr>
<th>API</th>
<th>请求时间</th>
<th>状态</th>
<th>HTTP</th>
<th>耗时(ms)</th>
<th>错误</th>
<th></th>
</tr>
</thead>
<tbody>
{% for log in logs %}
<tr>
<td>{{ log.api.name }}</td>
2025-11-28 18:43:11 +08:00
<td>{{ log.request_time|to_cst }}</td>
2025-11-28 17:39:54 +08:00
<td>
{% if log.success %}
<span class="badge bg-success">成功</span>
{% else %}
<span class="badge bg-danger">失败</span>
{% endif %}
</td>
<td>{{ log.http_status_code or '-' }}</td>
<td>{{ log.duration_ms or '-' }}</td>
<td class="text-truncate" style="max-width: 200px;">{{ log.error_message or '' }}</td>
<td><a class="btn btn-sm btn-outline-primary" href="{{ url_for('logs.log_detail', log_id=log.id) }}">详情</a></td>
</tr>
{% else %}
<tr><td colspan="7" class="text-center">暂无日志。</td></tr>
{% endfor %}
</tbody>
</table>
{% if pagination.pages > 1 %}
<nav>
<ul class="pagination">
{% if pagination.has_prev %}
2025-11-28 18:43:11 +08:00
<li class="page-item"><a class="page-link" href="{{ url_for('logs.list_logs', page=pagination.prev_num, per_page=pagination.per_page, **query_args) }}">上一页</a></li>
2025-11-28 17:39:54 +08:00
{% else %}
<li class="page-item disabled"><span class="page-link">上一页</span></li>
{% endif %}
<li class="page-item disabled"><span class="page-link">第 {{ pagination.page }} / {{ pagination.pages }} 页</span></li>
{% if pagination.has_next %}
2025-11-28 18:43:11 +08:00
<li class="page-item"><a class="page-link" href="{{ url_for('logs.list_logs', page=pagination.next_num, per_page=pagination.per_page, **query_args) }}">下一页</a></li>
2025-11-28 17:39:54 +08:00
{% else %}
<li class="page-item disabled"><span class="page-link">下一页</span></li>
{% endif %}
</ul>
</nav>
{% endif %}
{% endblock %}