release: v2.1 - Prompt管理系统、页脚优化、图标修复

新增功能:
- Prompt管理:后台新增Prompt模板管理功能
- 数据库迁移:新增prompt_templates表及默认数据
- 页脚优化:添加ICP备案号(浙ICP备2025154782号-1)和Microsoft Clarity统计
- 图标修复:详情页Material Icons替换为Emoji
- 标签显示:修复编辑页标签名称无法显示的问题

技术改进:
- 添加正则表达式提取标签名称
- 优化页脚样式和链接
- 完善增量部署文档

🚀 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Jowe
2025-12-30 00:45:39 +08:00
parent 9e47ebe749
commit 30b1ef75d6
10 changed files with 1890 additions and 99 deletions

View File

@@ -5,14 +5,6 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}ZJPB - 焦提示词 | AI工具导航{% endblock %}</title>
<!-- Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
<!-- Material Symbols -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" />
<style>
* {
margin: 0;
@@ -38,7 +30,7 @@
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
background: var(--bg-page);
color: var(--text-primary);
line-height: 1.6;
@@ -139,12 +131,12 @@
background: var(--bg-white);
}
.search-box .material-symbols-outlined {
.search-box .search-icon {
position: absolute;
left: 10px;
top: 50%;
transform: translateY(-50%);
font-size: 20px;
font-size: 16px;
color: var(--text-muted);
}
@@ -235,7 +227,7 @@
<div class="nav-left">
<a href="/" class="nav-logo">
<div class="nav-logo-icon">
<span class="material-symbols-outlined" style="font-size: 20px;">blur_on</span>
<span style="font-size: 20px;"></span>
</div>
<span>ZJPB</span>
</a>
@@ -247,7 +239,7 @@
</div>
<div class="nav-right">
<form action="/" method="get" class="search-box">
<span class="material-symbols-outlined">search</span>
<span class="search-icon">🔍</span>
<input type="text" name="q" placeholder="搜索 AI 工具..." value="{{ search_query or '' }}">
</form>
<a href="/admin/login" class="btn btn-secondary">登录</a>
@@ -263,16 +255,30 @@
<footer class="footer">
<div class="footer-container">
<div class="footer-text">
© 2023 ZJPB AI Directory. All rights reserved.
<div>© 2025 ZJPB - 焦提示词 | AI工具导航. All rights reserved.</div>
<div style="margin-top: 8px;">
<a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" style="color: var(--text-secondary); text-decoration: none;">
浙ICP备2025154782号-1
</a>
</div>
</div>
<div class="footer-links">
<a href="#">Twitter</a>
<a href="#">Discord</a>
<a href="#">Privacy Policy</a>
<a href="#">关于我们</a>
<a href="#">隐私政策</a>
<a href="#">用户协议</a>
</div>
</div>
</footer>
<!-- Microsoft Clarity 统计代码 -->
<script type="text/javascript">
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "uoa2j40sf0");
</script>
{% block extra_js %}{% endblock %}
</body>
</html>