Skip to content

Commit 49f83b0

Browse files
committed
新增:显示版本号
1 parent 7d57ad4 commit 49f83b0

4 files changed

Lines changed: 73 additions & 10 deletions

File tree

src/api/model_api.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from pydantic import BaseModel
66
import os
77
from src.utils.file_utils import select_directory
8+
from src.version.version import VERSION_STR, COMPANY, COPYRIGHT
89

910
class PathUpdate(BaseModel):
1011
path: str
@@ -74,4 +75,13 @@ async def select_directory_endpoint():
7475
path = await select_directory()
7576
return {"path": path}
7677

78+
@app.get("/api/version")
79+
async def get_version():
80+
"""获取应用版本信息"""
81+
return {
82+
"version": VERSION_STR,
83+
"company": COMPANY,
84+
"copyright": COPYRIGHT
85+
}
86+
7787
return app

templates/index.html

Lines changed: 44 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,20 +48,54 @@ <h5 class="modal-title" id="settingsModalLabel">设置</h5>
4848
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
4949
</div>
5050
<div class="modal-body">
51-
<div class="mb-3">
52-
<label class="form-label" for="pathInput">模型目录</label>
53-
<div class="input-group">
54-
<input type="text" class="form-control text-muted" id="pathInput" readonly placeholder="请选择模型目录">
55-
<button class="btn btn-outline-secondary" id="selectPath" type="button">
56-
<i class="bi bi-folder2-open"></i> 浏览
51+
<!-- 标签页导航 -->
52+
<ul class="nav nav-tabs mb-3" id="settingsTabs" role="tablist">
53+
<li class="nav-item" role="presentation">
54+
<button class="nav-link active" id="path-tab" data-bs-toggle="tab" data-bs-target="#path-tab-pane" type="button" role="tab">
55+
<i class="bi bi-folder2"></i> 路径设置
5756
</button>
57+
</li>
58+
<li class="nav-item" role="presentation">
59+
<button class="nav-link" id="about-tab" data-bs-toggle="tab" data-bs-target="#about-tab-pane" type="button" role="tab">
60+
<i class="bi bi-info-circle"></i> 关于
61+
</button>
62+
</li>
63+
</ul>
64+
65+
<!-- 标签页内容 -->
66+
<div class="tab-content" id="settingsTabContent">
67+
<!-- 路径设置标签页 -->
68+
<div class="tab-pane fade show active" id="path-tab-pane" role="tabpanel" tabindex="0">
69+
<div class="mb-3">
70+
<label class="form-label" for="pathInput">模型目录</label>
71+
<div class="input-group">
72+
<input type="text" class="form-control text-muted" id="pathInput" readonly placeholder="请选择模型目录">
73+
<button class="btn btn-outline-secondary" id="selectPath" type="button">
74+
<i class="bi bi-folder2-open"></i> 浏览
75+
</button>
76+
</div>
77+
</div>
78+
<div class="d-flex justify-content-end gap-2 mt-4">
79+
<button type="button" class="btn btn-primary" id="scanModels" data-bs-dismiss="modal">扫描模型</button>
80+
</div>
81+
</div>
82+
83+
<!-- 关于标签页 -->
84+
<div class="tab-pane fade" id="about-tab-pane" role="tabpanel" tabindex="0">
85+
<div class="text-center py-3">
86+
<img src="/static/favicon.svg" alt="logo" height="64" class="mb-3">
87+
<h5>SD Models Manager</h5>
88+
<p class="text-muted mb-3">版本 <span id="appVersion"></span></p>
89+
<p class="mb-2">
90+
<a href="https://github.com/c1921" target="_blank" class="text-decoration-none">
91+
<i class="bi bi-github"></i> GitHub
92+
</a>
93+
</p>
94+
<small class="text-muted">MIT 开源许可 - 版权所有 (c) 2025</small>
95+
</div>
5896
</div>
5997
</div>
6098
</div>
61-
<div class="modal-footer">
62-
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">关闭</button>
63-
<button type="button" class="btn btn-primary" id="scanModels" data-bs-dismiss="modal">扫描模型</button>
64-
</div>
6599
</div>
66100
</div>
67101
</div>

templates/js/api.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ const api = {
4141
// 创建扫描事件源
4242
createScanEventSource() {
4343
return new EventSource(`${API_BASE}/scan`);
44+
},
45+
46+
// 获取版本信息
47+
async getVersion() {
48+
const response = await fetch(`${API_BASE}/version`);
49+
if (!response.ok) throw new Error('获取版本信息失败');
50+
return await response.json();
4451
}
4552
};
4653

templates/js/main.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,15 @@ document.addEventListener('nsfwStateChanged', (e) => {
107107
// 页面加载时初始化
108108
loadConfig();
109109
loadModels();
110+
111+
// 加载版本信息
112+
async function loadVersion() {
113+
try {
114+
const versionInfo = await api.getVersion();
115+
document.getElementById('appVersion').textContent = versionInfo.version;
116+
} catch (err) {
117+
console.error('加载版本信息失败:', err);
118+
}
119+
}
120+
121+
loadVersion();

0 commit comments

Comments
 (0)