Spaces:
Running
Running
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">
|