Spaces:
Paused
Paused
Upload 3 files
Browse files- app.py +5 -16
- templates/dashboard.html +33 -4
app.py
CHANGED
|
@@ -55,22 +55,11 @@ total_tokens = {
|
|
| 55 |
"total": 0 # 总token统计
|
| 56 |
}
|
| 57 |
|
| 58 |
-
# 计算点信息
|
| 59 |
-
compute_points = []
|
| 60 |
-
|
| 61 |
-
#
|
| 62 |
-
|
| 63 |
-
# "used": 0, # 已使用计算点
|
| 64 |
-
# "percentage": 0, # 使用百分比
|
| 65 |
-
# "last_update": None # 最后更新时间
|
| 66 |
-
# }
|
| 67 |
-
|
| 68 |
-
# 计算点使用日志 (现在是列表)
|
| 69 |
-
compute_points_log = []
|
| 70 |
-
# {
|
| 71 |
-
# "columns": {}, # 列名
|
| 72 |
-
# "log": [] # 日志数据
|
| 73 |
-
# }
|
| 74 |
|
| 75 |
|
| 76 |
# 记录启动时间
|
|
|
|
| 55 |
"total": 0 # 总token统计
|
| 56 |
}
|
| 57 |
|
| 58 |
+
# 计算点信息
|
| 59 |
+
compute_points = [] # 初始化为列表,用于存储多个用户的计算点
|
| 60 |
+
|
| 61 |
+
# 计算点使用日志
|
| 62 |
+
compute_points_log = [] # 初始化为列表,用于存储多个用户的日志
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
|
| 64 |
|
| 65 |
# 记录启动时间
|
templates/dashboard.html
CHANGED
|
@@ -660,26 +660,34 @@
|
|
| 660 |
</div>
|
| 661 |
</div>
|
| 662 |
|
|
|
|
|
|
|
| 663 |
<div class="card">
|
| 664 |
<div class="card-header">
|
| 665 |
<h2 class="card-title">
|
| 666 |
<span class="card-icon">📊</span>
|
| 667 |
-
计算点使用日志
|
| 668 |
</h2>
|
| 669 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 670 |
<div class="table-container">
|
| 671 |
<table class="data-table">
|
| 672 |
<thead>
|
| 673 |
<tr>
|
| 674 |
-
{% for key, value in
|
| 675 |
<th>{{ value }}</th>
|
| 676 |
{% endfor %}
|
| 677 |
</tr>
|
| 678 |
</thead>
|
| 679 |
<tbody>
|
| 680 |
-
{% for entry in
|
| 681 |
<tr>
|
| 682 |
-
{% for key, value in
|
| 683 |
<td class="compute-points">{{ entry.get(key, 0) }}</td>
|
| 684 |
{% endfor %}
|
| 685 |
</tr>
|
|
@@ -687,7 +695,28 @@
|
|
| 687 |
</tbody>
|
| 688 |
</table>
|
| 689 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 690 |
</div>
|
|
|
|
| 691 |
|
| 692 |
<div class="card">
|
| 693 |
<div class="card-header">
|
|
|
|
| 660 |
</div>
|
| 661 |
</div>
|
| 662 |
|
| 663 |
+
{% if compute_points_log %}
|
| 664 |
+
{% for user_log in compute_points_log %}
|
| 665 |
<div class="card">
|
| 666 |
<div class="card-header">
|
| 667 |
<h2 class="card-title">
|
| 668 |
<span class="card-icon">📊</span>
|
| 669 |
+
用户 {{ loop.index }} 计算点使用日志
|
| 670 |
</h2>
|
| 671 |
</div>
|
| 672 |
+
{% if user_log.error %}
|
| 673 |
+
<div class="status-item">
|
| 674 |
+
<span class="status-label">错误</span>
|
| 675 |
+
<span class="status-value danger">获取日志失败: {{ user_log.error }}</span>
|
| 676 |
+
</div>
|
| 677 |
+
{% elif user_log.log %}
|
| 678 |
<div class="table-container">
|
| 679 |
<table class="data-table">
|
| 680 |
<thead>
|
| 681 |
<tr>
|
| 682 |
+
{% for key, value in user_log.columns.items() %}
|
| 683 |
<th>{{ value }}</th>
|
| 684 |
{% endfor %}
|
| 685 |
</tr>
|
| 686 |
</thead>
|
| 687 |
<tbody>
|
| 688 |
+
{% for entry in user_log.log %}
|
| 689 |
<tr>
|
| 690 |
+
{% for key, value in user_log.columns.items() %}
|
| 691 |
<td class="compute-points">{{ entry.get(key, 0) }}</td>
|
| 692 |
{% endfor %}
|
| 693 |
</tr>
|
|
|
|
| 695 |
</tbody>
|
| 696 |
</table>
|
| 697 |
</div>
|
| 698 |
+
{% else %}
|
| 699 |
+
<div class="status-item">
|
| 700 |
+
<span class="status-label">状态</span>
|
| 701 |
+
<span class="status-value">暂无日志记录</span>
|
| 702 |
+
</div>
|
| 703 |
+
{% endif %}
|
| 704 |
+
</div>
|
| 705 |
+
{% endfor %}
|
| 706 |
+
{% else %}
|
| 707 |
+
<div class="card">
|
| 708 |
+
<div class="card-header">
|
| 709 |
+
<h2 class="card-title">
|
| 710 |
+
<span class="card-icon">📊</span>
|
| 711 |
+
计算点使用日志
|
| 712 |
+
</h2>
|
| 713 |
+
</div>
|
| 714 |
+
<div class="status-item">
|
| 715 |
+
<span class="status-label">状态</span>
|
| 716 |
+
<span class="status-value warning">暂无日志数据或未配置用户</span>
|
| 717 |
+
</div>
|
| 718 |
</div>
|
| 719 |
+
{% endif %}
|
| 720 |
|
| 721 |
<div class="card">
|
| 722 |
<div class="card-header">
|